pub struct DevFS {
fs_id: FileSystemId,
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§
§fs_id: FileSystemIdUnique filesystem identifier
root: RwLock<Arc<DevNode>>Root directory node
name: StringFilesystem 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 fs_id(&self) -> FileSystemId
fn fs_id(&self) -> FileSystemId
Get the unique filesystem identifier. Read more
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