Struct TmpFileObject

Source
pub struct TmpFileObject {
    node: Arc<TmpNode>,
    position: RwLock<u64>,
    device_guard: Option<Arc<dyn Device>>,
}
Expand description

File object for TmpFS operations

TmpFileObject represents an open file or directory in TmpFS.

It maintains the current file position and, for device files, an optional device guard.

Fields§

§node: Arc<TmpNode>

Reference to the TmpNode

§position: RwLock<u64>

Current file position

§device_guard: Option<Arc<dyn Device>>

Optional device guard for device files

Implementations§

Source§

impl TmpFileObject

Source

pub fn new_regular(node: Arc<TmpNode>) -> Self

Create a new file object for regular files

Source

pub fn new_directory(node: Arc<TmpNode>) -> Self

Create a new file object for directories

Source

pub fn new_device(node: Arc<TmpNode>, info: DeviceFileInfo) -> Self

Create a new file object for device files

Source

fn read_device(&self, buffer: &mut [u8]) -> Result<usize, FileSystemError>

Source

fn read_regular_file(&self, buffer: &mut [u8]) -> Result<usize, FileSystemError>

Source

fn write_device(&self, buffer: &[u8]) -> Result<usize, FileSystemError>

Source

fn write_regular_file(&self, buffer: &[u8]) -> Result<usize, FileSystemError>

Trait Implementations§

Source§

impl FileObject for TmpFileObject

Source§

fn seek(&self, pos: SeekFrom) -> Result<u64, StreamError>

Seek to a position in the file stream
Source§

fn metadata(&self) -> Result<FileMetadata, StreamError>

Get metadata about the file
Source§

fn truncate(&self, size: u64) -> Result<(), StreamError>

Truncate the file to the specified size Read more
Source§

impl StreamOps for TmpFileObject

Source§

fn read(&self, buffer: &mut [u8]) -> Result<usize, StreamError>

Read data from the stream
Source§

fn write(&self, buffer: &[u8]) -> Result<usize, StreamError>

Write data to the stream

Auto Trait Implementations§

§

impl !Freeze for TmpFileObject

§

impl !RefUnwindSafe for TmpFileObject

§

impl Send for TmpFileObject

§

impl Sync for TmpFileObject

§

impl Unpin for TmpFileObject

§

impl !UnwindSafe for TmpFileObject

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.