From 289f6a146c0b2087607d8d8659531ea90142779a Mon Sep 17 00:00:00 2001 From: Leo C Date: Sun, 27 May 2018 21:26:38 +0200 Subject: Import fatfs R0.13b --- fatfs/documents/doc/sfatfs.html | 62 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 fatfs/documents/doc/sfatfs.html (limited to 'fatfs/documents/doc/sfatfs.html') diff --git a/fatfs/documents/doc/sfatfs.html b/fatfs/documents/doc/sfatfs.html new file mode 100644 index 0000000..e5207cb --- /dev/null +++ b/fatfs/documents/doc/sfatfs.html @@ -0,0 +1,62 @@ + + +
+ + + + + +The FATFS structure (filesystem object) holds dynamic work area of individual logical drives. It is given by application program and registerd/unregisterd to the FatFs module with f_mount function. Initialization of the structure is done by volume mount process whenever necessary. Application program must not modify any member in this structure, or the FAT volume will be collapsed.
++typedef struct { + BYTE fs_type; /* FAT type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ + BYTE pdrv; /* Hosting physical drive of this volume */ + BYTE n_fats; /* Number of FAT copies (1,2) */ + BYTE wflag; /* win[] flag (b0:win[] is dirty) */ + BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ + WORD id; /* Volume mount ID */ + WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ + WORD csize; /* Sectors per cluster */ +#if FF_MAX_SS != FF_MIN_SS + WORD ssize; /* Sector size (512,1024,2048 or 4096) */ +#endif +#if FF_FS_EXFAT + BYTE* dirbuf; /* Directory entry block scratchpad buffer */ +#endif +#if FF_FS_REENTRANT + FF_SYNC_t sobj; /* Identifier of sync object */ +#endif +#if !FF_FS_READONLY + DWORD last_clust; /* FSINFO: Last allocated cluster (0xFFFFFFFF if invalid) */ + DWORD free_clust; /* FSINFO: Number of free clusters (0xFFFFFFFF if invalid) */ +#endif +#if FF_FS_RPATH + DWORD cdir; /* Cluster number of current directory (0:root) */ +#if FF_FS_EXFAT + DWORD cdc_scl; /* Containing directory start cluster (invalid when cdir is 0) */ + DWORD cdc_size; /* b31-b8:Size of containing directory, b7-b0: Chain status */ + DWORD cdc_ofs; /* Offset in the containing directory (invalid when cdir is 0) */ +#endif +#endif + DWORD n_fatent; /* Number of FAT entries (Number of clusters + 2) */ + DWORD fsize; /* Sectors per FAT */ + DWORD volbase; /* Volume base LBA */ + DWORD fatbase; /* FAT base LBA */ + DWORD dirbase; /* Root directory base (LBA|Cluster) */ + DWORD database; /* Data base LBA */ + DWORD winsect; /* Sector LBA appearing in the win[] */ + BYTE win[FF_MAX_SS]; /* Disk access window for directory, FAT (and file data at tiny cfg) */ +} FATFS; ++