FIL

FIL構造体(ファイル・オブジェクト)は、f_open()で初期化され、以後そのファイルの状態を保持します。また、f_close()でファイルが閉じられると無効化されます。アプリケーションは、この構造体のメンバを書き換えてはなりません(cltblは例外)。非タイニー構成では、内部にセクタ・バッファが確保されるので、占有サイズに注意が必要です。

typedef struct {
    FATFS*  fs;           /* 親ファイル・システム・オブジェクトへのポインタ */
    WORD    id;           /* 親ファイル・システム・オブジェクトのマウントID */
    BYTE    flag;         /* ファイル・ステータス・フラグ */
    BYTE    err;          /* エラー中断フラグ */
    DWORD   fptr;         /* ファイル読み書きポインタ (ファイル先頭からのバイト・オフセット) */
    DWORD   fsize;        /* ファイル・サイズ(バイト単位) */
    DWORD   sclust;       /* ファイル開始クラスタ番号 (0:割り当て無し) */
    DWORD   clust;        /* 現在のクラスタ */
    DWORD   dsect;        /* 現在のデータ・セクタ */
#if !_FS_READONLY
    DWORD   dir_sect;     /* このファイルのディレクトリ・エントリのあるセクタ */
    BYTE*   dir_ptr;      /* このファイルのディレクトリへのポインタ */
#endif
#if _USE_FASTSEEK
    DWORD*  cltbl;        /* ファイルのクラスタ・リンク情報へのポインタ (オープン時にNULLがセットされる) */
#endif
#if _FS_LOCK
    UINT    lockid;       /* ファイル・ロックID */
#endif
#if !_FS_TINY
    BYTE    buf[_MAX_SS]; /* ファイル・プライベート・データ転送バッファ */
#endif
} FIL;

戻る