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