MCPcopy Create free account
hub / github.com/Simple-XX/SimpleKernel / FatFsInodeOps

Class FatFsInodeOps

src/filesystem/fatfs/include/fatfs.hpp:130–180  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128 * @brief FatFS inode 操作实现
129 */
130 class FatFsInodeOps : public vfs::InodeOps {
131 public:
132 explicit FatFsInodeOps(FatFsFileSystem* fs) : fs_(fs) {}
133
134 /**
135 * @brief 在目录中查找指定名称的 inode
136 * @param dir 目录 inode
137 * @param name 文件或子目录名称
138 * @return Expected<vfs::Inode*> 找到的 inode 或错误
139 */
140 auto Lookup(vfs::Inode* dir, const char* name)
141 -> Expected<vfs::Inode*> override;
142
143 /**
144 * @brief 在目录中创建文件或子目录
145 * @param dir 父目录 inode
146 * @param name 新条目名称
147 * @param type 文件类型(kRegular 或 kDirectory)
148 * @return Expected<vfs::Inode*> 新 inode 或错误
149 */
150 auto Create(vfs::Inode* dir, const char* name, vfs::FileType type)
151 -> Expected<vfs::Inode*> override;
152
153 /**
154 * @brief 删除目录中的文件条目
155 * @param dir 父目录 inode
156 * @param name 文件名称
157 * @return Expected<void> 成功或错误
158 */
159 auto Unlink(vfs::Inode* dir, const char* name) -> Expected<void> override;
160
161 /**
162 * @brief 在目录中创建子目录
163 * @param dir 父目录 inode
164 * @param name 子目录名称
165 * @return Expected<vfs::Inode*> 新目录 inode 或错误
166 */
167 auto Mkdir(vfs::Inode* dir, const char* name)
168 -> Expected<vfs::Inode*> override;
169
170 /**
171 * @brief 删除目录中的空子目录
172 * @param dir 父目录 inode
173 * @param name 子目录名称
174 * @return Expected<void> 成功或错误
175 */
176 auto Rmdir(vfs::Inode* dir, const char* name) -> Expected<void> override;
177
178 private:
179 FatFsFileSystem* fs_;
180 };
181
182 /**
183 * @brief FatFS 文件操作实现

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected