]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Protocol/PartitionInfo.h
MdePkg: Replace BSD License with BSD+Patent License
[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
25 #define EFI_PARTITION_INFO_PROTOCOL_REVISION 0x0001000
26 #define PARTITION_TYPE_OTHER 0x00
27 #define PARTITION_TYPE_MBR 0x01
28 #define PARTITION_TYPE_GPT 0x02
29
30 #pragma pack(1)
31
32 ///
33 /// Partition Information Protocol structure.
34 ///
35 typedef struct {
36 //
37 // Set to EFI_PARTITION_INFO_PROTOCOL_REVISION.
38 //
39 UINT32 Revision;
40 //
41 // Partition info type (PARTITION_TYPE_MBR, PARTITION_TYPE_GPT, or PARTITION_TYPE_OTHER).
42 //
43 UINT32 Type;
44 //
45 // If 1, partition describes an EFI System Partition.
46 //
47 UINT8 System;
48 UINT8 Reserved[7];
49 union {
50 ///
51 /// MBR data
52 ///
53 MBR_PARTITION_RECORD Mbr;
54 ///
55 /// GPT data
56 ///
57 EFI_PARTITION_ENTRY Gpt;
58 } Info;
59 } EFI_PARTITION_INFO_PROTOCOL;
60
61 #pragma pack()
62
63 ///
64 /// Partition Information Protocol GUID variable.
65 ///
66 extern EFI_GUID gEfiPartitionInfoProtocolGuid;
67
68 #endif