Add more comments for IntelFramework's header files.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / AcpiS3Save.h
1 /** @file
2 This protocol is used to prepare all information that is needed for the S3 resume boot path. This
3 protocol is not required for all platforms.
4 This protocol is defined in framework S3Resume v0.9, page 21.
5
6 Copyright (c) 2006, Intel Corporation
7 All rights reserved. This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
11
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15 **/
16
17 #ifndef _ACPI_S3_SAVE_PROTOCOL_H
18 #define _ACPI_S3_SAVE_PROTOCOL_H
19
20 #include <PiDxe.h>
21
22 //
23 // Forward reference for pure ANSI compatability
24 //
25 typedef struct _EFI_ACPI_S3_SAVE_PROTOCOL EFI_ACPI_S3_SAVE_PROTOCOL;
26
27 //
28 // S3 Save Protocol GUID
29 //
30 #define EFI_ACPI_S3_SAVE_GUID \
31 { \
32 0x125f2de1, 0xfb85, 0x440c, {0xa5, 0x4c, 0x4d, 0x99, 0x35, 0x8a, 0x8d, 0x38 } \
33 }
34
35 //
36 // Protocol Data Structures
37 //
38 typedef
39 EFI_STATUS
40 (EFIAPI *EFI_ACPI_S3_SAVE) (
41 IN EFI_ACPI_S3_SAVE_PROTOCOL * This,
42 IN VOID * LegacyMemoryAddress
43 );
44
45 typedef
46 EFI_STATUS
47 (EFIAPI *EFI_ACPI_GET_LEGACY_MEMORY_SIZE) (
48 IN EFI_ACPI_S3_SAVE_PROTOCOL * This,
49 OUT UINTN * Size
50 );
51
52 struct _EFI_ACPI_S3_SAVE_PROTOCOL {
53 EFI_ACPI_GET_LEGACY_MEMORY_SIZE GetLegacyMemorySize;
54 EFI_ACPI_S3_SAVE S3Save;
55 };
56
57 extern EFI_GUID gEfiAcpiS3SaveProtocolGuid;
58
59 #endif