]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ppi/Security.h
Merge R8->R9 tracker 5935 and 7080 to update runtime arch protocol to DxeCis 0.91...
[mirror_edk2.git] / MdePkg / Include / Ppi / Security.h
CommitLineData
878ddf1f 1/** @file\r
2 This file declares Security Architectural PPI.\r
3\r
4 Copyright (c) 2006, Intel Corporation \r
5 All rights reserved. This program and the accompanying materials \r
6 are licensed and made available under the terms and conditions of the BSD License \r
7 which accompanies this distribution. The full text of the license may be found at \r
8 http://opensource.org/licenses/bsd-license.php \r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
13 Module Name: Security.h\r
14\r
15 @par Revision Reference:\r
16 This PPI is defined in PEI CIS.\r
17 Version 0.91.\r
18\r
19**/\r
20\r
21#ifndef __SECURITY_PPI_H__\r
22#define __SECURITY_PPI_H__\r
23\r
24#define EFI_PEI_SECURITY_PPI_GUID \\r
25 { \\r
26 0x1388066e, 0x3a57, 0x4efa, {0x98, 0xf3, 0xc1, 0x2f, 0x3a, 0x95, 0x8a, 0x29 } \\r
27 }\r
28\r
29typedef struct _EFI_PEI_SECURITY_PPI EFI_PEI_SECURITY_PPI;\r
30\r
31/**\r
32 Allows the platform builder to implement a security policy in response \r
33 to varying file authentication states.\r
34\r
0647c9ad
LG
35 @param PeiServices Pointer to the PEI Services Table.\r
36 @param This Interface pointer that implements the particular EFI_PEI_SECURITY_PPI instance.\r
37 @param AuthenticationStatus \r
38 Status returned by the verification service as part of section extraction.\r
39 @param FfsFileHeader Pointer to the file under review.\r
878ddf1f 40 @param DeferExecution Pointer to a variable that alerts the PEI Foundation to defer execution of a PEIM.\r
41\r
0647c9ad 42 @retval EFI_SUCCESS The service performed its action successfully.\r
878ddf1f 43 @retval EFI_SECURITY_VIOLATION The object cannot be trusted\r
44\r
45**/\r
46typedef\r
47EFI_STATUS\r
48(EFIAPI *EFI_PEI_SECURITY_AUTHENTICATION_STATE) (\r
49 IN EFI_PEI_SERVICES **PeiServices,\r
50 IN EFI_PEI_SECURITY_PPI *This,\r
51 IN UINT32 AuthenticationStatus,\r
52 IN EFI_FFS_FILE_HEADER *FfsFileHeader,\r
53 IN OUT BOOLEAN *StartCrisisRecovery\r
54 );\r
55\r
56/**\r
57 @par Ppi Description:\r
58 This PPI is installed by some platform PEIM that abstracts the security \r
511710d6 59 policy to the PEI Foundation, namely the case of a PEIM's authentication \r
878ddf1f 60 state being returned during the PEI section extraction process. \r
61\r
62 @param AuthenticationState\r
63 Allows the platform builder to implement a security policy in response \r
64 to varying file authentication states.\r
65\r
66**/\r
67struct _EFI_PEI_SECURITY_PPI {\r
68 EFI_PEI_SECURITY_AUTHENTICATION_STATE AuthenticationState;\r
69};\r
70\r
71extern EFI_GUID gEfiPeiSecurityPpiGuid;\r
72\r
73#endif\r