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