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 winsect; /* Current sector appearing in the win[] */
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 last_clust; /* Last allocated cluster */
BYTE win[512]; /* Disk access window for Directory/FAT */
} 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 winsect; /* Current sector appearing in the win[] */
WORD sects_fat; /* Sectors per fat */
WORD max_clust; /* Maximum cluster# + 1 */
DWORD fatbase; /* FAT start sector */
DWORD dirbase; /* Root directory start sector */
DWORD database; /* Data start sector */
WORD last_clust; /* Last allocated cluster */
BYTE win[512]; /* Disk access window for Directory/FAT/File */
} FATFS;