9#ifndef EDKII_DEVICE_SECURITY_POLICY_PROTOCOL_H_
10#define EDKII_DEVICE_SECURITY_POLICY_PROTOCOL_H_
22#define EDKII_DEVICE_SECURITY_POLICY_PROTOCOL_REVISION 0x00010000
28#define EDKII_DEVICE_SECURITY_POLICY_REVISION 0x00010000
33#define EDKII_DEVICE_MEASUREMENT_REQUIRED BIT0
34#define EDKII_DEVICE_AUTHENTICATION_REQUIRED BIT0
41 UINT32 MeasurementPolicy;
42 UINT32 AuthenticationPolicy;
49#define EDKII_DEVICE_SECURITY_STATE_REVISION 0x00010000
54#define EDKII_DEVICE_SECURITY_STATE_SUCCESS 0
55#define EDKII_DEVICE_SECURITY_STATE_ERROR BIT31
56#define EDKII_DEVICE_SECURITY_STATE_ERROR_UEFI_UNSUPPORTED (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x0)
57#define EDKII_DEVICE_SECURITY_STATE_ERROR_UEFI_GET_POLICY_PROTOCOL (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x1)
58#define EDKII_DEVICE_SECURITY_STATE_ERROR_UEFI_OUT_OF_RESOURCE (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x2)
59#define EDKII_DEVICE_SECURITY_STATE_ERROR_DEVICE_NO_CAPABILITIES (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x10)
60#define EDKII_DEVICE_SECURITY_STATE_ERROR_DEVICE_ERROR (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x11)
61#define EDKII_DEVICE_SECURITY_STATE_ERROR_TCG_EXTEND_TPM_PCR (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x20)
62#define EDKII_DEVICE_SECURITY_STATE_ERROR_MEASUREMENT_AUTH_FAILURE (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x21)
63#define EDKII_DEVICE_SECURITY_STATE_ERROR_CHALLENGE_FAILURE (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x30)
64#define EDKII_DEVICE_SECURITY_STATE_ERROR_CERTIFIACTE_FAILURE (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x31)
65#define EDKII_DEVICE_SECURITY_STATE_ERROR_NO_CERT_PROVISION (EDKII_DEVICE_SECURITY_STATE_ERROR + 0x32)
72 UINT32 MeasurementState;
73 UINT32 AuthenticationState;
131extern EFI_GUID gEdkiiDeviceSecurityPolicyProtocolGuid;
EFI_STATUS(EFIAPI * EDKII_DEVICE_SECURITY_NOTIFY_DEVICE_STATE)(IN EDKII_DEVICE_SECURITY_POLICY_PROTOCOL *This, IN EDKII_DEVICE_IDENTIFIER *DeviceId, IN EDKII_DEVICE_SECURITY_STATE *DeviceSecurityState)
EFI_STATUS(EFIAPI * EDKII_DEVICE_SECURITY_GET_DEVICE_POLICY)(IN EDKII_DEVICE_SECURITY_POLICY_PROTOCOL *This, IN EDKII_DEVICE_IDENTIFIER *DeviceId, OUT EDKII_DEVICE_SECURITY_POLICY *DeviceSecurityPolicy)