2 Internal functions shared in DxeCore module.
4 Copyright (c) 2006 - 2008, Intel Corporation. <BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef _DXE_LIBRARY_H_
16 #define _DXE_LIBRARY_H_
21 Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid.
23 @param Value Describes the class/subclass/operation of the
24 hardware or software entity that the Status Code
29 CoreReportProgressCode (
30 IN EFI_STATUS_CODE_VALUE Value
35 Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid,
36 with a handle as additional information.
38 @param Value Describes the class/subclass/operation of the
39 hardware or software entity that the Status Code
41 @param Handle Additional information.
45 CoreReportProgressCodeSpecific (
46 IN EFI_STATUS_CODE_VALUE Value
,
52 Raising to the task priority level of the mutual exclusion
53 lock, and then acquires ownership of the lock.
55 @param Lock The lock to acquire
67 Initialize a basic mutual exclusion lock. Each lock
68 provides mutual exclusion access at it's task priority
69 level. Since there is no-premption (at any TPL) or
70 multiprocessor support, acquiring the lock only consists
71 of raising to the locks TPL.
73 @param Lock The EFI_LOCK structure to initialize
75 @retval EFI_SUCCESS Lock Owned.
76 @retval EFI_ACCESS_DENIED Reentrant Lock Acquisition, Lock not Owned.
80 CoreAcquireLockOrFail (
86 Releases ownership of the mutual exclusion lock, and
87 restores the previous task priority level.
89 @param Lock The lock to release
101 Create a protocol notification event and return it.
103 @param ProtocolGuid Protocol to register notification event on.
104 @param NotifyTpl Maximum TPL to signal the NotifyFunction.
105 @param NotifyFunction EFI notification routine.
106 @param NotifyContext Context passed into Event when it is created.
107 @param Registration Registration key returned from
108 RegisterProtocolNotify().
109 @param SignalFlag Boolean value to decide whether kick the event after
112 @return The EFI_EVENT that has been registered to be signaled when a ProtocolGuid
113 is added to the system.
117 CoreCreateProtocolNotifyEvent (
118 IN EFI_GUID
*ProtocolGuid
,
119 IN EFI_TPL NotifyTpl
,
120 IN EFI_EVENT_NOTIFY NotifyFunction
,
121 IN VOID
*NotifyContext
,
122 OUT VOID
**Registration
,
123 IN BOOLEAN SignalFlag