+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ AcpiS3Save.h\r
+\r
+Abstract:\r
+\r
+\r
+--*/\r
+\r
+#ifndef _ACPI_S3_SAVE_PROTOCOL_H\r
+#define _ACPI_S3_SAVE_PROTOCOL_H\r
+\r
+#include <PiDxe.h>\r
+\r
+//\r
+// Forward reference for pure ANSI compatability\r
+//\r
+typedef struct _EFI_ACPI_S3_SAVE_PROTOCOL EFI_ACPI_S3_SAVE_PROTOCOL;\r
+\r
+//\r
+// S3 Save Protocol GUID\r
+//\r
+#define EFI_ACPI_S3_SAVE_GUID \\r
+ { \\r
+ 0x125f2de1, 0xfb85, 0x440c, {0xa5, 0x4c, 0x4d, 0x99, 0x35, 0x8a, 0x8d, 0x38 } \\r
+ }\r
+\r
+//\r
+// Protocol Data Structures\r
+//\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_ACPI_S3_SAVE) (\r
+ IN EFI_ACPI_S3_SAVE_PROTOCOL * This,\r
+ IN VOID * LegacyMemoryAddress\r
+ );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_ACPI_GET_LEGACY_MEMORY_SIZE) (\r
+ IN EFI_ACPI_S3_SAVE_PROTOCOL * This,\r
+ OUT UINTN * Size\r
+);\r
+\r
+struct _EFI_ACPI_S3_SAVE_PROTOCOL {\r
+ EFI_ACPI_GET_LEGACY_MEMORY_SIZE GetLegacyMemorySize;\r
+ EFI_ACPI_S3_SAVE S3Save;\r
+};\r
+\r
+extern EFI_GUID gEfiAcpiS3SaveProtocolGuid;\r
+\r
+#endif\r