]> git.proxmox.com Git - mirror_edk2.git/blob - Nt32Pkg/Include/Ppi/NtPeiLoadFile.h
c961e35c4ed0d081da971e745d7d85829398ea4e
[mirror_edk2.git] / Nt32Pkg / Include / Ppi / NtPeiLoadFile.h
1 /**@file
2
3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4 SPDX-License-Identifier: BSD-2-Clause-Patent
5
6 Module Name:
7
8 NtPeiLoadFile.h
9
10 Abstract:
11
12 WinNt Load File PPI.
13
14 When the PEI core is done it calls the DXE IPL via PPI
15
16 **/
17
18 #ifndef __NT_PEI_LOAD_FILE_H__
19 #define __NT_PEI_LOAD_FILE_H__
20
21 #include <WinNtDxe.h>
22
23 #define NT_PEI_LOAD_FILE_GUID \
24 { \
25 0xfd0c65eb, 0x405, 0x4cd2, {0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 } \
26 }
27
28 typedef
29 EFI_STATUS
30 (EFIAPI *NT_PEI_LOAD_FILE) (
31 VOID *Pe32Data,
32 EFI_PHYSICAL_ADDRESS *ImageAddress,
33 UINT64 *ImageSize,
34 EFI_PHYSICAL_ADDRESS *EntryPoint
35 );
36
37 /*++
38
39 Routine Description:
40 Loads and relocates a PE/COFF image into memory.
41
42 Arguments:
43 Pe32Data - The base address of the PE/COFF file that is to be loaded and relocated
44 ImageAddress - The base address of the relocated PE/COFF image
45 ImageSize - The size of the relocated PE/COFF image
46 EntryPoint - The entry point of the relocated PE/COFF image
47
48 Returns:
49 EFI_SUCCESS - The file was loaded and relocated
50 EFI_OUT_OF_RESOURCES - There was not enough memory to load and relocate the PE/COFF file
51
52 --*/
53 typedef struct {
54 NT_PEI_LOAD_FILE PeiLoadFileService;
55 } NT_PEI_LOAD_FILE_PPI;
56
57 extern EFI_GUID gNtPeiLoadFilePpiGuid;
58
59 #endif