SimpleKernel 1.17.0
Loading...
Searching...
No Matches
vfs::FileOps Class Referenceabstract

File 操作接口 More...

#include <vfs_types.hpp>

Inheritance diagram for vfs::FileOps:
Inheritance graph
Collaboration diagram for vfs::FileOps:
Collaboration graph

Public Member Functions

virtual auto Read (File *file, void *buf, size_t count) -> Expected< size_t >=0
 从文件读取数据
 
virtual auto Write (File *file, const void *buf, size_t count) -> Expected< size_t >=0
 向文件写入数据
 
virtual auto Seek (File *file, int64_t offset, SeekWhence whence) -> Expected< uint64_t >=0
 调整文件偏移量
 
virtual auto Close (File *file) -> Expected< void >=0
 关闭文件
 
virtual auto ReadDir (File *file, DirEntry *dirent, size_t count) -> Expected< size_t >=0
 读取目录项
 
构造/析构函数
 FileOps ()=default
 
 FileOps (const FileOps &)=delete
 
 FileOps (FileOps &&)=delete
 
auto operator= (const FileOps &) -> FileOps &=delete
 
auto operator= (FileOps &&) -> FileOps &=delete
 
virtual ~FileOps ()=default
 

Detailed Description

File 操作接口

Definition at line 181 of file vfs_types.hpp.

Constructor & Destructor Documentation

◆ FileOps() [1/3]

vfs::FileOps::FileOps ( )
default

◆ FileOps() [2/3]

vfs::FileOps::FileOps ( const FileOps )
delete

◆ FileOps() [3/3]

vfs::FileOps::FileOps ( FileOps &&  )
delete

◆ ~FileOps()

virtual vfs::FileOps::~FileOps ( )
virtualdefault

Member Function Documentation

◆ Close()

virtual auto vfs::FileOps::Close ( File file) -> Expected< void >
pure virtual

关闭文件

Parameters
file文件对象
Returns
Expected<void> 成功或错误
Precondition
file != nullptr
Postcondition
file 对象将被释放

Implemented in MockFileOps, fatfs::FatFsFileSystem::FatFsFileOps, and ramfs::RamFs::RamFsFileOps.

◆ operator=() [1/2]

auto vfs::FileOps::operator= ( const FileOps ) -> FileOps &=delete
delete

◆ operator=() [2/2]

auto vfs::FileOps::operator= ( FileOps &&  ) -> FileOps &=delete
delete

◆ Read()

virtual auto vfs::FileOps::Read ( File file,
void *  buf,
size_t  count 
) -> Expected< size_t >
pure virtual

从文件读取数据

Parameters
file文件对象
buf输出缓冲区
count最大读取字节数
Returns
Expected<size_t> 实际读取的字节数或错误
Precondition
file != nullptr && buf != nullptr
Postcondition
返回值 <= count

Implemented in MockFileOps, fatfs::FatFsFileSystem::FatFsFileOps, and ramfs::RamFs::RamFsFileOps.

Here is the caller graph for this function:

◆ ReadDir()

virtual auto vfs::FileOps::ReadDir ( File file,
DirEntry dirent,
size_t  count 
) -> Expected< size_t >
pure virtual

读取目录项

Parameters
file目录文件对象
dirent输出目录项数组
count最多读取的条目数
Returns
Expected<size_t> 实际读取的条目数或错误
Precondition
file != nullptr && file->inode->type == FileType::kDirectory
dirent != nullptr

Implemented in MockFileOps, fatfs::FatFsFileSystem::FatFsFileOps, and ramfs::RamFs::RamFsFileOps.

Here is the caller graph for this function:

◆ Seek()

virtual auto vfs::FileOps::Seek ( File file,
int64_t  offset,
SeekWhence  whence 
) -> Expected< uint64_t >
pure virtual

调整文件偏移量

Parameters
file文件对象
offset偏移量
whence基准位置
Returns
Expected<uint64_t> 新的偏移量或错误
Precondition
file != nullptr

Implemented in MockFileOps, fatfs::FatFsFileSystem::FatFsFileOps, and ramfs::RamFs::RamFsFileOps.

Here is the caller graph for this function:

◆ Write()

virtual auto vfs::FileOps::Write ( File file,
const void *  buf,
size_t  count 
) -> Expected< size_t >
pure virtual

向文件写入数据

Parameters
file文件对象
buf输入缓冲区
count要写入的字节数
Returns
Expected<size_t> 实际写入的字节数或错误
Precondition
file != nullptr && buf != nullptr
Postcondition
返回值 <= count

Implemented in MockFileOps, fatfs::FatFsFileSystem::FatFsFileOps, and ramfs::RamFs::RamFsFileOps.

Here is the caller graph for this function:

The documentation for this class was generated from the following file: