Expand PMF_FN_* macros.
[netbsd-mini2440.git] / sys / arch / ia64 / stand / efi / include / efipart.h
blob5612b71dbbce887890bf6e439bb66bbf86e02de3
1 /* $NetBSD: efipart.h,v 1.1 2006/04/07 14:21:29 cherry Exp $ */
2 /* $FreeBSD: src/sys/boot/efi/include/efipart.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */
4 #ifndef _EFI_PART_H
5 #define _EFI_PART_H
7 /*++
9 Copyright (c) 1998 Intel Corporation
11 Module Name:
13 efipart.h
15 Abstract:
16 Info about disk partitions and Master Boot Records
21 Revision History
23 --*/
25 #define EFI_PARTITION 0xef
26 #define MBR_SIZE 512
28 #pragma pack(1)
30 typedef struct {
31 UINT8 BootIndicator;
32 UINT8 StartHead;
33 UINT8 StartSector;
34 UINT8 StartTrack;
35 UINT8 OSIndicator;
36 UINT8 EndHead;
37 UINT8 EndSector;
38 UINT8 EndTrack;
39 UINT8 StartingLBA[4];
40 UINT8 SizeInLBA[4];
41 } MBR_PARTITION_RECORD;
43 #define EXTRACT_UINT32(D) (UINT32)(D[0] | (D[1] << 8) | (D[2] << 16) | (D[3] << 24))
45 #define MBR_SIGNATURE 0xaa55
46 #define MIN_MBR_DEVICE_SIZE 0x80000
47 #define MBR_ERRATA_PAD 0x40000 /* 128 MB */
49 #define MAX_MBR_PARTITIONS 4
50 typedef struct {
51 UINT8 BootStrapCode[440];
52 UINT8 UniqueMbrSignature[4];
53 UINT8 Unknown[2];
54 MBR_PARTITION_RECORD Partition[MAX_MBR_PARTITIONS];
55 UINT16 Signature;
56 } MASTER_BOOT_RECORD;
57 #pragma pack()
60 #endif