picox  0.1
xramfs.c ファイル

RAMファイルシステム実装 [詳解]

xramfs.c の依存先関係図:

マクロ定義

#define X__ASSERT_TAG(p)    (X_ASSERT_TAG(((const XRamFs*)p)->m_tag == X_RAMFS_TAG))
 
#define X__EXIT_IF(cond, v)    X_ASSIGN_AND_GOTO_IF(cond, err, v, x__exit)
 
#define X__GET_DIR_HANDLE(dir)   ((X__Dir*)dir)
 
#define X__GET_FILE_HANDLE(fp)   ((X__File*)fp)
 
#define X__TYPE_DIR   (0)
 
#define X__TYPE_FILE   (1)
 

関数

static X__DirEntry * X__CreateDir (XRamFs *fs, X__DirEntry *parent, const char *name)
 
static X__FileEntry * X__CreateFile (XRamFs *fs, X__DirEntry *parent, const char *name)
 
static void X__DestoryEntry (XRamFs *fs, X__Entry *ent)
 
static XError X__FindEntry (const XRamFs *fs, const char *path, char *name, X__Entry **o_ent, X__DirEntry **o_parent)
 
static void X__Free (XRamFs *fs, void *ptr)
 
static void * X__Malloc (XRamFs *fs, size_t size)
 
static void * X__Realloc (XRamFs *fs, void *old, size_t size)
 
static char * X__Strdup (XRamFs *fs, const char *src)
 
XError xramfs_chdir (XRamFs *fs, const char *path)
 
XError xramfs_close (XFile *fp)
 
XError xramfs_closedir (XDir *dir)
 
void xramfs_deinit (XRamFs *fs)
 ファイルシステムの終了処理を行います [詳解]
 
XError xramfs_flush (XFile *fp)
 
XError xramfs_getcwd (XRamFs *fs, char *buf, size_t size)
 
XError xramfs_init (XRamFs *fs, void *mem, size_t size)
 ファイルシステムを初期化します [詳解]
 
XStreamxramfs_init_stream (XStream *stream, XFile *fp)
 
void xramfs_init_vfs (XRamFs *fs, XVirtualFs *vfs)
 仮想ファイルシステムを初期化します [詳解]
 
XError xramfs_mkdir (XRamFs *fs, const char *path)
 
XError xramfs_open (XRamFs *fs, const char *path, XOpenMode mode, XFile **o_fp)
 
XError xramfs_opendir (XRamFs *fs, const char *path, XDir **o_dir)
 
XError xramfs_read (XFile *fp, void *dst, size_t size, size_t *nread)
 
XError xramfs_readdir (XDir *dir, XDirEnt *dirent, XDirEnt **result)
 
XError xramfs_remove (XRamFs *fs, const char *path)
 
XError xramfs_rename (XRamFs *fs, const char *oldpath, const char *newpath)
 
XError xramfs_seek (XFile *fp, XOffset pos, XSeekMode whence)
 
XError xramfs_stat (XRamFs *fs, const char *path, XStat *statbuf)
 
XError xramfs_tell (XFile *fp, XSize *pos)
 
XError xramfs_utime (XRamFs *fs, const char *path, XTime time)
 
XError xramfs_write (XFile *fp, const void *src, size_t size, size_t *nwritten)
 

詳解

RAMファイルシステム実装

著者
MaskedW