The FATFS structure holds dynamic work area of the FatFs modlue and it is allocated by an application program. There is no members that can be changed from the application program.
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;