Event.h revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
2N/A/** @file
2N/A UEFI Event support functions and structure.
2N/A
2N/ACopyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
2N/AThis program and the accompanying materials
2N/Aare licensed and made available under the terms and conditions of the BSD License
2N/Awhich accompanies this distribution. The full text of the license may be found at
2N/Ahttp://opensource.org/licenses/bsd-license.php
2N/A
2N/ATHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
2N/AWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
2N/A
2N/A**/
2N/A
2N/A#ifndef __EVENT_H__
2N/A#define __EVENT_H__
2N/A
2N/A
2N/A#define VALID_TPL(a) ((a) <= TPL_HIGH_LEVEL)
2N/Aextern UINTN gEventPending;
2N/A
2N/A
2N/A//
2N/A// EFI_EVENT
2N/A//
2N/A
2N/A///
2N/A/// Timer event information
2N/A///
2N/Atypedef struct {
2N/A LIST_ENTRY Link;
2N/A UINT64 TriggerTime;
2N/A UINT64 Period;
2N/A} TIMER_EVENT_INFO;
2N/A
2N/A#define EVENT_SIGNATURE SIGNATURE_32('e','v','n','t')
2N/Atypedef struct {
2N/A UINTN Signature;
2N/A UINT32 Type;
2N/A UINT32 SignalCount;
2N/A ///
2N/A /// Entry if the event is registered to be signalled
2N/A ///
2N/A LIST_ENTRY SignalLink;
2N/A ///
2N/A /// Notification information for this event
2N/A ///
2N/A EFI_TPL NotifyTpl;
EFI_EVENT_NOTIFY NotifyFunction;
VOID *NotifyContext;
EFI_GUID EventGroup;
LIST_ENTRY NotifyLink;
BOOLEAN ExFlag;
///
/// A list of all runtime events
///
EFI_RUNTIME_EVENT_ENTRY RuntimeData;
TIMER_EVENT_INFO Timer;
} IEVENT;
//
// Internal prototypes
//
/**
Dispatches all pending events.
@param Priority The task priority level of event notifications
to dispatch
**/
VOID
CoreDispatchEventNotifies (
IN EFI_TPL Priority
);
/**
Initializes timer support.
**/
VOID
CoreInitializeTimer (
VOID
);
#endif