]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Protocol/BootScriptSave.h
IntelFrameworkPkg: Clean up source files
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / BootScriptSave.h
CommitLineData
79964ac8 1/** @file\r
1c2f052d 2 This protocol is used to store or record various boot scripts into boot\r
4a71b21a 3 script tables.\r
79964ac8 4\r
1c2f052d
LG
5Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
6This program and the accompanying materials are licensed and made available under\r
7the terms and conditions of the BSD License that accompanies this distribution.\r
f22f941e 8The full text of the license may be found at\r
1c2f052d
LG
9http://opensource.org/licenses/bsd-license.php.\r
10\r
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
f22f941e 12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
79964ac8 13\r
79964ac8 14 @par Revision Reference:\r
15 This protocol defined in the Boot Script Specification, Version 0.91.\r
16\r
17**/\r
18\r
4ebb0d9e 19#ifndef _BOOT_SCRIPT_SAVE_PROTOCOL_H_\r
20#define _BOOT_SCRIPT_SAVE_PROTOCOL_H_\r
79964ac8 21\r
87d63447 22///\r
f22f941e 23/// S3 Save Protocol GUID.\r
87d63447 24///\r
79964ac8 25#define EFI_BOOT_SCRIPT_SAVE_PROTOCOL_GUID \\r
26 { \\r
27 0x470e1529, 0xb79e, 0x4e32, {0xa0, 0xfe, 0x6a, 0x15, 0x6d, 0x29, 0xf9, 0xb2 } \\r
28 }\r
29\r
30typedef struct _EFI_BOOT_SCRIPT_SAVE_PROTOCOL EFI_BOOT_SCRIPT_SAVE_PROTOCOL;\r
31\r
79964ac8 32/**\r
33 Adds a record into a specified Framework boot script table.\r
34\r
35 @param This A pointer to the EFI_BOOT_SCRIPT_SAVE_PROTOCOL instance.\r
f22f941e 36 @param TableName The name of the script table. Currently, the only meaningful\r
79964ac8 37 value is EFI_ACPI_S3_RESUME_SCRIPT_TABLE.\r
38 @param OpCode The operation code (opcode) number.\r
f22f941e 39 @param ... The argument list that is specific to each opcode.\r
79964ac8 40\r
41 @retval EFI_SUCCESS The operation succeeded. A record was added into the specified script table.\r
f22f941e 42 @retval EFI_INVALID_PARAMETER The parameter is illegal, or the given boot script is not supported.\r
79964ac8 43 @retval EFI_OUT_OF_RESOURCES There is insufficient memory to store the boot script.\r
44\r
45**/\r
46typedef\r
47EFI_STATUS\r
69686d56 48(EFIAPI *EFI_BOOT_SCRIPT_WRITE)(\r
79964ac8 49 IN EFI_BOOT_SCRIPT_SAVE_PROTOCOL *This,\r
50 IN UINT16 TableName,\r
51 IN UINT16 OpCode,\r
52 ...\r
53 );\r
54\r
55/**\r
56 Closes the specified script table.\r
57\r
58 @param This A pointer to the EFI_BOOT_SCRIPT_SAVE_PROTOCOL instance.\r
f22f941e 59 @param TableName The name of the script table.\r
79964ac8 60 @param Address A pointer to the physical address where the table begins.\r
61\r
62 @retval EFI_SUCCESS The table was successfully returned.\r
63 @retval EFI_NOT_FOUND The specified table was not created previously.\r
64 @retval EFI_OUT_OF_RESOURCES Memory is insufficient to hold the reorganized boot script table.\r
65\r
66**/\r
67typedef\r
68EFI_STATUS\r
69686d56 69(EFIAPI *EFI_BOOT_SCRIPT_CLOSE_TABLE)(\r
79964ac8 70 IN EFI_BOOT_SCRIPT_SAVE_PROTOCOL *This,\r
71 IN UINT16 TableName,\r
72 OUT EFI_PHYSICAL_ADDRESS *Address\r
73 );\r
74\r
87d63447 75///\r
76/// The EFI_BOOT_SCRIPT_SAVE_PROTOCOL publishes the Framework boot script abstractions\r
77/// to store or record various boot scripts into boot script tables.\r
78///\r
79964ac8 79struct _EFI_BOOT_SCRIPT_SAVE_PROTOCOL {\r
87d63447 80 EFI_BOOT_SCRIPT_WRITE Write; ///< Writes various boot scripts to a boot script table.\r
81 EFI_BOOT_SCRIPT_CLOSE_TABLE CloseTable; ///< Retrieves and closes a script table.\r
79964ac8 82};\r
83\r
84extern EFI_GUID gEfiBootScriptSaveProtocolGuid;\r
85\r
86#endif\r