00001 /** @file 00002 EFI Guid Partition Table Format Definition. 00003 00004 Copyright (c) 2006 - 2008, Intel Corporation 00005 All rights reserved. This program and the accompanying materials 00006 are licensed and made available under the terms and conditions of the BSD License 00007 which accompanies this distribution. The full text of the license may be found at 00008 http://opensource.org/licenses/bsd-license.php 00009 00010 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 00011 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 00012 00013 **/ 00014 00015 #ifndef __UEFI_GPT_H__ 00016 #define __UEFI_GPT_H__ 00017 00018 /// 00019 /// The primary GUID Partition Table Header must be 00020 /// located in LBA 1 (i.e., the second logical block). 00021 /// 00022 #define PRIMARY_PART_HEADER_LBA 1 00023 00024 /// 00025 /// EFI Partition Table Signature: "EFI PART" 00026 /// 00027 #define EFI_PTAB_HEADER_ID 0x5452415020494645ULL 00028 00029 #pragma pack(1) 00030 00031 /// 00032 /// GPT Partition Table Header 00033 /// 00034 typedef struct { 00035 EFI_TABLE_HEADER Header; 00036 EFI_LBA MyLBA; 00037 EFI_LBA AlternateLBA; 00038 EFI_LBA FirstUsableLBA; 00039 EFI_LBA LastUsableLBA; 00040 EFI_GUID DiskGUID; 00041 EFI_LBA PartitionEntryLBA; 00042 UINT32 NumberOfPartitionEntries; 00043 UINT32 SizeOfPartitionEntry; 00044 UINT32 PartitionEntryArrayCRC32; 00045 } EFI_PARTITION_TABLE_HEADER; 00046 00047 /// 00048 /// GPT Partition Entry 00049 /// 00050 typedef struct { 00051 EFI_GUID PartitionTypeGUID; 00052 EFI_GUID UniquePartitionGUID; 00053 EFI_LBA StartingLBA; 00054 EFI_LBA EndingLBA; 00055 UINT64 Attributes; 00056 CHAR16 PartitionName[36]; 00057 } EFI_PARTITION_ENTRY; 00058 00059 #pragma pack() 00060 #endif 00061 00062
1.5.7.1