]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Protocol/LoadPe32Image/LoadPe32Image.h
Removed extra typedefs on structures to fix error generated by gcc.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Protocol / LoadPe32Image / LoadPe32Image.h
1 /*++
2
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
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
14 LoadPe32Image.h
15
16 Abstract:
17
18 Load PE32 Image Protocol
19
20 --*/
21
22 #ifndef _LOAD_PE32_IMAGE_H_
23 #define _LOAD_PE32_IMAGE_H_
24
25 #define PE32_IMAGE_PROTOCOL_GUID \
26 {0x5cb5c776,0x60d5,0x45ee,0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }
27
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
31
32 EFI_FORWARD_DECLARATION (EFI_PE32_IMAGE_PROTOCOL);
33
34 typedef
35 EFI_STATUS
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,
41 IN UINTN SourceSize,
42 IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
43 OUT UINTN *NumberOfPages OPTIONAL,
44 OUT EFI_HANDLE *ImageHandle,
45 OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
46 IN UINT32 Attribute
47 );
48
49 typedef
50 EFI_STATUS
51 (EFIAPI *UNLOAD_PE_IMAGE) (
52 IN EFI_PE32_IMAGE_PROTOCOL *This,
53 IN EFI_HANDLE ImageHandle
54 );
55
56 struct _EFI_PE32_IMAGE_PROTOCOL {
57 LOAD_PE_IMAGE LoadPeImage;
58 UNLOAD_PE_IMAGE UnLoadPeImage;
59 };
60
61 extern EFI_GUID gEfiLoadPeImageGuid;
62
63 #endif
64