]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Library/UefiDriverEntryPoint.h
1. build.py's changes : include XXXEntryPointLib.h into the corresponding autogen...
[mirror_edk2.git] / MdePkg / Include / Library / UefiDriverEntryPoint.h
1 /** @file
2 Entry point to a DXE Boot Services Driver
3
4 Copyright (c) 2006, 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
9
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.
12
13 **/
14
15 #ifndef __MODULE_ENTRY_POINT_H__
16 #define __MODULE_ENTRY_POINT_H__
17
18 ///
19 /// Declare the EFI/UEFI Specification Revision to which this driver is implemented
20 ///
21 extern CONST UINT32 _gUefiDriverRevision;
22
23 ///
24 /// Declare the number of unload handler in the image.
25 ///
26 extern CONST UINT8 _gDriverUnloadImageCount;
27
28
29 /**
30 Enrty point to DXE Driver.
31
32 @param ImageHandle ImageHandle of the loaded driver.
33 @param SystemTable Pointer to the EFI System Table.
34
35 @retval EFI_SUCCESS One or more of the drivers returned a success code.
36 @retval !EFI_SUCESS The return status from the last driver entry point in the list.
37
38 **/
39 EFI_STATUS
40 EFIAPI
41 _ModuleEntryPoint (
42 IN EFI_HANDLE ImageHandle,
43 IN EFI_SYSTEM_TABLE *SystemTable
44 );
45
46
47 /**
48 Enrty point wrapper of DXE Driver.
49
50 @param ImageHandle ImageHandle of the loaded driver.
51 @param SystemTable Pointer to the EFI System Table.
52
53 @retval EFI_SUCCESS One or more of the drivers returned a success code.
54 @retval !EFI_SUCESS The return status from the last driver entry point in the list.
55
56 **/
57 EFI_STATUS
58 EFIAPI
59 EfiMain (
60 IN EFI_HANDLE ImageHandle,
61 IN EFI_SYSTEM_TABLE *SystemTable
62 );
63
64
65 /**
66 Computes the cummulative return status for the driver entry point and perform
67 a long jump back into DriverEntryPoint().
68
69 @param Status Status returned by the driver that is exiting.
70
71 **/
72 VOID
73 EFIAPI
74 ExitDriver (
75 IN EFI_STATUS Status
76 );
77
78
79 /**
80 Call constructs for all libraries. Automatics Generated by tool.
81
82 @param ImageHandle ImageHandle of the loaded driver.
83 @param SystemTable Pointer to the EFI System Table.
84
85 **/
86 VOID
87 EFIAPI
88 ProcessLibraryConstructorList (
89 IN EFI_HANDLE ImageHandle,
90 IN EFI_SYSTEM_TABLE *SystemTable
91 );
92
93
94 /**
95 Call destructors for all libraries. Automatics Generated by tool.
96
97 @param ImageHandle ImageHandle of the loaded driver.
98 @param SystemTable Pointer to the EFI System Table.
99
100 **/
101 VOID
102 EFIAPI
103 ProcessLibraryDestructorList (
104 IN EFI_HANDLE ImageHandle,
105 IN EFI_SYSTEM_TABLE *SystemTable
106 );
107
108 /**
109 Call the list of driver entry points. Automatics Generated by tool.
110
111 @param ImageHandle ImageHandle of the loaded driver.
112 @param SystemTable Pointer to the EFI System Table.
113
114 @return Status returned by entry points of drivers.
115
116 **/
117
118 /**
119 Call the list of driver entry points. Automatics Generated by tool.
120
121 @param ImageHandle ImageHandle of the loaded driver.
122 @param SystemTable Pointer to the EFI System Table.
123
124 @return Status returned by entry points of drivers.
125
126 **/
127 EFI_STATUS
128 EFIAPI
129 ProcessModuleEntryPointList (
130 IN EFI_HANDLE ImageHandle,
131 IN EFI_SYSTEM_TABLE *SystemTable
132 );
133
134
135 /**
136 Call the unload handlers for all the modules. Automatics Generated by tool.
137
138 @param ImageHandle ImageHandle of the loaded driver.
139
140 @return Status returned by unload handlers of drivers.
141
142 **/
143 EFI_STATUS
144 EFIAPI
145 ProcessModuleUnloadList (
146 IN EFI_HANDLE ImageHandle
147 );
148
149 #endif