OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
HeciClientMsg.h
Go to the documentation of this file.
1
16#ifndef HECI_CLIENT_MSG_H
17#define HECI_CLIENT_MSG_H
18
19#include <Library/BaseOverflowLib.h>
20
21//
22// Select known clients
23//
24
25#pragma pack(1)
26
27//
28// Generic EPID SDK structures.
29//
30
31#define EPID_STATUS_PROVISIONED 0x00
32#define EPID_STATUS_CAN_PROVISION 0x02
33#define EPID_STATUS_FAIL_PROVISION 0x03
34
35#define EPID_CERTIFICATE_SIZE 876U
36#define EPID_GROUP_PUBLIC_KEY_SIZE 392U
37
38typedef struct {
41
42typedef struct {
43 UINT16 Version;
44 UINT16 FileType;
45 UINT32 GroupId;
46 UINT8 Data[EPID_GROUP_PUBLIC_KEY_SIZE - sizeof (UINT16) * 2 - sizeof (UINT32)];
48
50
51//
52// FBF6FCF1-96CF-4E2E-A6A6-1BAB8CBE36B1
53//
54#define ME_PAVP_PROTOCOL_GUID \
55 { 0xFBF6FCF1, 0x96CF, 0x4E2E, { 0xA6, 0xA6, 0x1B, 0xAB, 0x8C, 0xBE, 0x36, 0xB1 } }
56
57extern EFI_GUID gMePavpProtocolGuid;
58
59#define ME_PAVP_PROTOCOL_VERSION 0x10005U
60
61#define ME_PAVP_PROVISION_REQUEST_COMMAND 0x00000000
62#define ME_PAVP_PROVISION_PERFORM_COMMAND 0x00000001
63#define ME_PAVP_INITIALIZE_DMA_COMMAND 0x000A0002
64#define ME_PAVP_DEINITIALIZE_DMA_COMMAND 0x000A000B
65
66//
67// Common header for all commands
68//
69
70typedef struct {
71 UINT32 Version;
72 UINT32 Command;
73 UINT32 Status;
76
77//
78// ME_PAVP_PROVISION_REQUEST_COMMAND
79//
80
84
90
95
96//
97// ME_PAVP_PROVISION_PERFORM_COMMAND
98//
99
105
109
114
115#define ME_PAVP_PROVISION_PERFORM_PAYLOAD_SIZE (EPID_CERTIFICATE_SIZE + EPID_GROUP_PUBLIC_KEY_SIZE)
116
117//
118// 3893448C-EAB6-4F4C-B23C-57C2C4658DFC
119//
120#define ME_FPF_PROTOCOL_GUID \
121 { 0x3893448C, 0xEAB6, 0x4F4C, { 0xB2, 0x3C, 0x57, 0xC2, 0xC4, 0x65, 0x8D, 0xFC } }
122
123extern EFI_GUID gMeFpfProtocolGuid;
124
125#pragma pack()
126
127#endif // HECI_MSG_H
EFI_GUID gMeFpfProtocolGuid
STATIC_ASSERT(sizeof(EPID_GROUP_PUBLIC_KEY)==EPID_GROUP_PUBLIC_KEY_SIZE, "Invalid GPK size")
#define EPID_CERTIFICATE_SIZE
EFI_GUID gMePavpProtocolGuid
#define EPID_GROUP_PUBLIC_KEY_SIZE
UINT16 Version
EpidVersion.
UINT16 FileType
EpidFileType.
UINT32 GroupId
Epid11GroupId.
ME_PAVP_COMMAND_HEADER Header
ME_PAVP_COMMAND_HEADER Header
ME_PAVP_COMMAND_HEADER Header
ME_PAVP_PROVISION_PERFORM_RESPONSE Response
ME_PAVP_PROVISION_PERFORM_REQUEST Request
ME_PAVP_PROVISION_REQUEST_REQUEST Request
ME_PAVP_PROVISION_REQUEST_RESPONSE Response