TianoCore EDK2 master
Loading...
Searching...
No Matches
DeviceSecurityPolicy.h
Go to the documentation of this file.
1
9#ifndef EDKII_DEVICE_SECURITY_POLICY_PROTOCOL_H_
10#define EDKII_DEVICE_SECURITY_POLICY_PROTOCOL_H_
11
12#include <Uefi.h>
14
16
17//
18// Revision The revision to which the DEVICE_SECURITY_POLICY protocol interface adheres.
19// All future revisions must be backwards compatible.
20// If a future version is not back wards compatible it is not the same GUID.
21//
22#define EDKII_DEVICE_SECURITY_POLICY_PROTOCOL_REVISION 0x00010000
23
24//
25// Revision The revision to which the DEVICE_SECURITY_POLICY structure adheres.
26// All future revisions must be backwards compatible.
27//
28#define EDKII_DEVICE_SECURITY_POLICY_REVISION 0x00010000
29
33#define EDKII_DEVICE_MEASUREMENT_REQUIRED BIT0
34#define EDKII_DEVICE_AUTHENTICATION_REQUIRED BIT0
35
39typedef struct {
40 UINT32 Revision;
41 UINT32 MeasurementPolicy;
42 UINT32 AuthenticationPolicy;
44
45//
46// Revision The revision to which the DEVICE_SECURITY_STATE structure adheres.
47// All future revisions must be backwards compatible.
48//
49#define EDKII_DEVICE_SECURITY_STATE_REVISION 0x00010000
50
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)
66
70typedef struct {
71 UINT32 Revision;
72 UINT32 MeasurementState;
73 UINT32 AuthenticationState;
75
90typedef
95 OUT EDKII_DEVICE_SECURITY_POLICY *DeviceSecurityPolicy
96 );
97
117typedef
121 IN EDKII_DEVICE_IDENTIFIER *DeviceId,
122 IN EDKII_DEVICE_SECURITY_STATE *DeviceSecurityState
123 );
124
126 UINT32 Revision;
129};
130
131extern EFI_GUID gEdkiiDeviceSecurityPolicyProtocolGuid;
132
133#endif
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)
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
Definition: Base.h:213