picox  0.1
Xsinglefs

単一のXVirtualFsを保持し、インターフェースを簡素化します [詳解]

Xsinglefs 連携図

マクロ定義

#define xsinglefs_close   xvfs_close
 
#define xsinglefs_closedir   xvfs_closedir
 
#define xsinglefs_copyfile2   xvfs_copyfile2
 
#define xsinglefs_flush   xvfs_flush
 
#define xsinglefs_getc   xvfs_getc
 
#define xsinglefs_gets   xvfs_gets
 
#define xsinglefs_init_stream   xvfs_init_stream
 
#define xsinglefs_printf   xvfs_printf
 
#define xsinglefs_putc   xvfs_putc
 
#define xsinglefs_puts   xvfs_puts
 
#define xsinglefs_read   xvfs_read
 
#define xsinglefs_readdir   xvfs_readdir
 
#define xsinglefs_seek   xvfs_seek
 
#define xsinglefs_tell   xvfs_tell
 
#define xsinglefs_vprintf   xvfs_vprintf
 
#define xsinglefs_write   xvfs_write
 

関数

XError xsinglefs_chdir (const char *path)
 
XError xsinglefs_copyfile (const char *src, const char *dst)
 
XError xsinglefs_copytree (const char *src, const char *dst)
 
void xsinglefs_deinit ()
 
XError xsinglefs_exists (const char *path, bool *exists)
 
XError xsinglefs_getcwd (char *buf, size_t size)
 
void xsinglefs_init (XVirtualFs *vfs)
 
XError xsinglefs_is_directory (const char *path, bool *isdir)
 
XError xsinglefs_is_regular (const char *path, bool *isreg)
 
XError xsinglefs_makedirs (const char *path, bool exist_ok)
 
XError xsinglefs_mkdir (const char *path)
 
XError xsinglefs_open (const char *path, XOpenMode mode, XFile **o_fp)
 
XError xsinglefs_opendir (const char *path, XDir **o_dir)
 
XError xsinglefs_remove (const char *path)
 
XError xsinglefs_rename (const char *oldpath, const char *newpath)
 
XError xsinglefs_rmtree (const char *path)
 
XError xsinglefs_stat (const char *path, XStat *statbuf)
 
XError xsinglefs_utime (const char *path, XTime time)
 
XError xsinglefs_walktree (const char *path, XFsTreeWalker walker, void *userptr)
 

詳解

単一のXVirtualFsを保持し、インターフェースを簡素化します

xvfsは複数の異なるファイルシステムを同一のインターフェースで扱えるようにしま すが、一部関数にはXVirtualFsオブジェクトを引数として渡す必要があり、若干面倒 です。そこで、このモジュールにオブジェクトを保持させておくことでインターフェ ースを簡素化します。

xunionfsも似たような機能を提供しますが、複数のファイルシステムを登録できるよ うにしているため、それなりにオーバーヘッドがかかります。 組込みシステムではファイルシステムは不要か、一つで十分なことが多いため、その 場合はこちらのモジュールを使用した方がリソースの節約になります。

参照
Xvfs