40 #ifndef maskedw_filesystem_xfscore_h_ 41 #define maskedw_filesystem_xfscore_h_ 134 #define XSTAT_MODE_TYPEMASK (0x0F) 135 #define XSTAT_MODE_REGULAR (0) 136 #define XSTAT_MODE_DIRECTORY (1) 140 #define XSTAT_IS_REGULAR(mode) (((mode) & XSTAT_MODE_TYPEMASK) == XSTAT_MODE_REGULAR) 145 #define XSTAT_IS_DIRECTORY(mode) (((mode) & XSTAT_MODE_TYPEMASK) == XSTAT_MODE_DIRECTORY) 164 typedef XError (*XVirtualFsReadFunc)(
XFile* fp,
void* dst,
size_t size,
size_t* nread);
165 typedef XError (*XVirtualFsWriteFunc)(
XFile* fp,
const void* src,
size_t size,
size_t* nwritten);
169 typedef XError (*XVirtualFsMkdirFunc)(
void* fs,
const char* path);
170 typedef XError (*XVirtualFsOpendirFunc)(
void* fs,
const char* path,
XDir** o_dir);
172 typedef XError (*XVirtualFsClosedirFunc)(
XDir* dir);
173 typedef XError (*XVirtualFsChdirFunc)(
void* fs,
const char* path);
174 typedef XError (*XVirtualFsGetcwdFunc)(
void* fs,
char* buf,
size_t size);
175 typedef XError (*XVirtualFsRemoveFunc)(
void* fs,
const char* path);
176 typedef XError (*XVirtualFsRenameFunc)(
void* fs,
const char* oldpath,
const char* newpath);
177 typedef XError (*XVirtualFsStatFunc)(
void* fs,
const char* path,
XStat* statbuf);
178 typedef XError (*XVirtualFsUtimeFunc)(
void* fs,
const char* path,
XTime time);
187 XVirtualFsOpenFunc m_open_func;
188 XVirtualFsCloseFunc m_close_func;
189 XVirtualFsReadFunc m_read_func;
190 XVirtualFsWriteFunc m_write_func;
191 XVirtualFsSeekFunc m_seek_func;
192 XVirtualFsTellFunc m_tell_func;
193 XVirtualFsFlushFunc m_flush_func;
194 XVirtualFsMkdirFunc m_mkdir_func;
195 XVirtualFsOpendirFunc m_opendir_func;
196 XVirtualFsReaddirFunc m_readdir_func;
197 XVirtualFsClosedirFunc m_closedir_func;
198 XVirtualFsChdirFunc m_chdir_func;
199 XVirtualFsGetcwdFunc m_getcwd_func;
200 XVirtualFsRemoveFunc m_remove_func;
201 XVirtualFsRenameFunc m_rename_func;
202 XVirtualFsStatFunc m_stat_func;
203 XVirtualFsUtimeFunc m_utime_func;
Definition: xfscore.h:182
uint32_t XTime
time_tの代替をするシステム時刻を格納するための型です
Definition: xtime.h:80
XOpenMode
ファイルオープン等のモードです
Definition: xstddef.h:435
XMode mode
ファイルの種別等、属性情報
Definition: xfscore.h:103
XError
errnoの代替として使用する共通のエラーコードを表す列挙型です
Definition: xstddef.h:367
ディレクトリエントリ情報を格納する構造体です
Definition: xfscore.h:109
void xvfs_init(XVirtualFs *vfs)
Definition: xvfs.c:89
bool(* XFsTreeWalker)(void *userptr, const char *path, const XStat *statbuf, const XDirEnt *dirent)
ディレクトリ探索関数が呼び出すコールバック関数型です
Definition: xfscore.h:124
XTime mtime
ファイルのタイムスタンプ
Definition: xfscore.h:97
uint32_t XSize
何らかの大きさを表すのに十分なサイズを備えた符号なし整数型です
Definition: xstddef.h:251
ファイル操作のハンドル構造体です
Definition: xfscore.h:70
XSize size
ファイルのバイト数
Definition: xfscore.h:100
int32_t XOffset
何らかのオフセットを表すのに十分な大きさをもった符号あり整数型です
Definition: xstddef.h:261
uint32_t XMode
何らかのビットフラグを格納することを意図した型です
Definition: xstddef.h:287
XSeekMode
シークの起点を指定する列挙型です
Definition: xstddef.h:340
#define X_NAME_MAX
Definition: xstddef.h:491
ディレクトリ操作のハンドル構造体です
Definition: xfscore.h:82
ファイル情報を格納する構造体です
Definition: xfscore.h:92