abafb71afd33c8e69e2dd54a9813c1c79fc011e2
[mirror_edk2.git] / EdkModulePkg / Include / Guid / PeiPeCoffLoader.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 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 #define EFI_PEI_PE_COFF_LOADER_GUID \
25 { 0xd8117cff, 0x94a6, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
26
27 typedef struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL EFI_PEI_PE_COFF_LOADER_PROTOCOL;
28
29
30 typedef
31 EFI_STATUS
32 (EFIAPI *EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO) (
33 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
34 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
35 );
36
37 typedef
38 EFI_STATUS
39 (EFIAPI *EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE) (
40 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
41 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
42 );
43
44 typedef
45 EFI_STATUS
46 (EFIAPI *EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE) (
47 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
48 IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
49 );
50
51 typedef
52 EFI_STATUS
53 (EFIAPI *EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE) (
54 IN EFI_PEI_PE_COFF_LOADER_PROTOCOL *This,
55 IN PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
56 );
57
58 struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL {
59 EFI_PEI_PE_COFF_LOADER_GET_IMAGE_INFO GetImageInfo;
60 EFI_PEI_PE_COFF_LOADER_LOAD_IMAGE LoadImage;
61 EFI_PEI_PE_COFF_LOADER_RELOCATE_IMAGE RelocateImage;
62 EFI_PEI_PE_COFF_LOADER_UNLOAD_IMAGE UnloadImage;
63 };
64
65 extern EFI_GUID gEfiPeiPeCoffLoaderGuid;
66
67 #endif