Home | History | Annotate | Download | only in LoadedImage
      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