mdkinney 87d6344732 1) Add Include/Framework/BootScript.h that contains defines shared between Boot Script Executer PPI and Boot Script Save Protocol. Remove those safe defines from Include/Ppi/BootScriptExecuter.h
2) Remove Include/Framework/DataHubRecords.h and merge its content into Include/Guid/DataHubRecords.h
3) Remove Include/Framework/Legacy16.h and merge its contents into Include/Protocol/LegacyBios.h
4) Update FrameworkDxe.h to no longer include all the Legacy16.h and DataHubRecords.h contents.  This reduces the number of include file and definitions pulled in when a module include FrameworkDxe.h.  The Legacy16.h contents can now be included by a module through Protocol/LegacyBios.h and the DataHubRecords.h contents can be included by a module through Guid/DataHubRecords.h
5) Update Include/Guid/StatusCodeDataTypeId.h so it can be safely included by both PEIMs and DXE Modules since both the PEI and DXE phases support status codes
6) Remove extra #includes where possible to reduce number of files included during a build.
7) Update Include/Protocol/LegacyBiosPlatform.h to #include Include/Protocol/LegacyBios.h since it depends on HDD_INFO and COMPATIBILITY16 strictures carried by LegacyBios.h



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8899 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-11 23:25:44 +00:00

87 lines
3.2 KiB
C

/** @file
This protocol is used to store or record various boot scripts into boot
script tables.
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@par Revision Reference:
This protocol defined in the Boot Script Specification, Version 0.91.
**/
#ifndef _BOOT_SCRIPT_SAVE_PROTOCOL_H_
#define _BOOT_SCRIPT_SAVE_PROTOCOL_H_
///
/// S3 Save Protocol GUID
///
#define EFI_BOOT_SCRIPT_SAVE_PROTOCOL_GUID \
{ \
0x470e1529, 0xb79e, 0x4e32, {0xa0, 0xfe, 0x6a, 0x15, 0x6d, 0x29, 0xf9, 0xb2 } \
}
typedef struct _EFI_BOOT_SCRIPT_SAVE_PROTOCOL EFI_BOOT_SCRIPT_SAVE_PROTOCOL;
/**
Adds a record into a specified Framework boot script table.
@param This A pointer to the EFI_BOOT_SCRIPT_SAVE_PROTOCOL instance.
@param TableName Name of the script table.Currently, the only meaningful
value is EFI_ACPI_S3_RESUME_SCRIPT_TABLE.
@param OpCode The operation code (opcode) number.
@param ... Argument list that is specific to each opcode.
@retval EFI_SUCCESS The operation succeeded. A record was added into the specified script table.
@retval EFI_INVALID_PARAMETER The parameter is illegal or the given boot script is not supported.
@retval EFI_OUT_OF_RESOURCES There is insufficient memory to store the boot script.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BOOT_SCRIPT_WRITE)(
IN EFI_BOOT_SCRIPT_SAVE_PROTOCOL *This,
IN UINT16 TableName,
IN UINT16 OpCode,
...
);
/**
Closes the specified script table.
@param This A pointer to the EFI_BOOT_SCRIPT_SAVE_PROTOCOL instance.
@param TableName Name of the script table.
@param Address A pointer to the physical address where the table begins.
@retval EFI_SUCCESS The table was successfully returned.
@retval EFI_NOT_FOUND The specified table was not created previously.
@retval EFI_OUT_OF_RESOURCES Memory is insufficient to hold the reorganized boot script table.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_BOOT_SCRIPT_CLOSE_TABLE)(
IN EFI_BOOT_SCRIPT_SAVE_PROTOCOL *This,
IN UINT16 TableName,
OUT EFI_PHYSICAL_ADDRESS *Address
);
///
/// The EFI_BOOT_SCRIPT_SAVE_PROTOCOL publishes the Framework boot script abstractions
/// to store or record various boot scripts into boot script tables.
///
struct _EFI_BOOT_SCRIPT_SAVE_PROTOCOL {
EFI_BOOT_SCRIPT_WRITE Write; ///< Writes various boot scripts to a boot script table.
EFI_BOOT_SCRIPT_CLOSE_TABLE CloseTable; ///< Retrieves and closes a script table.
};
extern EFI_GUID gEfiBootScriptSaveProtocolGuid;
#endif