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
impl TmpFileObject
Sourcepub fn new_regular(node: Arc<TmpNode>) -> Self
pub fn new_regular(node: Arc<TmpNode>) -> Self
Create a new file object for regular files
Sourcepub fn new_directory(node: Arc<TmpNode>) -> Self
pub fn new_directory(node: Arc<TmpNode>) -> Self
Create a new file object for directories
Sourcepub fn new_device(node: Arc<TmpNode>, info: DeviceFileInfo) -> Self
pub fn new_device(node: Arc<TmpNode>, info: DeviceFileInfo) -> Self
Create a new file object for device files
fn read_device(&self, buffer: &mut [u8]) -> Result<usize, FileSystemError>
fn read_regular_file(&self, buffer: &mut [u8]) -> Result<usize, FileSystemError>
fn write_device(&self, buffer: &[u8]) -> Result<usize, FileSystemError>
fn write_regular_file(&self, buffer: &[u8]) -> Result<usize, FileSystemError>
Trait Implementations§
Source§impl FileObject for TmpFileObject
impl FileObject for TmpFileObject
Source§fn seek(&self, pos: SeekFrom) -> Result<u64, StreamError>
fn seek(&self, pos: SeekFrom) -> Result<u64, StreamError>
Seek to a position in the file stream
Source§fn metadata(&self) -> Result<FileMetadata, StreamError>
fn metadata(&self) -> Result<FileMetadata, StreamError>
Get metadata about the file
Source§fn truncate(&self, size: u64) -> Result<(), StreamError>
fn truncate(&self, size: u64) -> Result<(), StreamError>
Truncate the file to the specified size Read more
Source§impl StreamOps for TmpFileObject
impl StreamOps for TmpFileObject
Source§fn read(&self, buffer: &mut [u8]) -> Result<usize, StreamError>
fn read(&self, buffer: &mut [u8]) -> Result<usize, StreamError>
Read data from the stream
Source§fn write(&self, buffer: &[u8]) -> Result<usize, StreamError>
fn write(&self, buffer: &[u8]) -> Result<usize, StreamError>
Write data to the stream