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
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.
16 GUID for the PE/COFF Loader APIs shared between PEI and DXE
20 #ifndef __PEI_PE_COFF_LOADER_H__
21 #define __PEI_PE_COFF_LOADER_H__
24 // MdePkg/Include/Common/PeCoffLoaderImageContext.h
26 #include <Library/PeCoffLib.h>
28 #define EFI_PEI_PE_COFF_LOADER_GUID \
29 { 0xd8117cff, 0x94a6, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
31 typedef struct _EFI_PEI_PE_COFF_LOADER_PROTOCOL EFI_PEI_PE_COFF_LOADER_PROTOCOL
;
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
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
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
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
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
;
69 extern EFI_GUID gEfiPeiPeCoffLoaderGuid
;