TianoCore EDK2 master
MmSxDispatch.h
Go to the documentation of this file.
1
12#ifndef _MM_SX_DISPATCH_H_
13#define _MM_SX_DISPATCH_H_
14
15#include <Pi/PiMmCis.h>
16
17#define EFI_MM_SX_DISPATCH_PROTOCOL_GUID \
18 { \
19 0x456d2859, 0xa84b, 0x4e47, {0xa2, 0xee, 0x32, 0x76, 0xd8, 0x86, 0x99, 0x7d } \
20 }
21
25typedef enum {
26 SxS0,
27 SxS1,
28 SxS2,
29 SxS3,
30 SxS4,
31 SxS5,
32 EfiMaximumSleepType
34
38typedef enum {
39 SxEntry,
40 SxExit,
41 EfiMaximumPhase
43
47typedef struct {
48 EFI_SLEEP_TYPE Type;
49 EFI_SLEEP_PHASE Phase;
51
53
88typedef
90(EFIAPI *EFI_MM_SX_REGISTER)(
92 IN EFI_MM_HANDLER_ENTRY_POINT DispatchFunction,
93 IN CONST EFI_MM_SX_REGISTER_CONTEXT *RegisterContext,
94 OUT EFI_HANDLE *DispatchHandle
95 );
96
109typedef
111(EFIAPI *EFI_MM_SX_UNREGISTER)(
113 IN EFI_HANDLE DispatchHandle
114 );
115
123 EFI_MM_SX_REGISTER Register;
124 EFI_MM_SX_UNREGISTER UnRegister;
125};
126
127extern EFI_GUID gEfiMmSxDispatchProtocolGuid;
128
129#endif
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_MM_SX_REGISTER)(IN CONST EFI_MM_SX_DISPATCH_PROTOCOL *This, IN EFI_MM_HANDLER_ENTRY_POINT DispatchFunction, IN CONST EFI_MM_SX_REGISTER_CONTEXT *RegisterContext, OUT EFI_HANDLE *DispatchHandle)
Definition: MmSxDispatch.h:90
EFI_STATUS(EFIAPI * EFI_MM_SX_UNREGISTER)(IN CONST EFI_MM_SX_DISPATCH_PROTOCOL *This, IN EFI_HANDLE DispatchHandle)
Definition: MmSxDispatch.h:111
EFI_SLEEP_TYPE
Definition: MmSxDispatch.h:25
EFI_SLEEP_PHASE
Definition: MmSxDispatch.h:38
EFI_STATUS(EFIAPI * EFI_MM_HANDLER_ENTRY_POINT)(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
Definition: PiMmCis.h:165
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:28
VOID * EFI_HANDLE
Definition: UefiBaseType.h:32
Definition: Base.h:213