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