mirror of https://github.com/acidanthera/audk.git
77 lines
1.9 KiB
C
77 lines
1.9 KiB
C
/*++
|
|
|
|
Copyright (c) 2006, 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.
|
|
|
|
Module Name:
|
|
|
|
Gpt.h
|
|
|
|
Abstract:
|
|
|
|
Data Structures required for detecting GPT Partitions
|
|
|
|
Revision History
|
|
|
|
--*/
|
|
|
|
#ifndef _GPT_H_
|
|
#define _GPT_H_
|
|
|
|
#pragma pack(1)
|
|
|
|
#define PRIMARY_PART_HEADER_LBA 1
|
|
|
|
#define EFI_PTAB_HEADER_ID "EFI PART"
|
|
|
|
//
|
|
// EFI Partition Attributes
|
|
//
|
|
#define EFI_PART_REQUIRED_TO_FUNCTION 0x0000000000000001
|
|
|
|
//
|
|
// GPT Partition Table Header
|
|
//
|
|
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;
|
|
|
|
//
|
|
// GPT Partition Entry
|
|
//
|
|
typedef struct {
|
|
EFI_GUID PartitionTypeGUID;
|
|
EFI_GUID UniquePartitionGUID;
|
|
EFI_LBA StartingLBA;
|
|
EFI_LBA EndingLBA;
|
|
UINT64 Attributes;
|
|
CHAR16 PartitionName[36];
|
|
} EFI_PARTITION_ENTRY;
|
|
|
|
//
|
|
// GPT Partition Entry Status
|
|
//
|
|
typedef struct {
|
|
BOOLEAN OutOfRange;
|
|
BOOLEAN Overlap;
|
|
} EFI_PARTITION_ENTRY_STATUS;
|
|
|
|
#pragma pack()
|
|
|
|
#endif
|