native_sdk_reference_fs - aks3g/ai_mini_4wd_kit GitHub Wiki

File System処理用関数

定数一覧

型定義一覧

名前 概要
AiMini4wdFile ファイルポインタを表現するための型
AiMini4wdFileInfo ファイルの情報を格納するための型

関数名一覧

名前 概要
aiMini4wdFsOpen ファイルを開く
aiMini4wdFsClose ファイルを閉じる
aiMini4wdFsRead ファイルからの読み出し
aiMini4wdFsWrite ファイルへの書き込み
aiMini4wdFsSeek ファイルポインタの位置を移動
aiMini4wdFsSize ファイルサイズの取得
aiMini4wdFsEof ファイルの終端に達しているかの確認
aiMini4wdFsSync ファイルの同期(バッファの書き出し)
aiMini4wdFsStat ファイル状態の取得
aiMini4wdFsTruncate ファイルのサイズを現在のポインタ位置に切り詰め
aiMini4wdFsPrintf ファイルに対して書式付文字列を書き込む
aiMini4wdFsGets ファイルからの文字列読み出し

型定義

AiMini4wdFile

定義

typedef void AiMini4wdFile;

概要

システム内のファイル構造体へのポインタを作るための型


AiMini4wdFileInfo

定義

typedef struct AiMini4wdFileInfo_t {
	size_t size;
	uint8_t attr;
	char name[256];
} AiMini4wdFileInfo;

メンバ

  1. size: ファイルのサイズ
  2. attr: ファイルの属性情報
  3. name: ファイル名

関数定義

aiMini4wdFsOpen

ファイル名を指定してファイルを開く

定義

AiMini4wdFile *aiMini4wdFsOpen(const char *path, const char *mode);

説明

ファイルシステムにあるファイルを読み込みます。 引数のpathにファイル名を指定し、mode に読み込み、書き込み等のモードを指定します。 modeには以下の文字の組み合わせを指定します。

  • "w" : 書き込み
  • "r" : 読み込み
  • "a" : 追書き込み
  • "x" : 新規作成
  • "+" : 読み書き

引数

  1. path : ファイル名を指定します
  2. mode : ファイルのOpenモードを指定します。指定すべき文字列については概要を参照してください

戻り値

  • NULL - ファイルが存在しない/ディスクが存在しない等何らかのエラーが発生したケース
  • ファイルディスクリプタへのポインタ(非NULL)

aiMini4wdFsClose

ファイル名を指定してファイルを閉じる

定義

void aiMini4wdFsClose(AiMini4wdFile *file);

説明

既に開いているファイルを閉じます。

引数

  1. file : 閉じたいファイルのファイルディスクリプタ

戻り値

なし


aiMini4wdFsRead

ファイルからの読み込み

定義

int aiMini4wdFsRead(AiMini4wdFile *file, void *buf, size_t size);

説明

ファイルから指定したバイト数を読み込みます。指定するファイルポインタは事前にopenしておく必要があります。

引数

  1. file : 操作したいファイルディスクリプタ
  2. buf : 読み込んだデータを格納するためのバッファ
  3. size : 読み込むサイズ

戻り値

  • AI_OK - 成功
  • その他 - 何らかのエラー

aiMini4wdFsWrite

ファイルへの書き込み

定義

int aiMini4wdFsWrite(AiMini4wdFile *file, const void *buf, size_t size);

説明

ファイルに対して指定したバイト数分の書き込みを行います。

引数

  1. file : 操作したいファイルディスクリプタ
  2. buf : 書き込みたいデータが入ったバッファ
  3. size : 書き込むサイズ

戻り値

  • AI_OK - 成功
  • その他 - 何らかのエラー

aiMini4wdFsSeek

ファイルのオフセット操作

定義

int aiMini4wdFsSeek(AiMini4wdFile *file, int32_t offset);

説明

ファイルのオフセットの位置をoffsetで指定された場所に移動します。

引数

  1. file : 操作したいファイルディスクリプタ
  2. offset : ファイルのオフセット位置の移動先

戻り値

  • AI_OK - 成功
  • その他 - 何らかのエラー

aiMini4wdFsSize

ファイルサイズの取得

定義

int aiMini4wdFsSize(AiMini4wdFile *file);

説明

対象となるファイルのサイズを返します。

引数

  1. file : ファイルディスクリプタ

戻り値

  • 0以上 - ファイルサイズ
  • 負の値 - 何らかのエラー

aiMini4wdFsEof

ファイル終端の判定

定義

int aiMini4wdFsEof(AiMini4wdFile *file);

説明

現在指しているファイルオフセットがファイルの末尾(EOF)であるかどうかの判定を行います。

引数

  1. file : ファイルディスクリプタ

戻り値

  • 1 - ファイル終端
  • 0 - ファイル終端ではない

aiMini4wdFsSync

物理ディスクへの掃き出し処理

定義

int aiMini4wdFsSync(AiMini4wdFile *file);

説明

ファイルへの途中操作の内容を強制的に出力(Flush)する。

引数

  1. file : ファイルディスクリプタ

戻り値

  • AI_OK - 成功
  • その他 - 何らかのエラー

aiMini4wdFsStat

ファイル情報の取得

定義

int aiMini4wdFsStat(const char *path, AiMini4wdFileInfo *info);

説明

ファイル名を指定して、ファイルの情報(AiMini4wdFileInfo)を取得します。

引数

  1. file : ファイルディスクリプタ
  2. info : ファイル情報の格納先

戻り値

  • AI_OK - 成功
  • その他 - 何らかのエラー

aiMini4wdFsTruncate

ファイルサイズの切り詰め

定義

int aiMini4wdFsTruncate(AiMini4wdFile *file);

説明

ファイルサイズを現在のオフセット位置まで切り詰めます

引数

  1. file : ファイルディスクリプタ

戻り値

  • AI_OK - 成功
  • その他 - 何らかのエラー

aiMini4wdFsPrintf

書式付文字列をファイルに書き出す

定義

int aiMini4wdFsPrintf(AiMini4wdFile *file, const char *str, ...);

説明

書式付文字列をファイルに対して書き出します。 書式は、printfと同等のモノになります。

引数

  1. file : ファイルディスクリプタ
  2. str : 書式付文字列

戻り値

  • 0以上 - 成功、書き込んだ文字列数
  • その他 - 何らかのエラー

aiMini4wdFsGets

ファイルからの文字列読み込み

定義

char *aiMini4wdFsGets(AiMini4wdFile *file, char *buf, size_t len);

説明

ファイルから文字列を読み込みます。EOFに達するか、'\n'に達する、バッファがいっぱいになるまで読み込みを続けます。

引数

  1. file : ファイルディスクリプタ
  2. buf : 読み込み先バッファ
  3. len : バッファサイズ

戻り値

  • NULL - 何らかのエラー
  • その他 - buf(ポインタ)