3 Copyright (c) 2004, 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.
18 Load PE32 Image Protocol
22 #ifndef _LOAD_PE32_IMAGE_H_
23 #define _LOAD_PE32_IMAGE_H_
25 #define PE32_IMAGE_PROTOCOL_GUID \
26 {0x5cb5c776,0x60d5,0x45ee,0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }
28 #define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE 0x00
29 #define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION 0x01
30 #define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION 0x02
32 EFI_FORWARD_DECLARATION (EFI_PE32_IMAGE_PROTOCOL
);
36 (EFIAPI
*LOAD_PE_IMAGE
) (
37 IN EFI_PE32_IMAGE_PROTOCOL
*This
,
38 IN EFI_HANDLE ParentImageHandle
,
39 IN EFI_DEVICE_PATH_PROTOCOL
*FilePath
,
40 IN VOID
*SourceBuffer OPTIONAL
,
42 IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL
,
43 OUT UINTN
*NumberOfPages OPTIONAL
,
44 OUT EFI_HANDLE
*ImageHandle
,
45 OUT EFI_PHYSICAL_ADDRESS
*EntryPoint OPTIONAL
,
51 (EFIAPI
*UNLOAD_PE_IMAGE
) (
52 IN EFI_PE32_IMAGE_PROTOCOL
*This
,
53 IN EFI_HANDLE ImageHandle
56 struct _EFI_PE32_IMAGE_PROTOCOL
{
57 LOAD_PE_IMAGE LoadPeImage
;
58 UNLOAD_PE_IMAGE UnLoadPeImage
;
61 extern EFI_GUID gEfiLoadPeImageGuid
;