TianoCore EDK2
master
Loading...
Searching...
No Matches
ResetSystem.h
Go to the documentation of this file.
1
9
#ifndef _RESET_SYSTEM_H_
10
#define _RESET_SYSTEM_H_
11
12
#include <
PiDxe.h
>
13
14
#include <
Protocol/Reset.h
>
15
#include <
Protocol/ResetNotification.h
>
16
#include <
Protocol/PlatformSpecificResetFilter.h
>
17
#include <
Protocol/PlatformSpecificResetHandler.h
>
18
#include <
Guid/CapsuleVendor.h
>
19
20
#include <
Library/BaseLib.h
>
21
#include <
Library/DebugLib.h
>
22
#include <
Library/UefiLib.h
>
23
#include <
Library/UefiDriverEntryPoint.h
>
24
#include <
Library/UefiBootServicesTableLib.h
>
25
#include <
Library/UefiRuntimeLib.h
>
26
#include <
Library/UefiRuntimeServicesTableLib.h
>
27
#include <
Library/ResetSystemLib.h
>
28
#include <
Library/ReportStatusCodeLib.h
>
29
#include <
Library/MemoryAllocationLib.h
>
30
31
//
32
// The maximum recurstion depth to ResetSystem() by reset notification handlers
33
//
34
#define MAX_RESET_NOTIFY_DEPTH 10
35
36
typedef
struct
{
37
UINT32 Signature;
38
LIST_ENTRY
Link;
39
EFI_RESET_SYSTEM
ResetNotify;
40
}
RESET_NOTIFY_ENTRY
;
41
#define RESET_NOTIFY_ENTRY_SIGNATURE SIGNATURE_32('r', 's', 't', 'n')
42
#define RESET_NOTIFY_ENTRY_FROM_LINK(a) CR (a, RESET_NOTIFY_ENTRY, Link, RESET_NOTIFY_ENTRY_SIGNATURE)
43
44
typedef
struct
{
45
UINT32 Signature;
46
EFI_RESET_NOTIFICATION_PROTOCOL
ResetNotification;
47
LIST_ENTRY
ResetNotifies;
48
}
RESET_NOTIFICATION_INSTANCE
;
49
#define RESET_NOTIFICATION_INSTANCE_SIGNATURE SIGNATURE_32('r', 's', 't', 'i')
50
#define RESET_NOTIFICATION_INSTANCE_FROM_THIS(a) \
51
CR (a, RESET_NOTIFICATION_INSTANCE, ResetNotification, RESET_NOTIFICATION_INSTANCE_SIGNATURE)
52
65
EFI_STATUS
66
EFIAPI
67
InitializeResetSystem
(
68
IN
EFI_HANDLE
ImageHandle,
69
IN
EFI_SYSTEM_TABLE
*SystemTable
70
);
71
88
VOID
89
EFIAPI
90
RuntimeServiceResetSystem
(
91
IN
EFI_RESET_TYPE
ResetType,
92
IN
EFI_STATUS
ResetStatus,
93
IN
UINTN
DataSize,
94
IN
VOID *ResetData OPTIONAL
95
);
96
97
#endif
UINTN
UINT64 UINTN
Definition:
ProcessorBind.h:112
BaseLib.h
CapsuleVendor.h
IN
#define IN
Definition:
Base.h:279
DebugLib.h
ReportStatusCodeLib.h
MemoryAllocationLib.h
PiDxe.h
PlatformSpecificResetFilter.h
PlatformSpecificResetHandler.h
Reset.h
ResetNotification.h
ResetSystemLib.h
RuntimeServiceResetSystem
VOID EFIAPI RuntimeServiceResetSystem(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition:
ResetSystem.c:227
InitializeResetSystem
EFI_STATUS EFIAPI InitializeResetSystem(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
Definition:
ResetSystem.c:171
EFI_STATUS
RETURN_STATUS EFI_STATUS
Definition:
UefiBaseType.h:29
EFI_HANDLE
VOID * EFI_HANDLE
Definition:
UefiBaseType.h:33
UefiBootServicesTableLib.h
UefiDriverEntryPoint.h
UefiLib.h
EFI_RESET_TYPE
EFI_RESET_TYPE
Definition:
UefiMultiPhase.h:132
UefiRuntimeLib.h
UefiRuntimeServicesTableLib.h
EFI_RESET_SYSTEM
VOID(EFIAPI * EFI_RESET_SYSTEM)(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition:
UefiSpec.h:1089
_EFI_RESET_NOTIFICATION_PROTOCOL
Definition:
ResetNotification.h:71
_LIST_ENTRY
Definition:
Base.h:247
EFI_SYSTEM_TABLE
Definition:
UefiSpec.h:2028
RESET_NOTIFICATION_INSTANCE
Definition:
ResetSystem.h:44
RESET_NOTIFY_ENTRY
Definition:
ResetSystem.h:36
MdeModulePkg
Universal
ResetSystemRuntimeDxe
ResetSystem.h
Generated on Fri Nov 15 2024 18:01:13 for TianoCore EDK2 by
1.9.6