• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*++
2 
3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
4 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 
65