]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Core/Dxe/Exec.h
Remove two obsolete function prototypes.
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Exec.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
15#ifndef _EXEC_H_\r
16#define _EXEC_H_\r
17\r
18#define VALID_TPL(a) ((a) <= TPL_HIGH_LEVEL)\r
19\r
20//\r
21// EFI_EVENT\r
22//\r
28a00297 23#define EVENT_SIGNATURE EFI_SIGNATURE_32('e','v','n','t')\r
24typedef struct {\r
25 UINTN Signature;\r
26 UINT32 Type;\r
27 UINT32 SignalCount;\r
28\r
29 //\r
30 // Entry if the event is registered to be signalled\r
31 //\r
32\r
33 LIST_ENTRY SignalLink;\r
34\r
35 //\r
36 // Notification information for this event\r
37 //\r
38\r
39 EFI_TPL NotifyTpl;\r
40 EFI_EVENT_NOTIFY NotifyFunction;\r
41 VOID *NotifyContext;\r
42 EFI_GUID EventGroup;\r
022c6d45 43 LIST_ENTRY NotifyLink;\r
28a00297 44 BOOLEAN ExFlag;\r
022c6d45 45\r
28a00297 46 //\r
47 // A list of all runtime events\r
48 //\r
49 EFI_RUNTIME_EVENT_ENTRY RuntimeData;\r
50\r
51 //\r
52 // Information by event type\r
53 //\r
54\r
55 union {\r
56 //\r
57 // For timer events\r
58 //\r
59 struct {\r
60 LIST_ENTRY Link;\r
61 UINT64 TriggerTime;\r
62 UINT64 Period;\r
63 } Timer;\r
64 } u;\r
65\r
022c6d45 66} IEVENT;\r
28a00297 67\r
68//\r
69// Internal prototypes\r
70//\r
71\r
162ed594 72\r
73/**\r
74 Dispatches all pending events.\r
75\r
022c6d45 76 @param Priority The task priority level of event notifications\r
162ed594 77 to dispatch\r
78\r
79**/\r
28a00297 80VOID\r
81CoreDispatchEventNotifies (\r
82 IN EFI_TPL Priority\r
23c98c94 83 );\r
28a00297 84\r
28a00297 85\r
28a00297 86\r
162ed594 87/**\r
88 Return the highest set bit.\r
28a00297 89\r
022c6d45 90 @param Number The value to check\r
28a00297 91\r
162ed594 92 @return Bit position of the highest set bit\r
28a00297 93\r
162ed594 94**/\r
28a00297 95UINTN\r
96CoreHighestSetBit (\r
23c98c94 97 IN UINTN Number\r
98 );\r
28a00297 99\r
28a00297 100\r
28a00297 101//\r
102// Exported functions\r
103//\r
162ed594 104/**\r
105 Initializes timer support.\r
28a00297 106\r
162ed594 107**/\r
28a00297 108VOID\r
109CoreInitializeTimer (\r
110 VOID\r
23c98c94 111 );\r
28a00297 112\r
113//\r
114// extern data declarations\r
115//\r
116\r
117extern EFI_LOCK gEventQueueLock;\r
118extern UINTN gEventPending;\r
119extern LIST_ENTRY gEventQueue[];\r
120extern LIST_ENTRY gEventSignalQueue;\r
28a00297 121\r
122#endif\r