14#define MBR_TYPE_APPLE_PARTITION_TABLE_HEADER 0x20
16#define APM_ENTRY_TYPE_APM "Apple_partition_map"
17#define APM_ENTRY_TYPE_FREE "Apple_Free"
19typedef PACKED
struct {
25#define APM_DRIVER_DESCRIPTOR_MAP_SIGNATURE SIGNATURE_16 ('E', 'R')
30typedef PACKED
struct {
42#define APM_ENTRY_SIGNATURE SIGNATURE_16 ('P', 'M')
47#define APM_ENTRY_FLAGS_VALID BIT0
48#define APM_ENTRY_FLAGS_ALLOCATED BIT1
49#define APM_ENTRY_FLAGS_IN_USE BIT2
50#define APM_ENTRY_FLAGS_BOOTABLE BIT3
51#define APM_ENTRY_FLAGS_READABLE BIT4
52#define APM_ENTRY_FLAGS_WRITABLE BIT5
53#define APM_ENTRY_FLAGS_OS_PIC_CODE BIT6
54#define APM_ENTRY_FLAGS_OS_SPECIFIC_2 BIT7
55#define APM_ENTRY_FLAGS_OS_SPECIFIC_1 BIT8
56#define APM_ENTRY_FLAGS_RESERVED 0xFFFFFE00
61typedef PACKED
struct {
PACKED struct @11 APM_DRIVER_DESCRIPTOR_MAP_ENTRY
UINT32 BootStrapCodeEntry2
UINT32 BootStrapCodeChecksum
UINT32 BootStrapCodeLoadAddress2
PACKED struct @12 APM_DRIVER_DESCRIPTOR_MAP
UINT16 DriverDescriptorCount
PACKED struct @13 APM_ENTRY
UINT32 BootStrapCodeLoadAddress
APM_DRIVER_DESCRIPTOR_MAP_ENTRY DriverDescriptors[8]
UINT32 BootStrapCodeEntry
UINT32 NumberOfPartitionEntries