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