pub struct SysfsInode {
inode_no: usize,
inode_type: InodeType,
metadata: Mutex<InodeMetadata>,
content: SysfsInodeContent,
}Expand description
Sysfs Inode
Fields§
§inode_no: usize§inode_type: InodeType§metadata: Mutex<InodeMetadata>§content: SysfsInodeContentImplementations§
Source§impl SysfsInode
impl SysfsInode
Sourcepub fn new_directory(mode: FileMode) -> Arc<Self>
pub fn new_directory(mode: FileMode) -> Arc<Self>
创建目录 inode
Sourcepub fn new_attribute(attr: SysfsAttr) -> Arc<Self>
pub fn new_attribute(attr: SysfsAttr) -> Arc<Self>
创建属性文件 inode
Sourcepub fn new_symlink(target: String) -> Arc<Self>
pub fn new_symlink(target: String) -> Arc<Self>
创建符号链接 inode
Sourcepub fn add_child(
&self,
name: &str,
child: Arc<SysfsInode>,
) -> Result<(), FsError>
pub fn add_child( &self, name: &str, child: Arc<SysfsInode>, ) -> Result<(), FsError>
向目录添加子节点
Trait Implementations§
Source§impl Inode for SysfsInode
impl Inode for SysfsInode
Source§fn metadata(&self) -> Result<InodeMetadata, FsError>
fn metadata(&self) -> Result<InodeMetadata, FsError>
获取文件元数据
Source§fn read_at(&self, offset: usize, buf: &mut [u8]) -> Result<usize, FsError>
fn read_at(&self, offset: usize, buf: &mut [u8]) -> Result<usize, FsError>
从指定偏移量读取数据 Read more
Source§fn rename(
&self,
_old_name: &str,
_new_parent: Arc<dyn Inode>,
_new_name: &str,
) -> Result<(), FsError>
fn rename( &self, _old_name: &str, _new_parent: Arc<dyn Inode>, _new_name: &str, ) -> Result<(), FsError>
重命名/移动 (原子操作)
Source§fn set_times(
&self,
_atime: Option<TimeSpec>,
_mtime: Option<TimeSpec>,
) -> Result<(), FsError>
fn set_times( &self, _atime: Option<TimeSpec>, _mtime: Option<TimeSpec>, ) -> Result<(), FsError>
设置文件时间戳
Source§fn mknod(
&self,
_name: &str,
_mode: FileMode,
_dev: u64,
) -> Result<Arc<dyn Inode>, FsError>
fn mknod( &self, _name: &str, _mode: FileMode, _dev: u64, ) -> Result<Arc<dyn Inode>, FsError>
创建设备文件节点
Source§fn set_dentry(&self, _dentry: Weak<Dentry>)
fn set_dentry(&self, _dentry: Weak<Dentry>)
设置 Dentry(可选方法)
Source§fn get_dentry(&self) -> Option<Arc<Dentry>>
fn get_dentry(&self) -> Option<Arc<Dentry>>
获取 Dentry(可选方法)