]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Uefi/UefiGpt.h
INF module description added
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiGpt.h
1 /** @file
2 EFI Guid Partition Table Format Definition.
3
4 Copyright (c) 2006 - 2008, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef __UEFI_GPT_H__
16 #define __UEFI_GPT_H__
17
18 ///
19 /// The primary GUID Partition Table Header must be
20 /// located in LBA 1 (i.e., the second logical block).
21 ///
22 #define PRIMARY_PART_HEADER_LBA 1
23
24 ///
25 /// EFI Partition Table Signature: "EFI PART"
26 ///
27 #define EFI_PTAB_HEADER_ID 0x5452415020494645ULL
28
29 #pragma pack(1)
30
31 ///
32 /// GPT Partition Table Header
33 ///
34 typedef struct {
35 EFI_TABLE_HEADER Header;
36 EFI_LBA MyLBA;
37 EFI_LBA AlternateLBA;
38 EFI_LBA FirstUsableLBA;
39 EFI_LBA LastUsableLBA;
40 EFI_GUID DiskGUID;
41 EFI_LBA PartitionEntryLBA;
42 UINT32 NumberOfPartitionEntries;
43 UINT32 SizeOfPartitionEntry;
44 UINT32 PartitionEntryArrayCRC32;
45 } EFI_PARTITION_TABLE_HEADER;
46
47 ///
48 /// GPT Partition Entry
49 ///
50 typedef struct {
51 EFI_GUID PartitionTypeGUID;
52 EFI_GUID UniquePartitionGUID;
53 EFI_LBA StartingLBA;
54 EFI_LBA EndingLBA;
55 UINT64 Attributes;
56 CHAR16 PartitionName[36];
57 } EFI_PARTITION_ENTRY;
58
59 #pragma pack()
60 #endif
61
62