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  LoadedImage.h
15 
16 Abstract:
17 
18   EFI 1.0 Loaded image protocol definition.
19 
20   Every EFI driver and application is passed an image handle when it is loaded.
21   This image handle will contain a Loaded Image Protocol.
22 
23 --*/
24 
25 #ifndef _LOADED_IMAGE_H_
26 #define _LOADED_IMAGE_H_
27 
28 #define EFI_LOADED_IMAGE_PROTOCOL_GUID \
29   { \
30     0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} \
31   }
32 
33 //
34 // EFI_SYSTEM_TABLE & EFI_IMAGE_UNLOAD are defined in EfiApi.h
35 //
36 #define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000
37 
38 typedef struct {
39   UINT32                    Revision;
40   EFI_HANDLE                ParentHandle;
41   EFI_SYSTEM_TABLE          *SystemTable;
42 
43   //
44   // Source location of image
45   //
46   EFI_HANDLE                DeviceHandle;
47   EFI_DEVICE_PATH_PROTOCOL  *FilePath;
48   VOID                      *Reserved;
49 
50   //
51   // Images load options
52   //
53   UINT32                    LoadOptionsSize;
54   VOID                      *LoadOptions;
55 
56   //
57   // Location of where image was loaded
58   //
59   VOID                      *ImageBase;
60   UINT64                    ImageSize;
61   EFI_MEMORY_TYPE           ImageCodeType;
62   EFI_MEMORY_TYPE           ImageDataType;
63 
64   //
65   // If the driver image supports a dynamic unload request
66   //
67   EFI_IMAGE_UNLOAD          Unload;
68 
69 } EFI_LOADED_IMAGE_PROTOCOL;
70 
71 extern EFI_GUID gEfiLoadedImageProtocolGuid;
72 
73 #endif
74