21 #include <kvikio/shim/cufile_h_wrapper.hpp>
40 FileWrapper(std::string
const& file_path, std::string
const& flags,
bool o_direct, mode_t mode);
61 void open(std::
string const& file_path, std::
string const& flags,
bool o_direct, mode_t mode);
80 int fd() const noexcept;
88 CUfileHandle_t _handle{};
89 bool _registered{
false};
120 CUfileHandle_t handle() const noexcept;
125 void unregister_handle() noexcept;
148 int open_fd(std::
string const& file_path, std::
string const& flags,
bool o_direct, mode_t mode);
bool registered() const noexcept
检查句柄是否已注册。
std::optional< CUfileError_t > register_handle(int fd) noexcept
给定文件描述符,注册文件句柄。
void open(std::string const &file_path, std::string const &flags, bool o_direct, mode_t mode)
使用 open(2) 打开文件
bool opened() const noexcept
检查文件是否已打开。
void close() noexcept
如果文件已打开则关闭;否则不执行任何操作。
int fd() const noexcept
返回文件描述符。
FileWrapper() noexcept=default
构造一个空的文件包装对象,不打开文件。
FileWrapper(std::string const &file_path, std::string const &flags, bool o_direct, mode_t mode)
打开文件。
std::size_t get_file_size(int file_descriptor)
从文件描述符获取文件大小 fstat(3)
int open_fd(std::string const &file_path, std::string const &flags, bool o_direct, mode_t mode)
使用 open(2) 打开文件
int open_fd_parse_flags(std::string const &flags, bool o_direct)
解析以字符串形式给定的文件打开标志并返回 oflags。
int open_flags(int fd)
获取文件描述符的标志 (参见 open(2))