pub struct DevFS {
root: RwLock<Arc<DevNode>>,
name: String,
}
Expand description
DevFS - Device filesystem implementation
This filesystem automatically exposes all devices registered in the global DeviceManager as device files. It provides a virtual view of the system’s devices, similar to /dev in Unix-like systems.
Fields§
§root: RwLock<Arc<DevNode>>
Root directory node
name: String
Filesystem name
Implementations§
Source§impl DevFS
impl DevFS
Sourcefn populate_devices(&self) -> Result<(), FileSystemError>
fn populate_devices(&self) -> Result<(), FileSystemError>
Populate the filesystem with current devices from DeviceManager
Trait Implementations§
Source§impl FileSystemOperations for DevFS
impl FileSystemOperations for DevFS
Source§fn lookup(
&self,
parent: &Arc<dyn VfsNode>,
name: &String,
) -> Result<Arc<dyn VfsNode>, FileSystemError>
fn lookup( &self, parent: &Arc<dyn VfsNode>, name: &String, ) -> Result<Arc<dyn VfsNode>, FileSystemError>
Look up a child node by name within a parent directory Read more
Source§fn readdir(
&self,
node: &Arc<dyn VfsNode>,
) -> Result<Vec<DirectoryEntryInternal>, FileSystemError>
fn readdir( &self, node: &Arc<dyn VfsNode>, ) -> Result<Vec<DirectoryEntryInternal>, FileSystemError>
Read directory entries from a directory node
Source§fn open(
&self,
node: &Arc<dyn VfsNode>,
_flags: u32,
) -> Result<Arc<dyn FileObject>, FileSystemError>
fn open( &self, node: &Arc<dyn VfsNode>, _flags: u32, ) -> Result<Arc<dyn FileObject>, FileSystemError>
Open a file represented by a VfsNode Read more
Source§fn is_read_only(&self) -> bool
fn is_read_only(&self) -> bool
Check if filesystem is read-only
Source§fn create(
&self,
_parent: &Arc<dyn VfsNode>,
_name: &String,
_file_type: FileType,
_mode: u32,
) -> Result<Arc<dyn VfsNode>, FileSystemError>
fn create( &self, _parent: &Arc<dyn VfsNode>, _name: &String, _file_type: FileType, _mode: u32, ) -> Result<Arc<dyn VfsNode>, FileSystemError>
Create a new file in the specified directory
Source§fn remove(
&self,
_parent: &Arc<dyn VfsNode>,
_name: &String,
) -> Result<(), FileSystemError>
fn remove( &self, _parent: &Arc<dyn VfsNode>, _name: &String, ) -> Result<(), FileSystemError>
Remove a file from the specified directory
Source§fn create_hardlink(
&self,
link_parent: &Arc<dyn VfsNode>,
link_name: &String,
target_node: &Arc<dyn VfsNode>,
) -> Result<Arc<dyn VfsNode>, FileSystemError>
fn create_hardlink( &self, link_parent: &Arc<dyn VfsNode>, link_name: &String, target_node: &Arc<dyn VfsNode>, ) -> Result<Arc<dyn VfsNode>, FileSystemError>
Create a hard link to an existing file Read more