FATFS構造体は、FatFsモジュールのダイナミックワークエリアを保持し、アプリケーション側で確保・管理されます。アプリケーションから変更可能なメンバはありません。
typedef struct _FATFS {
BYTE fs_type; // FAT type
BYTE files; // Number of files currently opend
BYTE sects_clust; // Sectors per cluster
BYTE n_fats; // Number of FAT copies
WORD n_rootdir; // Number of root directory entry
BYTE winflag; // win[] dirty flag (1:must be written back)
BYTE pad1;
DWORD sects_fat; // Sectors per fat
DWORD max_clust; // Maximum cluster# + 1
DWORD fatbase; // FAT start sector
DWORD dirbase; // Root directory start sector (cluster# for FAT32)
DWORD database; // Data start sector
DWORD winsect; // Current sector# appearing in the win[]
BYTE win[512]; // Disk access window for Directory/FAT area
} FATFS;
typedef struct _FATFS {
BYTE fs_type; // FAT type
BYTE files; // Number of files currently opend
BYTE sects_clust; // Sectors per cluster
BYTE n_fats; // Number of FAT copies
WORD n_rootdir; // Number of root directory entry
BYTE winflag; // win[] dirty flag (1:must be written back)
BYTE pad1;
WORD sects_fat; // Sectors per fat
WORD max_clust; // Maximum cluster# + 1
DWORD fatbase; // FAT start sector
DWORD dirbase; // Root directory start sector (cluster# for FAT32)
DWORD database; // Data start sector
DWORD winsect; // Current sector# appearing in the win[]
BYTE win[512]; // Disk access window
} FATFS;