ファイルシステム

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_FS_Close

int SOLID_FS_Close(int fd)

ファイルへのアクセスを終了します

パラメータ:fd – ファイルの識別子
戻り値:

SOLID_FS_Read

int SOLID_FS_Read(int fd, void *buf, size_t size, size_t *result)

ファイルからデータを読み込みます

パラメータ:
  • fd – ファイルの識別子
  • buf – 格納先
  • size – 読み込むサイズ(byte)
  • result – 実際に取得できたサイズ(byte)
戻り値:

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_FS_Lseek

int SOLID_FS_Lseek(int fd, off_t offset, int whence)

ファイルのアクセス位置を移動します

パラメータ:
  • fd – ファイルの識別子
  • offset – オフセット(byte)
  • whence – SEEK_XXX(fcntl.hを参照)
戻り値:

SOLID_FS_Sync

int SOLID_FS_Sync(int fd)

ファイルの書き込みをフラッシュします

パラメータ:fd – ファイルの識別子
戻り値:

SOLID_FS_Ftell

int SOLID_FS_Ftell(int fd, off_t *result)

ファイルのアクセス位置を取得します

パラメータ:
  • fd – ファイルの識別子
  • result – 現在のアクセス位置(先頭からのオフセット,byte)
戻り値:

SOLID_FS_Feof

int SOLID_FS_Feof(int fd, int *result)

ファイルのアクセス位置が終端に来ているかどうかを取得します

パラメータ:
  • fd – ファイルの識別子
  • result – 終端:1 それ以外:0
戻り値:

SOLID_FS_Fsize

int SOLID_FS_Fsize(int fd, size_t *result)

ファイルサイズを取得します

パラメータ:
  • fd – ファイルの識別子
  • result – ファイルサイズ(byte)
戻り値:

SOLID_FS_Truncate

int SOLID_FS_Truncate(const char *path, off_t size)

指定されたファイルのサイズを切り詰めます

パラメータ:
  • path – ファイルパス(文字列,NUL終端)
  • size – ファイルサイズ(byte)
戻り値:

SOLID_FS_OpenDir

int SOLID_FS_OpenDir(const char *path, S_DIR *pDir)

ディレクトリをオープンする

パラメータ:
  • path – オープンするディレクトリへのパス(文字列,NUL終端)
  • pDir – ディレクトリ識別子
戻り値:

SOLID_FS_CloseDir

int SOLID_FS_CloseDir(S_DIR dir)

ディレクトリをクローズする

パラメータ:dir – ディレクトリ識別子
戻り値:

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_FS_Rename

int SOLID_FS_Rename(const char *oldpath, const char *newpath)

ファイル/ディレクトリの名前を変更する

パラメータ:
  • oldpath – ファイル/ディレクトリのパス(文字列,NUL終端)
  • newpath – 変更後のパス(文字列,NUL終端)
戻り値:

SOLID_FS_Chmod

int SOLID_FS_Chmod(const char *path, int mode)

ファイル/ディレクトリの属性を変更する

パラメータ:
  • path – ファイル/ディレクトリのパス(文字列,NUL終端)
  • mode – S_XXX (stat.h参照)
戻り値:

SOLID_FS_Utime

int SOLID_FS_Utime(const char *path, time_t time)

ファイル/ディレクトリのタイムスタンプを変更する

パラメータ:
  • path – ファイル/ディレクトリのパス(文字列,NUL終端)
  • time – 変更する時間
戻り値:

SOLID_FS_Mkdir

int SOLID_FS_Mkdir(const char *path)

ディレクトリを作成する

パラメータ:path – 生成するディレクトリパス(文字列,NUL終端)
戻り値: