pub struct FileSystem {
pub storage: Box<dyn Storage>,
/* private fields */
}Expand description
The main class implementing the API to work with the file system.
Fields§
§storage: Box<dyn Storage>Implementations§
Source§impl FileSystem
impl FileSystem
pub fn new(storage: Box<dyn Storage>) -> Result<FileSystem, Error>
pub fn get_storage_version(&self) -> u32
pub fn root_fd(&self) -> u32
pub fn root_path(&self) -> &str
pub fn advice( &mut self, fd: u32, _offset: u64, _len: u64, _advice: Advice, ) -> Result<(), Error>
pub fn allocate( &mut self, fd: u32, _offset: u64, _additional_size: u64, ) -> Result<(), Error>
pub fn close(&mut self, fd: u32) -> Result<(), Error>
pub fn flush(&mut self, fd: u32) -> Result<(), Error>
pub fn renumber(&mut self, from: u32, to: u32) -> Result<(), Error>
pub fn mount_memory_file( &mut self, filename: &str, memory: Box<dyn Memory>, policy: MountedFileSizePolicy, ) -> Result<(), Error>
pub fn init_memory_file(&mut self, filename: &str) -> Result<(), Error>
pub fn store_memory_file(&mut self, filename: &str) -> Result<(), Error>
pub fn unmount_memory_file( &mut self, filename: &str, ) -> Result<Box<dyn Memory>, Error>
pub fn get_direntry(&self, fd: u32, index: u32) -> Result<DirEntry, Error>
pub fn with_direntries( &self, fd: u32, initial_index: Option<u32>, f: &mut dyn FnMut(&u32, &DirEntry) -> bool, ) -> Result<(), Error>
pub fn read(&mut self, fd: u32, dst: &mut [u8]) -> Result<u64, Error>
pub fn read_vec(&mut self, fd: u32, dst: &[DstBuf]) -> Result<u64, Error>
pub fn read_vec_with_offset( &mut self, fd: u32, dst: &[DstBuf], offset: u64, ) -> Result<u64, Error>
pub fn write(&mut self, fd: u32, src: &[u8]) -> Result<u64, Error>
pub fn write_vec(&mut self, fd: u32, src: &[SrcBuf]) -> Result<u64, Error>
pub fn write_vec_with_offset( &mut self, fd: u32, src: &[SrcBuf], offset: u64, ) -> Result<u64, Error>
pub fn seek( &mut self, fd: u32, delta: i64, whence: Whence, ) -> Result<u64, Error>
pub fn tell(&mut self, fd: u32) -> Result<u64, Error>
pub fn metadata_from_node(&self, node: u64) -> Result<Metadata, Error>
pub fn metadata(&self, fd: u32) -> Result<Metadata, Error>
pub fn set_metadata(&mut self, fd: u32, metadata: Metadata) -> Result<(), Error>
pub fn set_file_size(&mut self, fd: u32, new_size: u64) -> Result<(), Error>
pub fn set_file_size_limit( &mut self, fd: u32, max_size: u64, ) -> Result<(), Error>
pub fn set_accessed_time(&mut self, fd: u32, time: u64) -> Result<(), Error>
pub fn set_modified_time(&mut self, fd: u32, time: u64) -> Result<(), Error>
pub fn get_stat(&self, fd: u32) -> Result<(FileType, FdStat), Error>
pub fn set_stat(&mut self, fd: u32, stat: FdStat) -> Result<(), Error>
pub fn open_metadata( &mut self, parent: u32, path: &str, ) -> Result<Metadata, Error>
pub fn open( &mut self, parent_fd: u32, path: &str, stat: FdStat, flags: OpenFlags, ctime: u64, ) -> Result<u32, Error>
pub fn remove_file(&mut self, parent: u32, path: &str) -> Result<(), Error>
pub fn mkdir( &mut self, parent: u32, path: &str, stat: FdStat, ctime: u64, ) -> Result<(), Error>
pub fn create_open_directory( &mut self, parent: u32, path: &str, stat: FdStat, ctime: u64, ) -> Result<u32, Error>
pub fn remove_dir(&mut self, parent: u32, path: &str) -> Result<(), Error>
Sourcepub fn remove_recursive(&mut self, parent: u32, path: &str) -> Result<(), Error>
pub fn remove_recursive(&mut self, parent: u32, path: &str) -> Result<(), Error>
A convenience method to recursively remove a directory (and all subdirectories/files within) or delete a file, if the entry is a file.
pub fn create_hard_link( &mut self, old_fd: u32, old_path: &str, new_fd: u32, new_path: &str, ) -> Result<u32, Error>
pub fn rename( &mut self, old_fd: u32, old_path: &str, new_fd: u32, new_path: &str, ) -> Result<u32, Error>
Auto Trait Implementations§
impl !RefUnwindSafe for FileSystem
impl !Send for FileSystem
impl !Sync for FileSystem
impl !UnwindSafe for FileSystem
impl Freeze for FileSystem
impl Unpin for FileSystem
impl UnsafeUnpin for FileSystem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more