]> git.proxmox.com Git - mirror_edk2.git/blob - EdkNt32Pkg/Include/Ppi/NtPeiLoadFile.h
Some library instance's PCD is missing in FPD file for a module, it break single...
[mirror_edk2.git] / EdkNt32Pkg / Include / Ppi / NtPeiLoadFile.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 NtPeiLoadFile.h
15
16 Abstract:
17
18 WinNt Load File PPI.
19
20 When the PEI core is done it calls the DXE IPL via PPI
21
22 --*/
23
24 #ifndef __NT_PEI_LOAD_FILE_H__
25 #define __NT_PEI_LOAD_FILE_H__
26
27 #include <WinNtDxe.h>
28
29 #define NT_PEI_LOAD_FILE_GUID \
30 { \
31 0xfd0c65eb, 0x405, 0x4cd2, {0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 } \
32 }
33
34 typedef
35 EFI_STATUS
36 (EFIAPI *NT_PEI_LOAD_FILE) (
37 VOID *Pe32Data,
38 EFI_PHYSICAL_ADDRESS *ImageAddress,
39 UINT64 *ImageSize,
40 EFI_PHYSICAL_ADDRESS *EntryPoint
41 );
42
43 /*++
44
45 Routine Description:
46 Loads and relocates a PE/COFF image into memory.
47
48 Arguments:
49 Pe32Data - The base address of the PE/COFF file that is to be loaded and relocated
50 ImageAddress - The base address of the relocated PE/COFF image
51 ImageSize - The size of the relocated PE/COFF image
52 EntryPoint - The entry point of the relocated PE/COFF image
53
54 Returns:
55 EFI_SUCCESS - The file was loaded and relocated
56 EFI_OUT_OF_RESOURCES - There was not enough memory to load and relocate the PE/COFF file
57
58 --*/
59 typedef struct {
60 NT_PEI_LOAD_FILE PeiLoadFileService;
61 } NT_PEI_LOAD_FILE_PPI;
62
63 extern EFI_GUID gNtPeiLoadFilePpiGuid;
64
65 #endif