blob: e08845926dd3da8bb901baae377676c9f6c581bd [file] [log] [blame]
bbahnsen878ddf12006-04-21 22:54:32 +00001/** @file
2 Entry point to a PEIM
3
4Copyright (c) 2006, Intel Corporation<BR>
5All rights reserved. This program and the accompanying materials
6are licensed and made available under the terms and conditions of the BSD License
7which accompanies this distribution. The full text of the license may be found at
8http://opensource.org/licenses/bsd-license.php
9
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11WITHOUT 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//
21extern 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**/
32EFI_STATUS
33EFIAPI
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**/
49EFI_STATUS
50EFIAPI
51EfiMain (
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**/
64VOID
65EFIAPI
66ProcessLibraryConstructorList (
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**/
79VOID
80EFIAPI
81ProcessLibraryDestructorList (
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**/
96EFI_STATUS
97EFIAPI
98ProcessModuleEntryPointList (
99 IN EFI_FFS_FILE_HEADER *FfsHeader,
100 IN EFI_PEI_SERVICES **PeiServices
101 );
102
103#endif