pub struct ProcInode {
metadata: SpinLock<InodeMetadata>,
content: ProcInodeContent,
}Fields§
§metadata: SpinLock<InodeMetadata>元数据
content: ProcInodeContent内容
Implementations§
Source§impl ProcInode
impl ProcInode
Sourcepub fn new_static_file(
_name: &str,
content: Vec<u8>,
mode: FileMode,
) -> Arc<Self>
pub fn new_static_file( _name: &str, content: Vec<u8>, mode: FileMode, ) -> Arc<Self>
创建静态文件 inode
Sourcepub fn new_dynamic_file(
_name: &str,
generator: Arc<dyn ContentGenerator>,
mode: FileMode,
) -> Arc<Self>
pub fn new_dynamic_file( _name: &str, generator: Arc<dyn ContentGenerator>, mode: FileMode, ) -> Arc<Self>
创建动态文件 inode
Sourcepub fn new_directory(mode: FileMode) -> Arc<Self>
pub fn new_directory(mode: FileMode) -> Arc<Self>
创建目录 inode
Sourcepub fn new_symlink(_name: &str, target: String) -> Arc<Self>
pub fn new_symlink(_name: &str, target: String) -> Arc<Self>
创建符号链接 inode
Sourcepub fn new_dynamic_symlink<F>(_name: &str, generator: F) -> Arc<Self>where
F: Fn() -> String + Send + Sync + 'static,
pub fn new_dynamic_symlink<F>(_name: &str, generator: F) -> Arc<Self>where
F: Fn() -> String + Send + Sync + 'static,
创建动态符号链接 inode
Sourcefn create_process_dir(&self, pid: u32) -> Option<Arc<ProcInode>>
fn create_process_dir(&self, pid: u32) -> Option<Arc<ProcInode>>
为指定 PID 创建进程目录
Trait Implementations§
Source§impl Inode for ProcInode
impl Inode for ProcInode
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(可选方法)