]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OldMdePkg/Include/Ppi/Security.h
Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break existing...
[mirror_edk2.git] / OldMdePkg / Include / Ppi / Security.h
diff --git a/OldMdePkg/Include/Ppi/Security.h b/OldMdePkg/Include/Ppi/Security.h
new file mode 100644 (file)
index 0000000..0be9b4a
--- /dev/null
@@ -0,0 +1,73 @@
+/** @file\r
+  This file declares Security Architectural PPI.\r
+\r
+  Copyright (c) 2006, Intel Corporation                                                         \r
+  All rights reserved. This program and the accompanying materials                          \r
+  are licensed and made available under the terms and conditions of the BSD License         \r
+  which accompanies this distribution.  The full text of the license may be found at        \r
+  http://opensource.org/licenses/bsd-license.php                                            \r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+  Module Name:  Security.h\r
+\r
+  @par Revision Reference:\r
+  This PPI is defined in PEI CIS.\r
+  Version 0.91.\r
+\r
+**/\r
+\r
+#ifndef __SECURITY_PPI_H__\r
+#define __SECURITY_PPI_H__\r
+\r
+#define EFI_PEI_SECURITY_PPI_GUID \\r
+  { \\r
+    0x1388066e, 0x3a57, 0x4efa, {0x98, 0xf3, 0xc1, 0x2f, 0x3a, 0x95, 0x8a, 0x29 } \\r
+  }\r
+\r
+typedef struct _EFI_PEI_SECURITY_PPI  EFI_PEI_SECURITY_PPI;\r
+\r
+/**\r
+  Allows the platform builder to implement a security policy in response \r
+  to varying file authentication states.\r
+\r
+  @param  PeiServices    Pointer to the PEI Services Table.\r
+  @param  This           Interface pointer that implements the particular EFI_PEI_SECURITY_PPI instance.\r
+  @param  AuthenticationStatus \r
+                         Status returned by the verification service as part of section extraction.\r
+  @param  FfsFileHeader  Pointer to the file under review.\r
+  @param  DeferExecution Pointer to a variable that alerts the PEI Foundation to defer execution of a PEIM.\r
+\r
+  @retval EFI_SUCCESS           The service performed its action successfully.\r
+  @retval EFI_SECURITY_VIOLATION The object cannot be trusted\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_SECURITY_AUTHENTICATION_STATE) (\r
+  IN EFI_PEI_SERVICES             **PeiServices,\r
+  IN EFI_PEI_SECURITY_PPI         *This,\r
+  IN UINT32                       AuthenticationStatus,\r
+  IN EFI_FFS_FILE_HEADER          *FfsFileHeader,\r
+  IN OUT BOOLEAN                  *StartCrisisRecovery\r
+  );\r
+\r
+/**\r
+  @par Ppi Description:\r
+  This PPI is installed by some platform PEIM that abstracts the security \r
+  policy to the PEI Foundation, namely the case of a PEIM's authentication \r
+  state being returned during the PEI section extraction process. \r
+\r
+  @param AuthenticationState\r
+  Allows the platform builder to implement a security policy in response \r
+  to varying file authentication states.\r
+\r
+**/\r
+struct _EFI_PEI_SECURITY_PPI {\r
+  EFI_PEI_SECURITY_AUTHENTICATION_STATE  AuthenticationState;\r
+};\r
+\r
+extern EFI_GUID gEfiPeiSecurityPpiGuid;\r
+\r
+#endif\r