#include <IOKit/storage/IOApplePartitionScheme.h>

IOKit/storage/IOApplePartitionScheme.h Kernel.framework

This header contains the IOApplePartitionScheme class definition.
14 macros · 3 structs · 3 typedefs

macrokIOApplePartitionSchemeClass

#define kIOApplePartitionSchemeClass "IOApplePartitionScheme"

macroDPISTRLEN

#define DPISTRLEN 32

structdpme

size 512, align 1
UInt16dpme_signature(unique value for partition entry, 'PM')
UInt16dpme_reserved_1(reserved for future use)
UInt32dpme_map_entries(number of partition entries)
UInt32dpme_pblock_start(physical block start of partition)
UInt32dpme_pblocks(physical block count of partition)
char[32]dpme_name(name of partition)
char[32]dpme_type(type of partition, eg. Apple_HFS)
UInt32dpme_lblock_start(logical block start of partition)
UInt32dpme_lblocks(logical block count of partition)
UInt32dpme_flags(partition flags, see defines below)
UInt32dpme_boot_block(logical block start of boot code)
UInt32dpme_boot_bytes(byte count of boot code)
UInt32dpme_load_addr(load address in memory of boot code)
UInt32dpme_load_addr_2(reserved for future use)
UInt32dpme_goto_addr(jump address in memory of boot code)
UInt32dpme_goto_addr_2(reserved for future use)
UInt32dpme_checksum(checksum of boot code)
UInt8[16]dpme_process_id(processor type)
UInt32[32]dpme_reserved_2(reserved for future use)
UInt32[62]dpme_reserved_3(reserved for future use)

typedefDPME

typedef struct dpme DPME;

structDDMap

size 8, align 1
UInt32ddBlock(driver's block start, sbBlkSize-blocks)
UInt16ddSize(driver's block count, 512-blocks)
UInt16ddType(driver's system type)

typedefDDMap

typedef struct DDMap DDMap;

structBlock0

size 512, align 1
UInt16sbSig(unique value for block zero, 'ER')
UInt16sbBlkSize(block size for this device)
UInt32sbBlkCount(block count for this device)
UInt16sbDevType(device type)
UInt16sbDevId(device id)
UInt32sbDrvrData(driver data)
UInt16sbDrvrCount(driver descriptor count)
DDMap[8]sbDrvrMap(driver descriptor table)
UInt8[430]sbReserved(reserved for future use)

typedefBlock0

typedef struct Block0 Block0;

macroBLOCK0_SIGNATURE

#define BLOCK0_SIGNATURE 0x4552

macroDPME_SIGNATURE

#define DPME_SIGNATURE 0x504D

macroDPME_FLAGS_VALID

#define DPME_FLAGS_VALID 0x00000001
(bit 0)

macroDPME_FLAGS_ALLOCATED

#define DPME_FLAGS_ALLOCATED 0x00000002
(bit 1)

macroDPME_FLAGS_IN_USE

#define DPME_FLAGS_IN_USE 0x00000004
(bit 2)

macroDPME_FLAGS_BOOTABLE

#define DPME_FLAGS_BOOTABLE 0x00000008
(bit 3)

macroDPME_FLAGS_READABLE

#define DPME_FLAGS_READABLE 0x00000010
(bit 4)

macroDPME_FLAGS_WRITABLE

#define DPME_FLAGS_WRITABLE 0x00000020
(bit 5)

macroDPME_FLAGS_OS_PIC_CODE

#define DPME_FLAGS_OS_PIC_CODE 0x00000040
(bit 6)

macroDPME_FLAGS_OS_SPECIFIC_2

#define DPME_FLAGS_OS_SPECIFIC_2 0x00000080
(bit 7)

macroDPME_FLAGS_OS_SPECIFIC_1

#define DPME_FLAGS_OS_SPECIFIC_1 0x00000100
(bit 8)

macroDPME_FLAGS_RESERVED_2

#define DPME_FLAGS_RESERVED_2 0xFFFFFE00
(bit 9..31)