#ifndef _EFI_PART_H1#define _EFI_PART_H23/*++45Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved6This software and associated documentation (if any) is furnished7under a license and may only be used or copied in accordance8with the terms of the license. Except as permitted by such9license, no part of this software or documentation may be10reproduced, stored in a retrieval system, or transmitted in any11form or by any means without the express written consent of12Intel Corporation.1314Module Name:1516efipart.h1718Abstract:19Info about disk partitions and Master Boot Records2021222324Revision History2526--*/2728//29//30//3132#define EFI_PARTITION 0xef33#define MBR_SIZE 5123435#pragma pack(1)3637typedef struct {38UINT8 BootIndicator;39UINT8 StartHead;40UINT8 StartSector;41UINT8 StartTrack;42UINT8 OSIndicator;43UINT8 EndHead;44UINT8 EndSector;45UINT8 EndTrack;46UINT8 StartingLBA[4];47UINT8 SizeInLBA[4];48} MBR_PARTITION_RECORD;4950#define EXTRACT_UINT32(D) (UINT32)(D[0] | (D[1] << 8) | (D[2] << 16) | (D[3] << 24))5152#define MBR_SIGNATURE 0xaa5553#define MIN_MBR_DEVICE_SIZE 0x8000054#define MBR_ERRATA_PAD 0x40000 // 128 MB5556#define MAX_MBR_PARTITIONS 457typedef struct {58UINT8 BootStrapCode[440];59UINT8 UniqueMbrSignature[4];60UINT8 Unknown[2];61MBR_PARTITION_RECORD Partition[MAX_MBR_PARTITIONS];62UINT16 Signature;63} MASTER_BOOT_RECORD;64#pragma pack()656667#endif686970