Extensible Firmware Interface Specification
30 12/12/00 Version 1.02
Related Definitions
//*******************************************************
// EFI_EVENT
//*******************************************************
typedef VOID *EFI_EVENT
//*******************************************************
// Event Types
//*******************************************************
// These types can be “ORed” together as needed – for example,
// EVT_TIMER might be “Ored” with EVT_NOTIFY_WAIT or
// EVT_NOTIFY_SIGNAL.
#define EVT_TIMER 0x80000000
#define EVT_RUNTIME 0x40000000
#define EVT_RUNTIME_CONTEXT 0x20000000
#define EVT_NOTIFY_WAIT 0x00000100
#define EVT_NOTIFY_SIGNAL 0x00000200
#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
EVT_TIMER The event is a timer event and may be passed to SetTimer().
Note that timers only function during boot services time.
EVT_RUNTIME The event is allocated from runtime memory. If an event is to be
signaled after the call to ExitBootServices(), the event’s data
structure and notification function need to be allocated from runtime
memory. For more information, see
SetVirtualAddressMap() (Section 3.7.1).
EVT_RUNTIME_CONTEXT The event’s NotifyContext pointer points to a runtime memory
address. See the discussion of EVT_RUNTIME.
EVT_NOTIFY_WAIT The event’s NotifyFunction is to be invoked whenever the
event is being waited on via WaitForEvent() or
CheckEvent().
EVT_NOTIFY_SIGNAL The event’s NotifyFunction is to be invoked whenever the
event is signaled via SignalEvent().
EVT_SIGNAL_EXIT_BOOT_SERVICES
This event is to be notified by the system when
ExitBootServices() is invoked. This type can not be used
with any other EVT bit type. The notification function for this
event is not allowed to use the Memory Allocation Services, or call
any functions that use the Memory Allocation Services, because
these services modify the current memory map.