2008-04-03 06:56:34 +02:00
|
|
|
/** @file
|
2007-06-08 13:31:52 +02:00
|
|
|
EFI Guid Partition Table Format Definition.
|
|
|
|
|
|
|
|
Copyright (c) 2006 - 2007, Intel Corporation
|
|
|
|
All rights reserved. This program and the accompanying materials
|
|
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
|
|
|
|
**/
|
|
|
|
|
|
|
|
#ifndef __UEFI_GPT_H__
|
|
|
|
#define __UEFI_GPT_H__
|
|
|
|
|
|
|
|
#define PRIMARY_PART_HEADER_LBA 1
|
|
|
|
|
2008-06-24 09:14:18 +02:00
|
|
|
///
|
|
|
|
/// EFI Partition Table Signature: "EFI PART"
|
|
|
|
///
|
2007-06-08 13:31:52 +02:00
|
|
|
#define EFI_PTAB_HEADER_ID 0x5452415020494645ULL
|
|
|
|
|
|
|
|
#pragma pack(1)
|
2008-06-24 09:14:18 +02:00
|
|
|
|
|
|
|
///
|
|
|
|
/// GPT Partition Table Header
|
|
|
|
///
|
2007-06-08 13:31:52 +02:00
|
|
|
typedef struct {
|
|
|
|
EFI_TABLE_HEADER Header;
|
|
|
|
EFI_LBA MyLBA;
|
|
|
|
EFI_LBA AlternateLBA;
|
|
|
|
EFI_LBA FirstUsableLBA;
|
|
|
|
EFI_LBA LastUsableLBA;
|
|
|
|
EFI_GUID DiskGUID;
|
|
|
|
EFI_LBA PartitionEntryLBA;
|
|
|
|
UINT32 NumberOfPartitionEntries;
|
|
|
|
UINT32 SizeOfPartitionEntry;
|
|
|
|
UINT32 PartitionEntryArrayCRC32;
|
|
|
|
} EFI_PARTITION_TABLE_HEADER;
|
|
|
|
|
2008-06-24 09:14:18 +02:00
|
|
|
///
|
|
|
|
/// GPT Partition Entry
|
|
|
|
///
|
2007-06-08 13:31:52 +02:00
|
|
|
typedef struct {
|
|
|
|
EFI_GUID PartitionTypeGUID;
|
|
|
|
EFI_GUID UniquePartitionGUID;
|
|
|
|
EFI_LBA StartingLBA;
|
|
|
|
EFI_LBA EndingLBA;
|
|
|
|
UINT64 Attributes;
|
|
|
|
CHAR16 PartitionName[36];
|
|
|
|
} EFI_PARTITION_ENTRY;
|
|
|
|
|
2008-06-24 09:14:18 +02:00
|
|
|
///
|
|
|
|
/// GPT Partition Entry Status
|
|
|
|
///
|
2007-06-08 13:31:52 +02:00
|
|
|
typedef struct {
|
|
|
|
BOOLEAN OutOfRange;
|
|
|
|
BOOLEAN Overlap;
|
|
|
|
} EFI_PARTITION_ENTRY_STATUS;
|
|
|
|
|
|
|
|
#pragma pack()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|