2015-07-08 08:39:24 -07:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
< html lang = "en" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=iso-8859-1" >
< meta http-equiv = "Content-Style-Type" content = "text/css" >
< link rel = "up" title = "FatFs" href = "../00index_e.html" >
< link rel = "alternate" hreflang = "ja" title = "Japanese" href = "../ja/sfatfs.html" >
< link rel = "stylesheet" href = "../css_e.css" type = "text/css" media = "screen" title = "ELM Default" >
< title > FatFs - FATFS< / title >
< / head >
< body >
< div class = "para" >
< h2 > FATFS< / h2 >
2017-05-03 12:35:19 +01:00
< p > The < tt > FATFS< / tt > structure (file system object) holds dynamic work area of individual logical drives. It is given by application program and registerd/unregisterd to the FatFs module with < tt > f_mount< / tt > 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 can be collapsed.< / p >
2015-07-08 08:39:24 -07:00
< pre >
< span class = "k" > typedef< / span > < span class = "k" > struct< / span > {
2016-07-28 23:06:21 -07:00
BYTE fs_type; < span class = "c" > /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */< / span >
2015-07-08 08:39:24 -07:00
BYTE drv; < span class = "c" > /* Physical drive number */< / span >
BYTE n_fats; < span class = "c" > /* Number of FAT copies (1,2) */< / span >
BYTE wflag; < span class = "c" > /* win[] flag (b0:win[] is dirty) */< / span >
BYTE fsi_flag; < span class = "c" > /* FSINFO flags (b7:Disabled, b0:Dirty) */< / span >
WORD id; < span class = "c" > /* File system mount ID */< / span >
WORD n_rootdir; < span class = "c" > /* Number of root directory entries (FAT12/16) */< / span >
2016-07-28 23:06:21 -07:00
WORD csize; < span class = "c" > /* Sectors per cluster */< / span >
2015-07-08 08:39:24 -07:00
< span class = "k" > #if< / span > _MAX_SS != _MIN_SS
WORD ssize; < span class = "c" > /* Sector size (512,1024,2048 or 4096) */< / span >
< span class = "k" > #endif< / span >
2016-07-28 23:06:21 -07:00
< span class = "k" > #if _FS_EXFAT< / span >
BYTE* dirbuf; < span class = "c" > /* Directory entry block scratchpad buffer */< / span >
< span class = "k" > #endif< / span >
2015-07-08 08:39:24 -07:00
< span class = "k" > #if< / span > _FS_REENTRANT
_SYNC_t sobj; < span class = "c" > /* Identifier of sync object */< / span >
< span class = "k" > #endif< / span >
< span class = "k" > #if< / span > !_FS_READONLY
2016-04-19 09:51:31 -07:00
DWORD last_clust; < span class = "c" > /* FSINFO: Last allocated cluster (0xFFFFFFFF if invalid) */< / span >
DWORD free_clust; < span class = "c" > /* FSINFO: Number of free clusters (0xFFFFFFFF if invalid) */< / span >
2015-07-08 08:39:24 -07:00
< span class = "k" > #endif< / span >
< span class = "k" > #if< / span > _FS_RPATH
2016-04-19 09:51:31 -07:00
DWORD cdir; < span class = "c" > /* Cluster number of current directory (0:root) */< / span >
2016-07-28 23:06:21 -07:00
< span class = "k" > #if _FS_EXFAT< / span >
DWORD cdc_scl; < span class = "c" > /* Containing directory start cluster (invalid when cdir is 0) */< / span >
DWORD cdc_size; < span class = "c" > /* b31-b8:Size of containing directory, b7-b0: Chain status */< / span >
DWORD cdc_ofs; < span class = "c" > /* Offset in the containing directory (invalid when cdir is 0) */< / span >
< span class = "k" > #endif< / span >
2015-07-08 08:39:24 -07:00
< span class = "k" > #endif< / span >
2016-04-19 09:51:31 -07:00
DWORD n_fatent; < span class = "c" > /* Number of FAT entries (Number of clusters + 2) */< / span >
2015-07-08 08:39:24 -07:00
DWORD fsize; < span class = "c" > /* Sectors per FAT */< / span >
2016-04-19 09:51:31 -07:00
DWORD volbase; < span class = "c" > /* Volume base LBA */< / span >
DWORD fatbase; < span class = "c" > /* FAT base LBA */< / span >
DWORD dirbase; < span class = "c" > /* Root directory base (LBA|Cluster) */< / span >
DWORD database; < span class = "c" > /* Data base LBA */< / span >
DWORD winsect; < span class = "c" > /* Sector LBA appearing in the win[] */< / span >
2015-07-08 08:39:24 -07:00
BYTE win[_MAX_SS]; < span class = "c" > /* Disk access window for directory, FAT (and file data at tiny cfg) */< / span >
} FATFS;
< / pre >
< / div >
< p class = "foot" > < a href = "../00index_e.html" > Return< / a > < / p >
< / body >
< / html >