ドライバの登録
新しいファイルシステムをSOLIDに追加する場合、solid_fs_driver.h
にある、
SOLID_FS_Register
関数を使って登録してください。
#include "solid_fs_driver.h"
データタイプ
SOLID_FS_HANDLER
-
typedef struct _SOLID_FS_HANDLER_ SOLID_FS_HANDLER
-
struct _SOLID_FS_HANDLER_
説明
ファイルシステムの登録用構造体
定義
typedef struct _SOLID_FS_HANDLER_ { struct _SOLID_FS_HANDLER_ * pNext; size_t mlen; char mount[SOLID_MAX_PATH]; int (*open)(void**, const char*, int); /* File Open */ int (*close)(void*); /* File Close */ int (*read)(void*,void*,size_t,size_t*); /* File Read */ int (*write)(void*,const void*,size_t,size_t*); /* File Write */ int (*lseek)(void*,off_t); /* File Seek */ int (*sync)(void*); /* File Sync */ int (*ftell)(void*, off_t*); /* File Ftell */ int (*eof)(void*, int*); /* File EOF */ int (*fsize)(void*, size_t*); /* File Size */ int (*truncate)(const char*, off_t); /* File Truncate */ int (*opendir)(const char*, void**); /* Dir Open */ int (*closedir)(void*); /* Dir Close */ int (*readdir)(void*,struct dirent*); /* Dir Read */ int (*stat)(const char*, struct stat*); /* File/Dir Stat */ int (*unlink)(const char*); /* File/Dir Delete */ int (*rename)(const char*,const char*); /* File/Dir Rename */ int (*chmod)(const char*, int); /* File/Dir Chmod */ int (*utime)(const char*, time_t); /* File/Dir Utime */ int (*mkdir)(const char*); /* Dir Mkdir */ /* SOLIDが設定する関数 */ void* (*malloc)(size_t size); /* malloc */ void (*free)(void*); /* free */ } SOLID_FS_HANDLER;
メンバー
-
struct _SOLID_FS_HANDLER_ *pNext
-
size_t mlen
コアサービスが使用します。
-
char mount[SOLID_MAX_PATH]
ファイルシステムの識別に使用するprefix(例: FATFS)を格納してください。
-
int (*open)(void**, const char*, int)
-
int (*close)(void*)
-
int (*read)(void*, void*, size_t, size_t*)
-
int (*write)(void*, const void*, size_t, size_t*)
-
int (*lseek)(void*, off_t)
-
int (*sync)(void*)
-
int (*ftell)(void*, off_t*)
-
int (*eof)(void*, int*)
-
int (*fsize)(void*, size_t*)
-
int (*truncate)(const char*, off_t)
-
int (*opendir)(const char*, void**)
-
int (*closedir)(void*)
-
int (*readdir)(void*, struct dirent*)
-
int (*stat)(const char*, struct stat*)
-
int (*unlink)(const char*)
-
int (*rename)(const char*, const char*)
-
int (*chmod)(const char*, int)
-
int (*utime)(const char*, time_t)
-
int (*mkdir)(const char*)
ファイルシステムが提供する関数を登録してください。 サポートされない関数はNULLを指定してください。
-
struct _SOLID_FS_HANDLER_ *pNext
API
SOLID_FS_Register
-
int SOLID_FS_Register(SOLID_FS_HANDLER *pHandler)
ファイルシステム用ドライバを登録します
- パラメータ
pHandler -- 登録用構造体
- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_UnRegister
-
int SOLID_FS_UnRegister(SOLID_FS_HANDLER *pHandler)
ドライバの登録を解除します
- パラメータ
pHandler -- 登録用構造体
- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: エラー