Import Library Class from original MDE package. Also I added the EFI_PEI_CORE_ENTRY_P...
[mirror_edk2.git] / MdePkg / Include / Library / PeimEntryPoint.h
1 /** @file
2 Entry point to a PEIM
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 _gPeimRevision;
22
23 /**
24 Image entry point of Peim.
25
26 @param FfsHeader Pointer to FFS header the loaded driver.
27 @param PeiServices Pointer to the PEI services.
28
29 @return Status returned by entry points of Peims.
30
31 **/
32 EFI_STATUS
33 EFIAPI
34 _ModuleEntryPoint (
35 IN EFI_FFS_FILE_HEADER *FfsHeader,
36 IN EFI_PEI_SERVICES **PeiServices
37 );
38
39
40 /**
41 Wrapper of Peim image entry point.
42
43 @param FfsHeader Pointer to FFS header the loaded driver.
44 @param PeiServices Pointer to the PEI services.
45
46 @return Status returned by entry points of Peims.
47
48 **/
49 EFI_STATUS
50 EFIAPI
51 EfiMain (
52 IN EFI_FFS_FILE_HEADER *FfsHeader,
53 IN EFI_PEI_SERVICES **PeiServices
54 );
55
56
57 /**
58 Call constructs for all libraries. Automatics Generated by tool.
59
60 @param FfsHeader Pointer to FFS header the loaded driver.
61 @param PeiServices Pointer to the PEI services.
62
63 **/
64 VOID
65 EFIAPI
66 ProcessLibraryConstructorList (
67 IN EFI_FFS_FILE_HEADER *FfsHeader,
68 IN EFI_PEI_SERVICES **PeiServices
69 );
70
71
72 /**
73 Call destructors for all libraries. Automatics Generated by tool.
74
75 @param FfsHeader Pointer to FFS header the loaded driver.
76 @param PeiServices Pointer to the PEI services.
77
78 **/
79 VOID
80 EFIAPI
81 ProcessLibraryDestructorList (
82 IN EFI_FFS_FILE_HEADER *FfsHeader,
83 IN EFI_PEI_SERVICES **PeiServices
84 );
85
86
87 /**
88 Call the list of driver entry points. Automatics Generated by tool.
89
90 @param FfsHeader Pointer to FFS header the loaded driver.
91 @param PeiServices Pointer to the PEI services.
92
93 @return Status returned by entry points of drivers.
94
95 **/
96 EFI_STATUS
97 EFIAPI
98 ProcessModuleEntryPointList (
99 IN EFI_FFS_FILE_HEADER *FfsHeader,
100 IN EFI_PEI_SERVICES **PeiServices
101 );
102
103 #endif