cbb38f5722d6f892037f5071c48906dd4e15697b
[mirror_edk2.git] / IntelFrameworkPkg / Include / Ppi / S3Resume.h
1 /** @file
2 This file declares S3 Resume PPI.
3
4 Copyright (c) 2007, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 Module Name: S3Resume.h
14
15 @par Revision Reference:
16 This PPI is defined in Framework of EFI S3 Resume Boot Path spec.
17 Version 0.9
18
19 **/
20
21 #ifndef __PEI_S3_RESUME_PPI_H__
22 #define __PEI_S3_RESUME_PPI_H__
23
24 #include <PiPei.h>
25
26 #define EFI_PEI_S3_RESUME_PPI_GUID \
27 { \
28 0x4426CCB2, 0xE684, 0x4a8a, {0xAE, 0x40, 0x20, 0xD4, 0xB0, 0x25, 0xB7, 0x10 } \
29 }
30
31 typedef struct _EFI_PEI_S3_RESUME_PPI EFI_PEI_S3_RESUME_PPI;
32
33 /**
34 Restores the platform to its preboot configuration for an S3 resume and
35 jumps to the OS waking vector.
36
37 @param PeiServices Pointer to the PEI Services Table
38
39 @retval EFI_ABORTED Execution of the S3 resume boot script table failed.
40 @retval EFI_NOT_FOUND Some necessary information that is used for
41 the S3 resume boot path could not be located.
42
43 **/
44 typedef
45 EFI_STATUS
46 (EFIAPI *EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG) (
47 IN EFI_PEI_SERVICES **PeiServices
48 );
49
50 /**
51 @par Ppi Description:
52 EFI_PEI_S3_RESUME_PPI accomplishes the firmware S3 resume boot
53 path and transfers control to OS.
54
55 @param S3RestoreConfig
56 Restores the platform to its preboot configuration for an S3 resume and
57 jumps to the OS waking vector.
58
59 **/
60 struct _EFI_PEI_S3_RESUME_PPI {
61 EFI_PEI_S3_RESUME_PPI_RESTORE_CONFIG S3RestoreConfig;
62 };
63
64 extern EFI_GUID gEfiPeiS3ResumePpiGuid;
65
66 #endif