ファイルシステム
SOLIDでのファイルへのアクセスは、SOLID_FS APIを介して行います。
SOLID_FS APIを使用するには、solid_fs.h をインクルードしてください。
#include "solid_fs.h"
SOLIDには、基本構成としてFATファイルシステム、簡易的なメモリファイルシステム、デバッガ接続時のみ
使用可能なVLINKファイルシステムが存在します。
どのファイルシステムへのアクセスかは、パス名の先頭にて区別されます。
例えば、FATファイルシステムへのアクセスは、\\FATFS\\
を先頭につけます。
本項
- ドライバの登録
ドライバの登録について
- Fat FileSystem用ドライバの登録
Fatファイルシステムのドライバの登録について
API
SOLID_FS_Open
-
int SOLID_FS_Open(int *fd, const char *path, int mode)
ファイルへのアクセスを開始します
成功した場合、fdに識別子が入ります
- パラメータ:
fd -- オープンしたファイルの識別子
path -- ファイルパス(文字列,NUL終端)
mode -- O_XXX (fcntl.hを参照)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Close
-
int SOLID_FS_Close(int fd)
ファイルへのアクセスを終了します
- パラメータ:
fd -- ファイルの識別子
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Read
-
int SOLID_FS_Read(int fd, void *buf, size_t size, size_t *result)
ファイルからデータを読み込みます
- パラメータ:
fd -- ファイルの識別子
buf -- 格納先
size -- 読み込むサイズ(byte)
result -- 実際に取得できたサイズ(byte)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Write
-
int SOLID_FS_Write(int fd, const void *buf, size_t size, size_t *result)
ファイルへデータを書き込みます
- パラメータ:
fd -- ファイルの識別子
buf -- 書き込むデータ
size -- 書き込むサイズ(byte)
result -- 実際に書き込んだサイズ(byte)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Lseek
-
int SOLID_FS_Lseek(int fd, off_t offset, int whence)
ファイルのアクセス位置を移動します
- パラメータ:
fd -- ファイルの識別子
offset -- オフセット(byte)
whence -- SEEK_XXX(fcntl.hを参照)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Sync
-
int SOLID_FS_Sync(int fd)
ファイルの書き込みをフラッシュします
- パラメータ:
fd -- ファイルの識別子
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Ftell
-
int SOLID_FS_Ftell(int fd, off_t *result)
ファイルのアクセス位置を取得します
- パラメータ:
fd -- ファイルの識別子
result -- 現在のアクセス位置(先頭からのオフセット,byte)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Feof
-
int SOLID_FS_Feof(int fd, int *result)
ファイルのアクセス位置が終端に来ているかどうかを取得します
- パラメータ:
fd -- ファイルの識別子
result -- 終端:1 それ以外:0
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Fsize
-
int SOLID_FS_Fsize(int fd, size_t *result)
ファイルサイズを取得します
- パラメータ:
fd -- ファイルの識別子
result -- ファイルサイズ(byte)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Truncate
-
int SOLID_FS_Truncate(const char *path, off_t size)
指定されたファイルのサイズを切り詰めます
- パラメータ:
path -- ファイルパス(文字列,NUL終端)
size -- ファイルサイズ(byte)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_OpenDir
-
int SOLID_FS_OpenDir(const char *path, S_DIR *pDir)
ディレクトリをオープンする
- パラメータ:
path -- オープンするディレクトリへのパス(文字列,NUL終端)
pDir -- ディレクトリ識別子
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_CloseDir
-
int SOLID_FS_CloseDir(S_DIR dir)
ディレクトリをクローズする
- パラメータ:
dir -- ディレクトリ識別子
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_ReadDir
-
int SOLID_FS_ReadDir(S_DIR dir, struct dirent *dirp)
ディレクトリの情報を取得する
- パラメータ:
dir -- ディレクトリ識別子
dirp -- ディレクトリ情報の格納先
- 戻り値:
SOLID_ERR_OK
: 正常終了(データあり)それ以外: データなし、またはエラー
SOLID_FS_Stat
-
int SOLID_FS_Stat(const char *path, struct stat *buf)
ファイル/ディレクトリの情報を取得する
- パラメータ:
path -- ファイル/ディレクトリのパス(文字列,NUL終端)
buf -- 情報格納先(stat.h参照)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Unlink
-
int SOLID_FS_Unlink(const char *path)
ファイル/ディレクトリを削除する
- パラメータ:
path -- ファイル/ディレクトリのパス(文字列,NUL終端)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Rename
-
int SOLID_FS_Rename(const char *oldpath, const char *newpath)
ファイル/ディレクトリの名前を変更する
- パラメータ:
oldpath -- ファイル/ディレクトリのパス(文字列,NUL終端)
newpath -- 変更後のパス(文字列,NUL終端)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Chmod
-
int SOLID_FS_Chmod(const char *path, int mode)
ファイル/ディレクトリの属性を変更する
- パラメータ:
path -- ファイル/ディレクトリのパス(文字列,NUL終端)
mode -- S_XXX (stat.h参照)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Utime
-
int SOLID_FS_Utime(const char *path, time_t time)
ファイル/ディレクトリのタイムスタンプを変更する
- パラメータ:
path -- ファイル/ディレクトリのパス(文字列,NUL終端)
time -- 変更する時間
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー
SOLID_FS_Mkdir
-
int SOLID_FS_Mkdir(const char *path)
ディレクトリを作成する
- パラメータ:
path -- 生成するディレクトリパス(文字列,NUL終端)
- 戻り値:
SOLID_ERR_OK
: 正常終了それ以外: エラー