Trait slos_filesystem::FsFileHandle [−][src]
pub trait FsFileHandle: Debug {
fn raw_read(
&mut self,
offset: usize,
length: Option<usize>
) -> Result<Vec<u8>, FsError>;
fn raw_write(&mut self, offset: usize, data: &[u8]) -> Result<(), FsError>;
}Expand description
Read/write handle to a FsFile
Required methods
Try to read from the file
Attempts to read length bytes from the offset into the file.
If length is None, read from offset to the
end of the file.
If the file is write-only, this should return FsError::InvalidArgument.
If the file is only able to be read from as a stream (for example,
character devices such as terminals), in the case where offset is
non-zero and/or length is not None, this should
return FsError::InvalidArgument.
Try to write to the file
Attempts to write the data to the offset into the file, replacing
any existing content.
It is implementation-dependent whether this function will truncate the supplied data if it is too large to fit in the file (for example, block devices), however implementations should try to allocate more space on the physical filesystem and extend the file to fit the entire data.
If the file is read-only, this should return FsError::InvalidArgument.
If the file is only able to be written to as a stream (for example,
character devices such as terminals), in the case where offset is
non-zero, this should return FsError::InvalidArgument.