FIL

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

typedef struct {
    _FDID   obj;          /* オブジェクトID */
    BYTE    flag;         /* ファイル ステータス フラグ */
    BYTE    err;          /* エラー中断フラグ */
    FSIZE_t fptr;         /* ファイル読み書きポインタ (ファイル先頭からのバイト オフセット) */
    DWORD   clust;        /* 現在のクラスタ (fptrがクラスタ境界上のときは前のクラスタ、fptrが0のときは無効) */
    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]; /* ファイル プライベート データ転送バッファ (fptrがセクタ境界上にない時は常に有効だが、fptrがセクタ境界上のときは無効な場合がある) */
#endif
} FIL;

戻る