Skip to main content

Inode

Trait Inode 

Source
pub trait Inode:
    Send
    + Sync
    + Debug {
Show 16 methods // Required methods fn metadata(&self) -> Result<Metadata, VfsError>; fn set_metadata(&self, metadata: &Metadata) -> Result<(), VfsError>; fn node_type(&self) -> VNodeType; fn read_at(&self, offset: u64, buf: &mut [u8]) -> Result<usize, VfsError>; fn write_at(&self, offset: u64, buf: &[u8]) -> Result<usize, VfsError>; fn truncate(&self, size: u64) -> Result<(), VfsError>; fn sync(&self) -> Result<(), VfsError>; fn lookup(&self, name: &str) -> Result<Arc<dyn Inode>, VfsError>; fn create( &self, name: &str, typ: VNodeType, ) -> Result<Arc<dyn Inode>, VfsError>; fn unlink(&self, name: &str) -> Result<(), VfsError>; fn as_any(&self) -> &dyn Any; // Provided methods fn create_symlink( &self, name: &str, target: &str, ) -> Result<Arc<dyn Inode>, VfsError> { ... } fn create_device( &self, name: &str, device: Arc<Device>, ) -> Result<Arc<dyn Inode>, VfsError> { ... } fn rename(&self, old_name: &str, new_name: &str) -> Result<(), VfsError> { ... } fn list(&self) -> Result<Vec<String>, VfsError> { ... } fn read_symlink(&self) -> Result<String, VfsError> { ... }
}

Required Methods§

Source

fn metadata(&self) -> Result<Metadata, VfsError>

Source

fn set_metadata(&self, metadata: &Metadata) -> Result<(), VfsError>

Source

fn node_type(&self) -> VNodeType

Source

fn read_at(&self, offset: u64, buf: &mut [u8]) -> Result<usize, VfsError>

Source

fn write_at(&self, offset: u64, buf: &[u8]) -> Result<usize, VfsError>

Source

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

Source

fn sync(&self) -> Result<(), VfsError>

Source

fn lookup(&self, name: &str) -> Result<Arc<dyn Inode>, VfsError>

Source

fn create(&self, name: &str, typ: VNodeType) -> Result<Arc<dyn Inode>, VfsError>

Source

fn as_any(&self) -> &dyn Any

Provided Methods§

Source

fn create_device( &self, name: &str, device: Arc<Device>, ) -> Result<Arc<dyn Inode>, VfsError>

Source

fn rename(&self, old_name: &str, new_name: &str) -> Result<(), VfsError>

Source

fn list(&self) -> Result<Vec<String>, VfsError>

Implementors§