19#define EFI_KMS_PROTOCOL_GUID \
21 0xEC3A978D, 0x7C4E, 0x48FA, {0x9A, 0xBE, 0x6A, 0xD9, 0x1C, 0xC8, 0xF8, 0x11 } \
30#define EFI_KMS_DATA_TYPE_NONE 0
31#define EFI_KMS_DATA_TYPE_BINARY 1
32#define EFI_KMS_DATA_TYPE_ASCII 2
33#define EFI_KMS_DATA_TYPE_UNICODE 4
34#define EFI_KMS_DATA_TYPE_UTF8 8
48#define EFI_KMS_FORMAT_GENERIC_128_GUID \
50 0xec8a3d69, 0x6ddf, 0x4108, {0x94, 0x76, 0x73, 0x37, 0xfc, 0x52, 0x21, 0x36 } \
52#define EFI_KMS_FORMAT_GENERIC_160_GUID \
54 0xa3b3e6f8, 0xefca, 0x4bc1, {0x88, 0xfb, 0xcb, 0x87, 0x33, 0x9b, 0x25, 0x79 } \
56#define EFI_KMS_FORMAT_GENERIC_256_GUID \
58 0x70f64793, 0xc323, 0x4261, {0xac, 0x2c, 0xd8, 0x76, 0xf2, 0x7c, 0x53, 0x45 } \
60#define EFI_KMS_FORMAT_GENERIC_512_GUID \
62 0x978fe043, 0xd7af, 0x422e, {0x8a, 0x92, 0x2b, 0x48, 0xe4, 0x63, 0xbd, 0xe6 } \
64#define EFI_KMS_FORMAT_GENERIC_1024_GUID \
66 0x43be0b44, 0x874b, 0x4ead, {0xb0, 0x9c, 0x24, 0x1a, 0x4f, 0xbd, 0x7e, 0xb3 } \
68#define EFI_KMS_FORMAT_GENERIC_2048_GUID \
70 0x40093f23, 0x630c, 0x4626, {0x9c, 0x48, 0x40, 0x37, 0x3b, 0x19, 0xcb, 0xbe } \
72#define EFI_KMS_FORMAT_GENERIC_3072_GUID \
74 0xb9237513, 0x6c44, 0x4411, {0xa9, 0x90, 0x21, 0xe5, 0x56, 0xe0, 0x5a, 0xde } \
76#define EFI_KMS_FORMAT_GENERIC_DYNAMIC_GUID \
78 0x2156e996, 0x66de, 0x4b27, {0x9c, 0xc9, 0xb0, 0x9f, 0xac, 0x4d, 0x2, 0xbe } \
86#define EFI_KMS_FORMAT_MD2_128_GUID \
88 0x78be11c4, 0xee44, 0x4a22, {0x9f, 0x05, 0x03, 0x85, 0x2e, 0xc5, 0xc9, 0x78 } \
90#define EFI_KMS_FORMAT_MDC2_128_GUID \
92 0xf7ad60f8, 0xefa8, 0x44a3, {0x91, 0x13, 0x23, 0x1f, 0x39, 0x9e, 0xb4, 0xc7 } \
94#define EFI_KMS_FORMAT_MD4_128_GUID \
96 0xd1c17aa1, 0xcac5, 0x400f, {0xbe, 0x17, 0xe2, 0xa2, 0xae, 0x06, 0x67, 0x7c } \
98#define EFI_KMS_FORMAT_MDC4_128_GUID \
100 0x3fa4f847, 0xd8eb, 0x4df4, {0xbd, 0x49, 0x10, 0x3a, 0x0a, 0x84, 0x7b, 0xbc } \
102#define EFI_KMS_FORMAT_MD5_128_GUID \
104 0xdcbc3662, 0x9cda, 0x4b52, {0xa0, 0x4c, 0x82, 0xeb, 0x1d, 0x23, 0x48, 0xc7 } \
106#define EFI_KMS_FORMAT_MD5SHA_128_GUID \
108 0x1c178237, 0x6897, 0x459e, {0x9d, 0x36, 0x67, 0xce, 0x8e, 0xf9, 0x4f, 0x76 } \
110#define EFI_KMS_FORMAT_SHA1_160_GUID \
112 0x453c5e5a, 0x482d, 0x43f0, {0x87, 0xc9, 0x59, 0x41, 0xf3, 0xa3, 0x8a, 0xc2 } \
114#define EFI_KMS_FORMAT_SHA256_256_GUID \
116 0x6bb4f5cd, 0x8022, 0x448d, {0xbc, 0x6d, 0x77, 0x1b, 0xae, 0x93, 0x5f, 0xc6 } \
118#define EFI_KMS_FORMAT_SHA512_512_GUID \
120 0x2f240e12, 0xe14d, 0x475c, {0x83, 0xb0, 0xef, 0xff, 0x22, 0xd7, 0x7b, 0xe7 } \
128#define EFI_KMS_FORMAT_AESXTS_128_GUID \
130 0x4776e33f, 0xdb47, 0x479a, {0xa2, 0x5f, 0xa1, 0xcd, 0x0a, 0xfa, 0xb3, 0x8b } \
132#define EFI_KMS_FORMAT_AESXTS_256_GUID \
134 0xdc7e8613, 0xc4bb, 0x4db0, {0x84, 0x62, 0x13, 0x51, 0x13, 0x57, 0xab, 0xe2 } \
136#define EFI_KMS_FORMAT_AESCBC_128_GUID \
138 0xa0e8ee6a, 0x0e92, 0x44d4, {0x86, 0x1b, 0x0e, 0xaa, 0x4a, 0xca, 0x44, 0xa2 } \
140#define EFI_KMS_FORMAT_AESCBC_256_GUID \
142 0xd7e69789, 0x1f68, 0x45e8, {0x96, 0xef, 0x3b, 0x64, 0x07, 0xa5, 0xb2, 0xdc } \
144#define EFI_KMS_FORMAT_RSASHA1_1024_GUID \
146 0x56417bed, 0x6bbe, 0x4882, {0x86, 0xa0, 0x3a, 0xe8, 0xbb, 0x17, 0xf8, 0xf9 } \
148#define EFI_KMS_FORMAT_RSASHA1_2048_GUID \
150 0xf66447d4, 0x75a6, 0x463e, {0xa8, 0x19, 0x07, 0x7f, 0x2d, 0xda, 0x05, 0xe9 } \
152#define EFI_KMS_FORMAT_RSASHA256_2048_GUID \
154 0xa477af13, 0x877d, 0x4060, {0xba, 0xa1, 0x25, 0xd1, 0xbe, 0xa0, 0x8a, 0xd3 } \
156#define EFI_KMS_FORMAT_RSASHA256_3072_GUID \
158 0x4e1356c2, 0xeed, 0x463f, {0x81, 0x47, 0x99, 0x33, 0xab, 0xdb, 0xc7, 0xd5 } \
162#define EFI_KMS_ATTRIBUTE_TYPE_NONE 0x00
163#define EFI_KMS_ATTRIBUTE_TYPE_INTEGER 0x01
164#define EFI_KMS_ATTRIBUTE_TYPE_LONG_INTEGER 0x02
165#define EFI_KMS_ATTRIBUTE_TYPE_BIG_INTEGER 0x03
166#define EFI_KMS_ATTRIBUTE_TYPE_ENUMERATION 0x04
167#define EFI_KMS_ATTRIBUTE_TYPE_BOOLEAN 0x05
168#define EFI_KMS_ATTRIBUTE_TYPE_BYTE_STRING 0x06
169#define EFI_KMS_ATTRIBUTE_TYPE_TEXT_STRING 0x07
170#define EFI_KMS_ATTRIBUTE_TYPE_DATE_TIME 0x08
171#define EFI_KMS_ATTRIBUTE_TYPE_INTERVAL 0x09
172#define EFI_KMS_ATTRIBUTE_TYPE_STRUCTURE 0x0A
173#define EFI_KMS_ATTRIBUTE_TYPE_DYNAMIC 0x0B
270 UINT8 KeyAttributeData[1];
506 IN OUT UINT16 *KeyDescriptorCount,
594 IN OUT UINT16 *KeyDescriptorCount,
680 IN OUT UINT16 *KeyDescriptorCount,
759 IN OUT UINT16 *KeyDescriptorCount,
846 IN UINT8 *KeyIdentifierSize,
848 IN OUT UINT16 *KeyAttributesCount,
936 IN UINT8 *KeyIdentifierSize,
938 IN OUT UINT16 *KeyAttributesCount,
1019 IN UINT8 *KeyIdentifierSize,
1021 IN OUT UINT16 *KeyAttributesCount,
1288 UINT16 KeyAttributeIdMaxCount;
1310extern EFI_GUID gEfiKmsFormatGeneric128Guid;
1311extern EFI_GUID gEfiKmsFormatGeneric160Guid;
1312extern EFI_GUID gEfiKmsFormatGeneric256Guid;
1313extern EFI_GUID gEfiKmsFormatGeneric512Guid;
1314extern EFI_GUID gEfiKmsFormatGeneric1024Guid;
1315extern EFI_GUID gEfiKmsFormatGeneric2048Guid;
1316extern EFI_GUID gEfiKmsFormatGeneric3072Guid;
1317extern EFI_GUID gEfiKmsFormatMd2128Guid;
1318extern EFI_GUID gEfiKmsFormatMdc2128Guid;
1319extern EFI_GUID gEfiKmsFormatMd4128Guid;
1320extern EFI_GUID gEfiKmsFormatMdc4128Guid;
1321extern EFI_GUID gEfiKmsFormatMd5128Guid;
1322extern EFI_GUID gEfiKmsFormatMd5sha128Guid;
1323extern EFI_GUID gEfiKmsFormatSha1160Guid;
1324extern EFI_GUID gEfiKmsFormatSha256256Guid;
1325extern EFI_GUID gEfiKmsFormatSha512512Guid;
1326extern EFI_GUID gEfiKmsFormatAesxts128Guid;
1327extern EFI_GUID gEfiKmsFormatAesxts256Guid;
1328extern EFI_GUID gEfiKmsFormatAescbc128Guid;
1329extern EFI_GUID gEfiKmsFormatAescbc256Guid;
1330extern EFI_GUID gEfiKmsFormatRsasha11024Guid;
1331extern EFI_GUID gEfiKmsFormatRsasha12048Guid;
1332extern EFI_GUID gEfiKmsFormatRsasha2562048Guid;
1333extern EFI_GUID gEfiKmsFormatRsasha2563072Guid;
1334extern EFI_GUID gEfiKmsProtocolGuid;
EFI_STATUS(EFIAPI * EFI_KMS_GET_KEY)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN OUT UINT16 *KeyDescriptorCount, IN OUT EFI_KMS_KEY_DESCRIPTOR *KeyDescriptors, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_CREATE_KEY)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN OUT UINT16 *KeyDescriptorCount, IN OUT EFI_KMS_KEY_DESCRIPTOR *KeyDescriptors, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_DELETE_KEY_ATTRIBUTES)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN UINT8 *KeyIdentifierSize, IN CONST VOID *KeyIdentifier, IN OUT UINT16 *KeyAttributesCount, IN OUT EFI_KMS_KEY_ATTRIBUTE *KeyAttributes, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_GET_KEY_ATTRIBUTES)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN UINT8 *KeyIdentifierSize, IN CONST VOID *KeyIdentifier, IN OUT UINT16 *KeyAttributesCount, IN OUT EFI_KMS_KEY_ATTRIBUTE *KeyAttributes, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_GET_KEY_BY_ATTRIBUTES)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN OUT UINTN *KeyAttributeCount, IN OUT EFI_KMS_KEY_ATTRIBUTE *KeyAttributes, IN OUT UINTN *KeyDescriptorCount, IN OUT EFI_KMS_KEY_DESCRIPTOR *KeyDescriptors, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_GET_SERVICE_STATUS)(IN EFI_KMS_PROTOCOL *This)
EFI_STATUS(EFIAPI * EFI_KMS_ADD_KEY_ATTRIBUTES)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN UINT8 *KeyIdentifierSize, IN CONST VOID *KeyIdentifier, IN OUT UINT16 *KeyAttributesCount, IN OUT EFI_KMS_KEY_ATTRIBUTE *KeyAttributes, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_DELETE_KEY)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN OUT UINT16 *KeyDescriptorCount, IN OUT EFI_KMS_KEY_DESCRIPTOR *KeyDescriptors, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_REGISTER_CLIENT)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_KMS_ADD_KEY)(IN EFI_KMS_PROTOCOL *This, IN EFI_KMS_CLIENT_INFO *Client, IN OUT UINT16 *KeyDescriptorCount, IN OUT EFI_KMS_KEY_DESCRIPTOR *KeyDescriptors, IN OUT UINTN *ClientDataSize OPTIONAL, IN OUT VOID **ClientData OPTIONAL)
BOOLEAN KeyAttributesSupported
UINT16 ClientNameMaxCount
EFI_KMS_REGISTER_CLIENT RegisterClient
EFI_KMS_ADD_KEY_ATTRIBUTES AddKeyAttributes
UINT8 ClientNameStringTypes
EFI_KMS_DELETE_KEY DeleteKey
BOOLEAN ClientDataSupported
EFI_KMS_DELETE_KEY_ATTRIBUTES DeleteKeyAttributes
EFI_KMS_GET_KEY_BY_ATTRIBUTES GetKeyByAttributes
BOOLEAN ClientIdSupported
EFI_KMS_CREATE_KEY CreateKey
BOOLEAN KeyIdVariableLenSupported
BOOLEAN ClientNameRequired
UINT8 KeyAttributeIdStringTypes
EFI_KMS_KEY_ATTRIBUTE * KeyAttributes
EFI_KMS_GET_SERVICE_STATUS GetServiceStatus
EFI_KMS_GET_KEY_ATTRIBUTES GetKeyAttributes
EFI_STATUS KeyAttributeStatus
UINT8 KeyAttributeIdentifierType
UINT16 KeyAttributeValueSize
UINT8 KeyAttributeIdentifierCount
VOID * KeyAttributeIdentifier
UINT16 KeyAttributeInstance