📄 fat32.h
字号:
#ifndef _FAT32#define _FAT32// Boot Sector#define BS_JMPBOOT 0 // Length = 3#define BS_OEM_NAME 3 // Length = 8#define BPB_BYTES_PER_SEC 11 // Length = 2#define BPB_SEC_PER_CLUS 13 // Length = 1#define BPB_RSVD_SEC_CNT 14 // Length = 2#define BPB_NUM_FATS 16 // Length = 1#define BPB_ROOT_ENT_CNT 17 // Length = 2#define BPB_TOT_SEC16 19 // Length = 2#define BPB_MEDIA 21 // Length = 1#define BPB_FATSZ16 22 // Length = 2#define BPB_SEC_PER_TRK 24 // Length = 2#define BPB_NUM_HEADS 26 // Length = 2#define BPB_HIDD_SEC 28 // Length = 4#define BPB_TOT_SEC32 32 // Length = 4// FAT 32#define BPB_FAT32_FATSZ32 36 // Length = 4#define BPB_FAT32_EXT_FLAGS 40 // Length = 2#define BPB_FAT32_FSVER 42 // Length = 2#define BPB_FAT32_ROOT_CLUS 44 // Length = 4#define BPB_FAT32_FS_INFO 48 // Length = 2#define BPB_FAT32_BKBOOT_SEC 50 // Length = 2#define BS_FAT32_DRV_NUM 64 // Length = 1#define BS_FAT32_BOOT_SIG 66 // Length = 1#define BS_FAT32_VOL_ID 67 // Length = 4#define BS_FAT32_VOL_LAB 71 // Length = 11#define BS_FAT32_FIL_SYSTYPE 82 // Length = 8struct super_block{ unsigned short BytsPerSec; unsigned char SecPerClus; unsigned short RsvdSecCnt; unsigned char NumFATs; unsigned short RootEntCnt; unsigned short TotSec16; unsigned char Media; unsigned short FATSz16; unsigned short SecPerTrk; unsigned short NumHeads; unsigned int HiddSec; unsigned int TotSec32; unsigned int FAT32_FATSz32; unsigned short FAT32_ExtFlags; unsigned short FAT32_FSVer; unsigned int FAT32_RootClus; unsigned short FAT32_FSInfo; unsigned short FAT32_BkBootSec; unsigned char FAT32_DrvNum; unsigned char FAT32_BootSig; unsigned int FAT32_VolID; unsigned char FAT32_VolLab[11]; unsigned char FAT32_FilSysType[8];};#define ATTR_READ_ONLY 0x01#define ATTR_HIDDEN 0x02#define ATTR_SYSTEM 0x04#define ATTR_VOLUME_ID 0x08#define ATTR_DIRECTORY 0x10#define ATTR_ARCHIVE 0x20#define ATTR_LONG_NAME (ATTR_READ_ONLY|ATTR_HIDDEN|ATTR_SYSTEM|ATTR_VOLUME_ID) #define ATTR_LONG_NAME_MASK (ATTR_READ_ONLY|ATTR_HIDDEN|ATTR_SYSTEM|ATTR_VOLUME_ID|ATTR_DIRECTORY|ATTR_ARCHIVE)typedef struct { unsigned char Dir_Name[11]; unsigned char Dir_Attr; unsigned char Dir_NTRes; unsigned char DIR_CrtTimeTenth; unsigned short DIR_CrtTime; unsigned short DIR_CrtDate; unsigned short DIR_LstAccDate; unsigned short DIR_FstClusHI; unsigned short DIR_WrtTime; unsigned short DIR_Date; unsigned short DIR_FstClusLO; unsigned int DIR_FileSize; }FAT32_DIR_ENTRY_SHORT;typedef struct { unsigned char LDIR_Ord; unsigned char LDIR_Name1[10]; unsigned char LDIR_Attr; unsigned char LDIR_Type; unsigned char LDIR_Chksum; unsigned char LDIR_Name2[12]; unsigned short LDIR_FstClusLO; unsigned char LDIR_Name3[4]; }FAT32_DIR_ENTRY_LONG;#define FAT12 0#define FAT16 1#define FAT32 2#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -