?? fatx.h
字號:
#ifndef FAT_H
#define FAT_H
#define CHAR unsigned char
#define BYTE unsigned char
#define WORD unsigned int
#define DWORD unsigned long
struct partrecord // 16 字節
{
BYTE prIsActive; // 0x80代表該分區為缺省分區
BYTE prStartHead; // 該分區入口的磁頭地址
WORD prStartCylSect; // 該分區入口的扇區地址和柱面地址
BYTE prPartType; // 該分區類型
BYTE prEndHead; // 該分區結束的扇區地址
WORD prEndCylSect; // 該分區結束的柱面地址
DWORD prStartLBA; // 該分區內第一個扇區地址
DWORD prSize; // 該分區所包含的扇區總數
};
struct partsector
{
CHAR psPartCode[512-64-2]; // 啟動代碼 (446 bytes)
BYTE psPart[64]; // 四個分區表(64 bytes)
BYTE psBootSectSig0; // 兩個簽名(2 bytes)
BYTE psBootSectSig1;
#define BOOTSIG0 0x55
#define BOOTSIG1 0xaa
};
//系統引導扇區(DOS BOOT RECORD)DBR結構
struct bootsector710 {
BYTE bsJump[3]; // 跳轉指令
CHAR bsOEMName[8]; // 廠商標志和OS版本號
CHAR bsBPB[53]; // BIOS 參數塊
CHAR bsExt[26]; // 擴展BPB
CHAR bsBootCode[418]; // 引導扇區代碼
BYTE bsBootSectSig2;
BYTE bsBootSectSig3;
BYTE bsBootSectSig0; // 引導扇區簽名0x55
BYTE bsBootSectSig1; // 引導扇區簽名0xAA
#define BOOTSIG0 0x55
#define BOOTSIG1 0xaa
#define BOOTSIG2 0
#define BOOTSIG3 0
};
// BIOS 參數塊
struct bpb710 {
WORD bpbBytesPerSec; // 每扇區字節數
BYTE bpbSecPerClust; // 每簇扇區數
WORD bpbResSectors; // 保留區域中的保留扇區數
BYTE bpbFATs; // FAT表的份數
WORD bpbRootDirEnts; // 根目錄項數
WORD bpbSectors; // 此域為存儲卷上的扇區總數
BYTE bpbMedia; // 固定存儲介質描述
WORD bpbFATsecs; // FAT表所占的扇區數
WORD bpbSecPerTrack; // 每道扇區數
WORD bpbHeads; // 磁頭數
DWORD bpbHiddenSecs; // 隱藏扇區數
DWORD bpbHugeSectors; // 總扇區數
DWORD bpbBigFATsecs;// 每個FAT區所占扇區數
WORD bpbExtFlags; // 擴展標志
#define FATNUM 0xf
#define FATMIRROR 0x80
WORD bpbFSVers; // 文件系統版本
#define FSVERS 0
DWORD bpbRootClust; // 根目錄簇號
WORD bpbFSInfo; // 文件系統信息扇區號
WORD bpbBackup; // 備份引導扇區
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -