2 Module entry point library for UEFI drivers, DXE Drivers, DXE Runtime Drivers,
5 Copyright (c) 2006 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef __MODULE_ENTRY_POINT_H__
17 #define __MODULE_ENTRY_POINT_H__
20 /// Declare the EFI/UEFI Specification Revision to which this driver is implemented
22 extern CONST UINT32 _gUefiDriverRevision
;
25 /// Declare the number of unload handler in the image.
27 extern CONST UINT8 _gDriverUnloadImageCount
;
31 Enrty point to DXE Driver.
33 @param ImageHandle ImageHandle of the loaded driver.
34 @param SystemTable Pointer to the EFI System Table.
36 @retval EFI_SUCCESS One or more of the drivers returned a success code.
37 @retval !EFI_SUCESS The return status from the last driver entry point in the list.
43 IN EFI_HANDLE ImageHandle
,
44 IN EFI_SYSTEM_TABLE
*SystemTable
49 Enrty point wrapper of DXE Driver.
51 @param ImageHandle ImageHandle of the loaded driver.
52 @param SystemTable Pointer to the EFI System Table.
54 @retval EFI_SUCCESS One or more of the drivers returned a success code.
55 @retval !EFI_SUCESS The return status from the last driver entry point in the list.
61 IN EFI_HANDLE ImageHandle
,
62 IN EFI_SYSTEM_TABLE
*SystemTable
67 Computes the cummulative return status for the driver entry point and perform
68 a long jump back into DriverEntryPoint().
70 @param Status Status returned by the driver that is exiting.
81 Call constructs for all libraries. Automatics Generated by tool.
83 @param ImageHandle ImageHandle of the loaded driver.
84 @param SystemTable Pointer to the EFI System Table.
89 ProcessLibraryConstructorList (
90 IN EFI_HANDLE ImageHandle
,
91 IN EFI_SYSTEM_TABLE
*SystemTable
96 Call destructors for all libraries. Automatics Generated by tool.
98 @param ImageHandle ImageHandle of the loaded driver.
99 @param SystemTable Pointer to the EFI System Table.
104 ProcessLibraryDestructorList (
105 IN EFI_HANDLE ImageHandle
,
106 IN EFI_SYSTEM_TABLE
*SystemTable
110 Call the list of driver entry points. Automatics Generated by tool.
112 @param ImageHandle ImageHandle of the loaded driver.
113 @param SystemTable Pointer to the EFI System Table.
115 @return Status returned by entry points of drivers.
120 Call the list of driver entry points. Automatics Generated by tool.
122 @param ImageHandle ImageHandle of the loaded driver.
123 @param SystemTable Pointer to the EFI System Table.
125 @return Status returned by entry points of drivers.
130 ProcessModuleEntryPointList (
131 IN EFI_HANDLE ImageHandle
,
132 IN EFI_SYSTEM_TABLE
*SystemTable
137 Call the unload handlers for all the modules. Automatics Generated by tool.
139 @param ImageHandle ImageHandle of the loaded driver.
141 @return Status returned by unload handlers of drivers.
146 ProcessModuleUnloadList (
147 IN EFI_HANDLE ImageHandle