]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Core/Dxe/Event/Event.h
Clean up to update the reference of the these macros:
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Event / Event.h
CommitLineData
23c98c94 1/** @file\r
504214c4
LG
2 UEFI Event support functions and structure.\r
3\r
23c98c94 4Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
28a00297 12\r
504214c4 13**/\r
28a00297 14\r
5f3232d7 15#ifndef __EVENT_H__\r
16#define __EVENT_H__\r
28a00297 17\r
ec90508b 18\r
28a00297 19#define VALID_TPL(a) ((a) <= TPL_HIGH_LEVEL)\r
ec90508b 20extern UINTN gEventPending;\r
21\r
28a00297 22\r
23//\r
24// EFI_EVENT\r
25//\r
f3f2e05d 26#define EVENT_SIGNATURE SIGNATURE_32('e','v','n','t')\r
28a00297 27typedef struct {\r
28 UINTN Signature;\r
29 UINT32 Type;\r
30 UINT32 SignalCount;\r
ec90508b 31 ///\r
32 /// Entry if the event is registered to be signalled\r
33 ///\r
28a00297 34 LIST_ENTRY SignalLink;\r
ec90508b 35 ///\r
36 /// Notification information for this event\r
37 ///\r
28a00297 38 EFI_TPL NotifyTpl;\r
39 EFI_EVENT_NOTIFY NotifyFunction;\r
40 VOID *NotifyContext;\r
41 EFI_GUID EventGroup;\r
022c6d45 42 LIST_ENTRY NotifyLink;\r
28a00297 43 BOOLEAN ExFlag;\r
ec90508b 44 ///\r
45 /// A list of all runtime events\r
46 ///\r
28a00297 47 EFI_RUNTIME_EVENT_ENTRY RuntimeData;\r
ec90508b 48 ///\r
49 /// Information by event type\r
50 ///\r
28a00297 51 union {\r
ec90508b 52 ///\r
53 /// For timer events\r
54 ///\r
28a00297 55 struct {\r
56 LIST_ENTRY Link;\r
57 UINT64 TriggerTime;\r
58 UINT64 Period;\r
59 } Timer;\r
60 } u;\r
61\r
022c6d45 62} IEVENT;\r
28a00297 63\r
64//\r
65// Internal prototypes\r
66//\r
67\r
162ed594 68\r
69/**\r
70 Dispatches all pending events.\r
71\r
022c6d45 72 @param Priority The task priority level of event notifications\r
162ed594 73 to dispatch\r
74\r
75**/\r
28a00297 76VOID\r
77CoreDispatchEventNotifies (\r
78 IN EFI_TPL Priority\r
23c98c94 79 );\r
28a00297 80\r
28a00297 81\r
162ed594 82/**\r
83 Initializes timer support.\r
28a00297 84\r
162ed594 85**/\r
28a00297 86VOID\r
87CoreInitializeTimer (\r
88 VOID\r
23c98c94 89 );\r
28a00297 90\r
28a00297 91#endif\r