Porting SecMain module for Nt32Pkg, but not enable PI, so it currently dependent...
[mirror_edk2.git] / MdeModulePkg / Include / Guid / PeiPeCoffLoader.h
1 /*++
2
3 Copyright (c) 2006 - 2007, 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 PeiPeCoffLoader.h
14
15 Abstract:
16 GUID for the PE/COFF Loader APIs shared between PEI and DXE
17
18 --*/
19
20 #ifndef __PEI_PE_COFF_LOADER_H__
21 #define __PEI_PE_COFF_LOADER_H__
22
23 //
24 // MdePkg/Include/Common/PeCoffLoaderImageContext.h
25 //
26 #include <Library/PeCoffLib.h>
27
28 #define EFI_PEI_PE_COFF_LOADER_GUID \
29 { 0xd8117cff, 0x94a6, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
30
31 typedef struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL EFI_PEI_PE_COFF_LOADER_PROTOCOL;
32
33
34 typedef
35 EFI_STATUS
36 (EFIAPI *EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO) (
37 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
38 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
39 );
40
41 typedef
42 EFI_STATUS
43 (EFIAPI *EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE) (
44 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
45 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
46 );
47
48 typedef
49 EFI_STATUS
50 (EFIAPI *EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE) (
51 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
52 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
53 );
54
55 typedef
56 EFI_STATUS
57 (EFIAPI *EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE) (
58 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
59 IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
60 );
61
62 struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL {
63 EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO GetImageInfo;
64 EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE LoadImage;
65 EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE RelocateImage;
66 EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE UnloadImage;
67 };
68
69 extern EFI_GUID gEfiPeiPeCoffLoaderGuid;
70
71 #endif