]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Protocol/PartitionInfo.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Protocol / PartitionInfo.h
1 /** @file
2 This file defines the EFI Partition Information Protocol.
3
4 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 @par Revision Reference:
8 This Protocol is introduced in UEFI Specification 2.7
9
10 **/
11
12 #ifndef __PARTITION_INFO_PROTOCOL_H__
13 #define __PARTITION_INFO_PROTOCOL_H__
14
15 #include <IndustryStandard/Mbr.h>
16 #include <Uefi/UefiGpt.h>
17
18 //
19 // EFI Partition Information Protocol GUID value
20 //
21 #define EFI_PARTITION_INFO_PROTOCOL_GUID \
22 { 0x8cf2f62c, 0xbc9b, 0x4821, { 0x80, 0x8d, 0xec, 0x9e, 0xc4, 0x21, 0xa1, 0xa0 }};
23
24 #define EFI_PARTITION_INFO_PROTOCOL_REVISION 0x0001000
25 #define PARTITION_TYPE_OTHER 0x00
26 #define PARTITION_TYPE_MBR 0x01
27 #define PARTITION_TYPE_GPT 0x02
28
29 #pragma pack(1)
30
31 ///
32 /// Partition Information Protocol structure.
33 ///
34 typedef struct {
35 //
36 // Set to EFI_PARTITION_INFO_PROTOCOL_REVISION.
37 //
38 UINT32 Revision;
39 //
40 // Partition info type (PARTITION_TYPE_MBR, PARTITION_TYPE_GPT, or PARTITION_TYPE_OTHER).
41 //
42 UINT32 Type;
43 //
44 // If 1, partition describes an EFI System Partition.
45 //
46 UINT8 System;
47 UINT8 Reserved[7];
48 union {
49 ///
50 /// MBR data
51 ///
52 MBR_PARTITION_RECORD Mbr;
53 ///
54 /// GPT data
55 ///
56 EFI_PARTITION_ENTRY Gpt;
57 } Info;
58 } EFI_PARTITION_INFO_PROTOCOL;
59
60 #pragma pack()
61
62 ///
63 /// Partition Information Protocol GUID variable.
64 ///
65 extern EFI_GUID gEfiPartitionInfoProtocolGuid;
66
67 #endif