]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/LoadedImage.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / Protocol / LoadedImage.h
index c9e5741fadd22cfc4e7225b24d656ccf34732779..d6e05a90a5f4778132eec30d25541f384c549eeb 100644 (file)
@@ -4,22 +4,14 @@
   Every EFI driver and application is passed an image handle when it is loaded.\r
   This image handle will contain a Loaded Image Protocol.\r
 \r
-  Copyright (c) 2006, Intel Corporation                                                         \r
-  All rights reserved. This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php                                            \r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #ifndef __LOADED_IMAGE_PROTOCOL_H__\r
 #define __LOADED_IMAGE_PROTOCOL_H__\r
 \r
-#include <Protocol/DevicePath.h>\r
-\r
 #define EFI_LOADED_IMAGE_PROTOCOL_GUID \\r
   { \\r
     0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } \\r
     0xbc62157e, 0x3e33, 0x4fec, {0x99, 0x20, 0x2d, 0x3b, 0x36, 0xd7, 0x50, 0xdf } \\r
   }\r
 \r
-//\r
-// Protocol GUID defined in EFI1.1.\r
-// \r
+///\r
+/// Protocol GUID defined in EFI1.1.\r
+///\r
 #define LOADED_IMAGE_PROTOCOL   EFI_LOADED_IMAGE_PROTOCOL_GUID\r
 \r
-//\r
-// EFI_SYSTEM_TABLE & EFI_IMAGE_UNLOAD are defined in EfiApi.h\r
-//\r
+///\r
+/// EFI_SYSTEM_TABLE & EFI_IMAGE_UNLOAD are defined in EfiApi.h\r
+///\r
 #define EFI_LOADED_IMAGE_PROTOCOL_REVISION  0x1000\r
 \r
-//\r
-// Revision defined in EFI1.1.\r
-// \r
+///\r
+/// Revision defined in EFI1.1.\r
+///\r
 #define EFI_LOADED_IMAGE_INFORMATION_REVISION    EFI_LOADED_IMAGE_PROTOCOL_REVISION\r
 \r
-\r
+///\r
+/// Can be used on any image handle to obtain information about the loaded image.\r
+///\r
 typedef struct {\r
-  UINT32                    Revision;\r
-  EFI_HANDLE                ParentHandle;\r
-  EFI_SYSTEM_TABLE          *SystemTable;\r
+  UINT32            Revision;       ///< Defines the revision of the EFI_LOADED_IMAGE_PROTOCOL structure.\r
+                                    ///< All future revisions will be backward compatible to the current revision.\r
+  EFI_HANDLE        ParentHandle;   ///< Parent image's image handle. NULL if the image is loaded directly from\r
+                                    ///< the firmware's boot manager.\r
+  EFI_SYSTEM_TABLE  *SystemTable;   ///< the image's EFI system table pointer.\r
 \r
   //\r
   // Source location of image\r
   //\r
-  EFI_HANDLE                DeviceHandle;\r
-  EFI_DEVICE_PATH_PROTOCOL  *FilePath;\r
-  VOID                      *Reserved;\r
+  EFI_HANDLE        DeviceHandle;   ///< The device handle that the EFI Image was loaded from.\r
+  EFI_DEVICE_PATH_PROTOCOL  *FilePath;  ///< A pointer to the file path portion specific to DeviceHandle\r
+                                        ///< that the EFI Image was loaded from.\r
+  VOID              *Reserved;      ///< Reserved. DO NOT USE.\r
 \r
   //\r
   // Images load options\r
   //\r
-  UINT32                    LoadOptionsSize;\r
-  VOID                      *LoadOptions;\r
+  UINT32            LoadOptionsSize;///< The size in bytes of LoadOptions.\r
+  VOID              *LoadOptions;   ///< A pointer to the image's binary load options.\r
 \r
   //\r
   // Location of where image was loaded\r
   //\r
-  VOID                      *ImageBase;\r
-  UINT64                    ImageSize;\r
-  EFI_MEMORY_TYPE           ImageCodeType;\r
-  EFI_MEMORY_TYPE           ImageDataType;\r
-\r
-  //\r
-  // If the driver image supports a dynamic unload request\r
-  //\r
-  EFI_IMAGE_UNLOAD          Unload;\r
-\r
+  VOID              *ImageBase;     ///< The base address at which the image was loaded.\r
+  UINT64            ImageSize;      ///< The size in bytes of the loaded image.\r
+  EFI_MEMORY_TYPE   ImageCodeType;  ///< The memory type that the code sections were loaded as.\r
+  EFI_MEMORY_TYPE   ImageDataType;  ///< The memory type that the data sections were loaded as.\r
+  EFI_IMAGE_UNLOAD  Unload;\r
 } EFI_LOADED_IMAGE_PROTOCOL;\r
 \r
 //\r
 // For backward-compatible with EFI1.1.\r
-// \r
+//\r
 typedef EFI_LOADED_IMAGE_PROTOCOL EFI_LOADED_IMAGE;\r
 \r
 extern EFI_GUID gEfiLoadedImageProtocolGuid;\r