130[[nodiscard]]
auto Read(File* file,
void* buf,
size_t count)
143[[nodiscard]]
auto Write(File* file,
const void* buf,
size_t count)
156[[nodiscard]]
auto Seek(File* file, int64_t offset,
SeekWhence whence)
199[[nodiscard]]
auto ReadDir(File* file, DirEntry* dirent,
size_t count)
std::expected< T, Error > Expected
std::expected 别名模板
OpenFlags
文件打开标志(兼容 Linux O_* 定义)
auto Read(File *file, void *buf, size_t count) -> Expected< size_t >
从文件读取数据
auto Write(File *file, const void *buf, size_t count) -> Expected< size_t >
向文件写入数据
auto Open(const char *path, OpenFlags flags) -> Expected< File * >
打开文件
auto ReadDir(File *file, DirEntry *dirent, size_t count) -> Expected< size_t >
读取目录内容
auto MkDir(const char *path) -> Expected< void >
创建目录
auto Close(File *file) -> Expected< void >
关闭文件
auto Unlink(const char *path) -> Expected< void >
删除文件
auto GetRootDentry() -> Dentry *
获取根目录 dentry
auto RmDir(const char *path) -> Expected< void >
删除目录
auto Seek(File *file, int64_t offset, SeekWhence whence) -> Expected< uint64_t >
调整文件偏移量
auto Lookup(const char *path) -> Expected< Dentry * >
路径解析,查找 dentry
auto Init() -> Expected< void >
VFS 全局初始化
Dentry — 目录项缓存(路径名 ↔ Inode 的映射)
bool deleted
标记为已删除(unlink/rmdir 时 ref_count > 0)
void * fs_private
文件系统私有数据
uint32_t ref_count
引用计数(打开的 File 数量)
Dentry * next_sibling
兄弟目录项(同一父目录下)
File — 打开的文件实例(每次 open 产生一个)
OpenFlags flags
打开标志 (OpenFlags)
Dentry * dentry
关联的 dentry
uint32_t permissions
权限位(简化版)
uint64_t ino
inode 编号(文件系统内唯一)
void * fs_private
文件系统私有数据指针