XenevaOS
Loading...
Searching...
No Matches
Bis.h
Go to the documentation of this file.
1
19#ifndef __BIS_H__
20#define __BIS_H__
21
22#define EFI_BIS_PROTOCOL_GUID \
23 { \
24 0x0b64aab0, 0x5429, 0x11d4, {0x98, 0x16, 0x00, 0xa0, 0xc9, 0x1f, 0xad, 0xcf } \
25 }
26
27//
28// X-Intel-BIS-ParameterSet
29// Attribute value
30// Binary Value of X-Intel-BIS-ParameterSet Attribute.
31// (Value is Base-64 encoded in actual signed manifest).
32//
33#define BOOT_OBJECT_AUTHORIZATION_PARMSET_GUID \
34 { \
35 0xedd35e31, 0x7b9, 0x11d2, { 0x83,0xa3,0x0,0xa0,0xc9,0x1f,0xad,0xcf } \
36 }
37
38
39
41
42
43//
44// Basic types
45//
49
53typedef struct {
57
65
66//
67// ----------------------------------------------------//
68// Use these values to initialize EFI_BIS_VERSION.Major
69// and to interpret results of Initialize.
70// ----------------------------------------------------//
71//
72#define BIS_CURRENT_VERSION_MAJOR BIS_VERSION_1
73#define BIS_VERSION_1 1
74
83
89#define BIS_ALG_DSA (41) // CSSM_ALGID_DSA
90#define BIS_ALG_RSA_MD5 (42) // CSSM_ALGID_MD5_WITH_RSA
94#define BIS_CERT_ID_DSA BIS_ALG_DSA // CSSM_ALGID_DSA
95#define BIS_CERT_ID_RSA_MD5 BIS_ALG_RSA_MD5 // CSSM_ALGID_MD5_WITH_RSA
102#define BIS_CERT_ID_MASK (0xFF7F7FFF)
103
111#define BIS_GET_SIGINFO_COUNT(BisDataPtr) ((BisDataPtr)->Length / sizeof (EFI_BIS_SIGNATURE_INFO))
112
117#define BIS_GET_SIGINFO_ARRAY(BisDataPtr) ((EFI_BIS_SIGNATURE_INFO *) (BisDataPtr)->Data)
118
122#define BOOT_OBJECT_AUTHORIZATION_PARMSET_GUIDVALUE \
123 BOOT_OBJECT_AUTHORIZATION_PARMSET_GUID
124
166typedef
169 IN EFI_BIS_PROTOCOL *This,
170 OUT BIS_APPLICATION_HANDLE *AppHandle,
171 IN OUT EFI_BIS_VERSION *InterfaceVersion,
172 IN EFI_BIS_DATA *TargetAddress
173 );
174
191typedef
194 IN BIS_APPLICATION_HANDLE AppHandle,
195 IN EFI_BIS_DATA *ToFree
196 );
197
213typedef
216 IN BIS_APPLICATION_HANDLE AppHandle
217 );
218
238typedef
241 IN BIS_APPLICATION_HANDLE AppHandle,
242 OUT EFI_BIS_DATA **Certificate
243 );
244
267typedef
270 IN BIS_APPLICATION_HANDLE AppHandle,
271 IN EFI_BIS_DATA *Credentials,
272 IN EFI_BIS_DATA *DataObject,
273 OUT BOOLEAN *IsVerified
274 );
275
293typedef
296 IN BIS_APPLICATION_HANDLE AppHandle,
297 OUT BOOLEAN *CheckIsRequired
298 );
299
320typedef
323 IN BIS_APPLICATION_HANDLE AppHandle,
324 OUT EFI_BIS_DATA **UpdateToken
325 );
326
352typedef
355 IN BIS_APPLICATION_HANDLE AppHandle,
356 IN EFI_BIS_DATA *RequestCredential,
357 OUT EFI_BIS_DATA **NewUpdateToken
358 );
359
390typedef
393 IN BIS_APPLICATION_HANDLE AppHandle,
394 IN EFI_BIS_DATA *Credentials,
395 IN EFI_BIS_DATA *DataObject,
396 IN EFI_BIS_DATA *SectionName,
397 IN EFI_BIS_DATA *AuthorityCertificate,
398 OUT BOOLEAN *IsVerified
399 );
400
424typedef
427 IN BIS_APPLICATION_HANDLE AppHandle,
428 OUT EFI_BIS_DATA **SignatureInfo
429 );
430
447
450
451#endif
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
EFI_STATUS(EFIAPI * EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CERTIFICATE)(IN BIS_APPLICATION_HANDLE AppHandle, OUT EFI_BIS_DATA **Certificate)
Definition Bis.h:240
UINT16 BIS_ALG_ID
Definition Bis.h:47
EFI_STATUS(EFIAPI * EFI_BIS_UPDATE_BOOT_OBJECT_AUTHORIZATION)(IN BIS_APPLICATION_HANDLE AppHandle, IN EFI_BIS_DATA *RequestCredential, OUT EFI_BIS_DATA **NewUpdateToken)
Definition Bis.h:354
EFI_STATUS(EFIAPI * EFI_BIS_INITIALIZE)(IN EFI_BIS_PROTOCOL *This, OUT BIS_APPLICATION_HANDLE *AppHandle, IN OUT EFI_BIS_VERSION *InterfaceVersion, IN EFI_BIS_DATA *TargetAddress)
Definition Bis.h:168
EFI_STATUS(EFIAPI * EFI_BIS_FREE)(IN BIS_APPLICATION_HANDLE AppHandle, IN EFI_BIS_DATA *ToFree)
Definition Bis.h:193
EFI_GUID gEfiBisProtocolGuid
EFI_GUID gBootObjectAuthorizationParmsetGuid
EFI_STATUS(EFIAPI * EFI_BIS_VERIFY_BOOT_OBJECT)(IN BIS_APPLICATION_HANDLE AppHandle, IN EFI_BIS_DATA *Credentials, IN EFI_BIS_DATA *DataObject, OUT BOOLEAN *IsVerified)
Definition Bis.h:269
EFI_STATUS(EFIAPI * EFI_BIS_SHUTDOWN)(IN BIS_APPLICATION_HANDLE AppHandle)
Definition Bis.h:215
EFI_STATUS(EFIAPI * EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_UPDATE_TOKEN)(IN BIS_APPLICATION_HANDLE AppHandle, OUT EFI_BIS_DATA **UpdateToken)
Definition Bis.h:322
UINT32 BIS_CERT_ID
Definition Bis.h:48
EFI_STATUS(EFIAPI * EFI_BIS_GET_SIGNATURE_INFO)(IN BIS_APPLICATION_HANDLE AppHandle, OUT EFI_BIS_DATA **SignatureInfo)
Definition Bis.h:426
EFI_STATUS(EFIAPI * EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CHECKFLAG)(IN BIS_APPLICATION_HANDLE AppHandle, OUT BOOLEAN *CheckIsRequired)
Definition Bis.h:295
VOID * BIS_APPLICATION_HANDLE
Definition Bis.h:46
EFI_STATUS(EFIAPI * EFI_BIS_VERIFY_OBJECT_WITH_CREDENTIAL)(IN BIS_APPLICATION_HANDLE AppHandle, IN EFI_BIS_DATA *Credentials, IN EFI_BIS_DATA *DataObject, IN EFI_BIS_DATA *SectionName, IN EFI_BIS_DATA *AuthorityCertificate, OUT BOOLEAN *IsVerified)
Definition Bis.h:392
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
#define VOID
Definition acefi.h:190
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
Definition Bis.h:53
UINT32 Length
The length of Data in 8 bit bytes.
Definition Bis.h:54
UINT8 * Data
32 Bit Flat Address of data.
Definition Bis.h:55
Definition Bis.h:78
BIS_ALG_ID AlgorithmID
A signature algorithm number.
Definition Bis.h:80
UINT16 KeyLength
The length of alg. keys in bits.
Definition Bis.h:81
BIS_CERT_ID CertificateID
Truncated hash of platform Boot Object.
Definition Bis.h:79
Definition Bis.h:61
UINT32 Major
The major BIS version number.
Definition Bis.h:62
UINT32 Minor
A minor BIS version number.
Definition Bis.h:63
Definition Base.h:281
Definition Bis.h:435
EFI_BIS_INITIALIZE Initialize
Definition Bis.h:436
EFI_BIS_VERIFY_OBJECT_WITH_CREDENTIAL VerifyObjectWithCredential
Definition Bis.h:445
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_UPDATE_TOKEN GetBootObjectAuthorizationUpdateToken
Definition Bis.h:441
EFI_BIS_FREE Free
Definition Bis.h:438
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CERTIFICATE GetBootObjectAuthorizationCertificate
Definition Bis.h:439
EFI_BIS_GET_SIGNATURE_INFO GetSignatureInfo
Definition Bis.h:442
EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CHECKFLAG GetBootObjectAuthorizationCheckFlag
Definition Bis.h:440
EFI_BIS_VERIFY_BOOT_OBJECT VerifyBootObject
Definition Bis.h:444
EFI_BIS_SHUTDOWN Shutdown
Definition Bis.h:437
EFI_BIS_UPDATE_BOOT_OBJECT_AUTHORIZATION UpdateBootObjectAuthorization
Definition Bis.h:443