--- /dev/null
+/** @file\r
+ This file declares Boot Script Executer 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: BootScriptExecuter.h\r
+\r
+ @par Revision Reference:\r
+ This PPI is defined in Framework of EFI BootScript spec.\r
+ Version 0.91.\r
+\r
+**/\r
+\r
+#ifndef _PEI_BOOT_SCRIPT_EXECUTER_PPI_H\r
+#define _PEI_BOOT_SCRIPT_EXECUTER_PPI_H\r
+\r
+#define EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI_GUID \\r
+ { \\r
+ 0xabd42895, 0x78cf, 0x4872, {0x84, 0x44, 0x1b, 0x5c, 0x18, 0x0b, 0xfb, 0xff } \\r
+ }\r
+\r
+typedef struct _EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI;\r
+\r
+/**\r
+ Executes the Framework boot script table.\r
+\r
+ @param PeiServices A pointer to the system PEI Services Table.\r
+ @param This A pointer to the EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI instance.\r
+ @param Address The physical memory address where the table is stored.\r
+ It must be zero if the table to be executed is stored in a firmware volume file.\r
+ @param FvFile The firmware volume file name that contains the table to\r
+ be executed. It must be NULL if the table to be executed is stored in physical memory.\r
+\r
+ @retval EFI_SUCCESS The boot script table was executed successfully.\r
+ @retval EFI_INVALID_PARAMETER Address is zero and FvFile is NULL.\r
+ @retval EFI_NOT_FOUND The file name specified in FvFile cannot be found.\r
+ @retval EFI_UNSUPPORTED The format of the boot script table is invalid.\r
+ Or An unsupported opcode occurred in the table.\r
+ Or There were opcode execution errors, such as an insufficient dependency.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_BOOT_SCRIPT_EXECUTE) (\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI *This,\r
+ IN EFI_PHYSICAL_ADDRESS Address,\r
+ IN EFI_GUID *FvFile OPTIONAL\r
+ );\r
+\r
+/**\r
+ @par Ppi Description:\r
+ This PPI produces functions to interpret and execute the Framework boot script table.\r
+\r
+ @param Execute\r
+ Executes a boot script table.\r
+\r
+**/\r
+struct _EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI {\r
+ EFI_PEI_BOOT_SCRIPT_EXECUTE Execute;\r
+};\r
+\r
+extern EFI_GUID gEfiPeiBootScriptExecuterPpiGuid;\r
+\r
+#endif\r