picox
0.1
|
ファイルシステム関連の共通定義 [詳解]
![]() |
データ構造 | |
struct | XDir |
ディレクトリ操作のハンドル構造体です [詳解] | |
struct | XDirEnt |
ディレクトリエントリ情報を格納する構造体です [詳解] | |
struct | XFile |
ファイル操作のハンドル構造体です [詳解] | |
struct | XStat |
ファイル情報を格納する構造体です [詳解] | |
struct | XVirtualFs |
型定義 | |
typedef bool(* | XFsTreeWalker) (void *userptr, const char *path, const XStat *statbuf, const XDirEnt *dirent) |
ディレクトリ探索関数が呼び出すコールバック関数型です [詳解] | |
filemode | |
判定マクロの引数にはXStat.modeを使用してください。 | |
#define | XSTAT_MODE_TYPEMASK (0x0F) |
#define | XSTAT_MODE_REGULAR (0) |
#define | XSTAT_MODE_DIRECTORY (1) |
#define | XSTAT_IS_REGULAR(mode) (((mode) & XSTAT_MODE_TYPEMASK) == XSTAT_MODE_REGULAR) |
ファイルが通常ファイルかどうかを判定します | |
#define | XSTAT_IS_DIRECTORY(mode) (((mode) & XSTAT_MODE_TYPEMASK) == XSTAT_MODE_DIRECTORY) |
ファイルがディレクトリかどうかを判定します | |
virtual filesystem interface | |
これらの定義が要求するインターフェースを実装することで、どんなファイルシステ ムもxunionfsにマウントできるようになります。 picoxで未提供のファイルシステムを仮想ファイルシステムのアダプトしたい場合、 各関数の要求内容はxunionfsの関数説明を参照してください。 実装はxfatfs, xramfs等の実装を参考にしてください。 | |
typedef XError(* | XVirtualFsOpenFunc) (void *fs, const char *path, XOpenMode mode, XFile **o_fp) |
typedef XError(* | XVirtualFsCloseFunc) (XFile *fp) |
typedef XError(* | XVirtualFsReadFunc) (XFile *fp, void *dst, size_t size, size_t *nread) |
typedef XError(* | XVirtualFsWriteFunc) (XFile *fp, const void *src, size_t size, size_t *nwritten) |
typedef XError(* | XVirtualFsSeekFunc) (XFile *fp, XOffset pos, XSeekMode whence) |
typedef XError(* | XVirtualFsTellFunc) (XFile *fp, XSize *pos) |
typedef XError(* | XVirtualFsFlushFunc) (XFile *fp) |
typedef XError(* | XVirtualFsMkdirFunc) (void *fs, const char *path) |
typedef XError(* | XVirtualFsOpendirFunc) (void *fs, const char *path, XDir **o_dir) |
typedef XError(* | XVirtualFsReaddirFunc) (XDir *dir, XDirEnt *dirent, XDirEnt **result) |
typedef XError(* | XVirtualFsClosedirFunc) (XDir *dir) |
typedef XError(* | XVirtualFsChdirFunc) (void *fs, const char *path) |
typedef XError(* | XVirtualFsGetcwdFunc) (void *fs, char *buf, size_t size) |
typedef XError(* | XVirtualFsRemoveFunc) (void *fs, const char *path) |
typedef XError(* | XVirtualFsRenameFunc) (void *fs, const char *oldpath, const char *newpath) |
typedef XError(* | XVirtualFsStatFunc) (void *fs, const char *path, XStat *statbuf) |
typedef XError(* | XVirtualFsUtimeFunc) (void *fs, const char *path, XTime time) |
void | xvfs_init (XVirtualFs *vfs) |
ファイルシステム関連の共通定義
typedef bool(* XFsTreeWalker) (void *userptr, const char *path, const XStat *statbuf, const XDirEnt *dirent) |
ディレクトリ探索関数が呼び出すコールバック関数型です
true | ディレクトリ走査を続行する |
false | ディレクトリ走査を中止する |
void xvfs_init | ( | XVirtualFs * | vfs | ) |
仮想ファイルシステムを初期化します
関数テーブルにデフォルト関数をセットします。各ファイルシステムモジュール内の 、vfs初期化関数で使用することを想定しているため、通常はユーザーが自身で呼び 出す必要のない関数です。