16#define EFI_BIS_PROTOCOL_GUID \
18 0x0b64aab0, 0x5429, 0x11d4, {0x98, 0x16, 0x00, 0xa0, 0xc9, 0x1f, 0xad, 0xcf } \
27#define BOOT_OBJECT_AUTHORIZATION_PARMSET_GUID \
29 0xedd35e31, 0x7b9, 0x11d2, { 0x83,0xa3,0x0,0xa0,0xc9,0x1f,0xad,0xcf } \
37typedef VOID *BIS_APPLICATION_HANDLE;
38typedef UINT16 BIS_ALG_ID;
39typedef UINT32 BIS_CERT_ID;
63#define BIS_CURRENT_VERSION_MAJOR BIS_VERSION_1
64#define BIS_VERSION_1 1
80#define BIS_ALG_DSA (41)
81#define BIS_ALG_RSA_MD5 (42)
85#define BIS_CERT_ID_DSA BIS_ALG_DSA
86#define BIS_CERT_ID_RSA_MD5 BIS_ALG_RSA_MD5
93#define BIS_CERT_ID_MASK (0xFF7F7FFF)
102#define BIS_GET_SIGINFO_COUNT(BisDataPtr) ((BisDataPtr)->Length / sizeof (EFI_BIS_SIGNATURE_INFO))
108#define BIS_GET_SIGINFO_ARRAY(BisDataPtr) ((EFI_BIS_SIGNATURE_INFO *) (BisDataPtr)->Data)
113#define BOOT_OBJECT_AUTHORIZATION_PARMSET_GUIDVALUE \
114 BOOT_OBJECT_AUTHORIZATION_PARMSET_GUID
161 OUT BIS_APPLICATION_HANDLE *AppHandle,
185 IN BIS_APPLICATION_HANDLE AppHandle,
207 IN BIS_APPLICATION_HANDLE AppHandle
232 IN BIS_APPLICATION_HANDLE AppHandle,
261 IN BIS_APPLICATION_HANDLE AppHandle,
264 OUT BOOLEAN *IsVerified
287 IN BIS_APPLICATION_HANDLE AppHandle,
288 OUT BOOLEAN *CheckIsRequired
314 IN BIS_APPLICATION_HANDLE AppHandle,
346 IN BIS_APPLICATION_HANDLE AppHandle,
384 IN BIS_APPLICATION_HANDLE AppHandle,
389 OUT BOOLEAN *IsVerified
418 IN BIS_APPLICATION_HANDLE AppHandle,
440extern EFI_GUID gBootObjectAuthorizationParmsetGuid;
EFI_STATUS(EFIAPI * EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CERTIFICATE)(IN BIS_APPLICATION_HANDLE AppHandle, OUT EFI_BIS_DATA **Certificate)
EFI_STATUS(EFIAPI * EFI_BIS_UPDATE_BOOT_OBJECT_AUTHORIZATION)(IN BIS_APPLICATION_HANDLE AppHandle, IN EFI_BIS_DATA *RequestCredential, OUT EFI_BIS_DATA **NewUpdateToken)
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)
EFI_STATUS(EFIAPI * EFI_BIS_FREE)(IN BIS_APPLICATION_HANDLE AppHandle, IN EFI_BIS_DATA *ToFree)
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)
EFI_STATUS(EFIAPI * EFI_BIS_SHUTDOWN)(IN BIS_APPLICATION_HANDLE AppHandle)
EFI_STATUS(EFIAPI * EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_UPDATE_TOKEN)(IN BIS_APPLICATION_HANDLE AppHandle, OUT EFI_BIS_DATA **UpdateToken)
EFI_STATUS(EFIAPI * EFI_BIS_GET_SIGNATURE_INFO)(IN BIS_APPLICATION_HANDLE AppHandle, OUT EFI_BIS_DATA **SignatureInfo)
EFI_STATUS(EFIAPI * EFI_BIS_GET_BOOT_OBJECT_AUTHORIZATION_CHECKFLAG)(IN BIS_APPLICATION_HANDLE AppHandle, OUT BOOLEAN *CheckIsRequired)
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)
UINT32 Length
The length of Data in 8 bit bytes.
UINT8 * Data
32 Bit Flat Address of data.
BIS_ALG_ID AlgorithmID
A signature algorithm number.
UINT16 KeyLength
The length of alg. keys in bits.
BIS_CERT_ID CertificateID
Truncated hash of platform Boot Object.
UINT32 Major
The major BIS version number.
UINT32 Minor
A minor BIS version number.