71#define PARTITION_ENTRY_UNUSED 0x00
72#define PARTITION_FAT_12 0x01
73#define PARTITION_XENIX_1 0x02
74#define PARTITION_XENIX_2 0x03
75#define PARTITION_FAT_16 0x04
76#define PARTITION_EXTENDED 0x05
77#define PARTITION_HUGE 0x06
78#define PARTITION_IFS 0x07
79#define PARTITION_OS2BOOTMGR 0x0A
80#define PARTITION_FAT32 0x0B
81#define PARTITION_FAT32_XINT13 0x0C
82#define PARTITION_XINT13 0x0E
83#define PARTITION_XINT13_EXTENDED 0x0F
84#define PARTITION_NTFS 0x17
85#define PARTITION_PREP 0x41
86#define PARTITION_LDM 0x42
87#define PARTITION_UNIX 0x63
88#define VALID_NTFT 0xC0
89#define PARTITION_NTFT 0x80
90#define PARTITION_GPT 0xEE
92#define PARTITION_OLD_LINUX 0x43
93#define PARTITION_LINUX 0x83
101#if defined(__i386__) || defined(_M_AMD64)
ULONG FrldrGetBootPartition(VOID)
struct _PARTITION_TABLE_ENTRY PARTITION_TABLE_ENTRY
CCHAR FrLdrBootPath[MAX_PATH]
PCCHAR FrLdrGetBootPath(VOID)
struct _PARTITION_TABLE_ENTRY * PPARTITION_TABLE_ENTRY
struct _MASTER_BOOT_RECORD * PMASTER_BOOT_RECORD
ULONG LoadBootDeviceDriver(VOID)
BOOLEAN DiskGetPartitionEntry(IN UCHAR DriveNumber, IN ULONG PartitionNumber, OUT PPARTITION_TABLE_ENTRY PartitionTableEntry)
UCHAR FrldrGetBootDrive(VOID)
struct _MASTER_BOOT_RECORD MASTER_BOOT_RECORD
struct _GEOMETRY * PGEOMETRY
struct _GEOMETRY GEOMETRY
BOOLEAN DiskGetBootPartitionEntry(IN UCHAR DriveNumber, OUT PPARTITION_TABLE_ENTRY PartitionTableEntry, OUT PULONG BootPartition)
SIZE_T DiskReadBufferSize
VOID DiskDetectPartitionType(IN UCHAR DriveNumber)
VOID __cdecl DiskStopFloppyMotor(VOID)
ULONG BytesPerSector
Number of bytes per sector.
ULONG Cylinders
Number of cylinders on the disk.
ULONGLONG Sectors
Total number of disk sectors/LBA blocks.
ULONG SectorsPerTrack
Number of sectors per track.
ULONG Heads
Number of heads on the disk.
UCHAR MasterBootRecordCodeAndData[0x1b8]
USHORT MasterBootRecordMagic
PARTITION_TABLE_ENTRY PartitionTable[4]
ULONG SectorCountBeforePartition
ULONG PartitionSectorCount
_In_ ULONG _In_ ULONG PartitionNumber