]>
Commit | Line | Data |
---|---|---|
53668523 L |
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r |
2 | <html lang="en">\r | |
3 | <head>\r | |
289f6a14 | 4 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r |
53668523 L |
5 | <meta http-equiv="Content-Style-Type" content="text/css">\r |
6 | <link rel="up" title="FatFs" href="../00index_e.html">\r | |
7 | <link rel="alternate" hreflang="ja" title="Japanese" href="../ja/sfatfs.html">\r | |
8 | <link rel="stylesheet" href="../css_e.css" type="text/css" media="screen" title="ELM Default">\r | |
9 | <title>FatFs - FATFS</title>\r | |
10 | </head>\r | |
11 | \r | |
12 | <body>\r | |
13 | \r | |
14 | <div class="para">\r | |
15 | <h2>FATFS</h2>\r | |
289f6a14 | 16 | <p>The <tt>FATFS</tt> 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 <tt>f_mount</tt> function. Initialization of the structure is done by volume mount process whenever necessary. Application program <em>must not</em> modify any member in this structure, or the FAT volume will be collapsed.</p>\r |
53668523 L |
17 | <pre>\r |
18 | <span class="k">typedef</span> <span class="k">struct</span> {\r | |
289f6a14 L |
19 | BYTE fs_type; <span class="c">/* FAT type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */</span>\r |
20 | BYTE pdrv; <span class="c">/* Hosting physical drive of this volume */</span>\r | |
53668523 L |
21 | BYTE n_fats; <span class="c">/* Number of FAT copies (1,2) */</span>\r |
22 | BYTE wflag; <span class="c">/* win[] flag (b0:win[] is dirty) */</span>\r | |
23 | BYTE fsi_flag; <span class="c">/* FSINFO flags (b7:Disabled, b0:Dirty) */</span>\r | |
289f6a14 | 24 | WORD id; <span class="c">/* Volume mount ID */</span>\r |
53668523 | 25 | WORD n_rootdir; <span class="c">/* Number of root directory entries (FAT12/16) */</span>\r |
70702af1 | 26 | WORD csize; <span class="c">/* Sectors per cluster */</span>\r |
289f6a14 | 27 | <span class="k">#if</span> FF_MAX_SS != FF_MIN_SS\r |
53668523 L |
28 | WORD ssize; <span class="c">/* Sector size (512,1024,2048 or 4096) */</span>\r |
29 | <span class="k">#endif</span>\r | |
289f6a14 | 30 | <span class="k">#if</span> FF_FS_EXFAT\r |
70702af1 L |
31 | BYTE* dirbuf; <span class="c">/* Directory entry block scratchpad buffer */</span>\r |
32 | <span class="k">#endif</span>\r | |
289f6a14 | 33 | <span class="k">#if</span> FF_FS_REENTRANT\r |
5630b930 | 34 | FF_SYNC_t sobj; <span class="c">/* Identifier of sync object */</span>\r |
53668523 | 35 | <span class="k">#endif</span>\r |
289f6a14 | 36 | <span class="k">#if</span> !FF_FS_READONLY\r |
70702af1 L |
37 | DWORD last_clust; <span class="c">/* FSINFO: Last allocated cluster (0xFFFFFFFF if invalid) */</span>\r |
38 | DWORD free_clust; <span class="c">/* FSINFO: Number of free clusters (0xFFFFFFFF if invalid) */</span>\r | |
53668523 | 39 | <span class="k">#endif</span>\r |
289f6a14 | 40 | <span class="k">#if</span> FF_FS_RPATH\r |
70702af1 | 41 | DWORD cdir; <span class="c">/* Cluster number of current directory (0:root) */</span>\r |
289f6a14 | 42 | <span class="k">#if</span> FF_FS_EXFAT\r |
70702af1 L |
43 | DWORD cdc_scl; <span class="c">/* Containing directory start cluster (invalid when cdir is 0) */</span>\r |
44 | DWORD cdc_size; <span class="c">/* b31-b8:Size of containing directory, b7-b0: Chain status */</span>\r | |
45 | DWORD cdc_ofs; <span class="c">/* Offset in the containing directory (invalid when cdir is 0) */</span>\r | |
46 | <span class="k">#endif</span>\r | |
53668523 | 47 | <span class="k">#endif</span>\r |
70702af1 | 48 | DWORD n_fatent; <span class="c">/* Number of FAT entries (Number of clusters + 2) */</span>\r |
53668523 | 49 | DWORD fsize; <span class="c">/* Sectors per FAT */</span>\r |
5630b930 L |
50 | LBA_t volbase; <span class="c">/* Volume base LBA */</span>\r |
51 | LBA_t fatbase; <span class="c">/* FAT base LBA */</span>\r | |
52 | LBA_t dirbase; <span class="c">/* Root directory base (LBA|Cluster) */</span>\r | |
53 | LBA_t database; <span class="c">/* Data base LBA */</span>\r | |
54 | LBA_t winsect; <span class="c">/* Sector LBA appearing in the win[] */</span>\r | |
289f6a14 | 55 | BYTE win[FF_MAX_SS]; <span class="c">/* Disk access window for directory, FAT (and file data at tiny cfg) */</span>\r |
53668523 L |
56 | } FATFS;\r |
57 | </pre>\r | |
58 | </div>\r | |
59 | \r | |
60 | <p class="foot"><a href="../00index_e.html">Return</a></p>\r | |
61 | </body>\r | |
62 | </html>\r |