]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Protocol/LoadPe32Image.h
add back CAPSULE_HOB_INFO definition for back-compatible.
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / LoadPe32Image.h
index 1ea29896b8114045f89ca0320d30917c2eaffce0..38cc38acd719f084fd0a991d5d5a86ac33cb2b86 100644 (file)
@@ -1,6 +1,9 @@
-/*++\r
+/** @file\r
 \r
-Copyright (c) 2006, Intel Corporation\r
+  Load Pe32 Image protocol enables loading and unloading EFI images into memory and executing those images.\r
+  This protocol uses File Device Path to get EFI image.\r
+\r
+Copyright (c) 2006 - 2009, 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
@@ -9,19 +12,7 @@ http://opensource.org/licenses/bsd-license.php
 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
 \r
-Module Name:\r
-  LoadPe32Image.h\r
-\r
-Abstract:\r
-  Load File protocol as defined in the EFI 1.0 specification.\r
-\r
-  Load file protocol exists to supports the addition of new boot devices,\r
-  and to support booting from devices that do not map well to file system.\r
-  Network boot is done via a LoadFile protocol.\r
-\r
-  EFI 1.0 can boot from any device that produces a LoadFile protocol.\r
-\r
---*/\r
+**/\r
 \r
 #ifndef __LOAD_PE32_IMAGE_H__\r
 #define __LOAD_PE32_IMAGE_H__\r
@@ -35,31 +26,67 @@ Abstract:
 \r
 typedef struct _EFI_PE32_IMAGE_PROTOCOL   EFI_PE32_IMAGE_PROTOCOL;\r
 \r
+/**\r
+\r
+  Loads an EFI image into memory and returns a handle to the image with extended parameters.\r
+\r
+  @param  This                Pointer to the LoadPe32Image protocol instance\r
+  @param  ParentImageHandle   The caller's image handle.\r
+  @param  FilePath            The specific file path from which the image is loaded.\r
+  @param  SourceBuffer        If not NULL, a pointer to the memory location containing a copy of\r
+                              the image to be loaded.\r
+  @param  SourceSize          The size in bytes of SourceBuffer.\r
+  @param  DstBuffer           The buffer to store the image.\r
+  @param  NumberOfPages       For input, specifies the space size of the image by caller if not NULL.\r
+                              For output, specifies the actual space size needed.\r
+  @param  ImageHandle         Image handle for output.\r
+  @param  EntryPoint          Image entry point for output.\r
+  @param  Attribute           The bit mask of attributes to set for the load PE image.\r
+\r
+  @retval EFI_SUCCESS           The image was loaded into memory.\r
+  @retval EFI_NOT_FOUND         The FilePath was not found.\r
+  @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r
+  @retval EFI_UNSUPPORTED       The image type is not supported, or the device path cannot be\r
+                                parsed to locate the proper protocol for loading the file.\r
+  @retval EFI_OUT_OF_RESOURCES  Image was not loaded due to insufficient memory resources.\r
+**/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *LOAD_PE_IMAGE) (\r
+(EFIAPI *LOAD_PE_IMAGE)(\r
   IN EFI_PE32_IMAGE_PROTOCOL           *This,\r
   IN  EFI_HANDLE                       ParentImageHandle,\r
   IN  EFI_DEVICE_PATH_PROTOCOL         *FilePath,\r
   IN  VOID                             *SourceBuffer       OPTIONAL,\r
   IN  UINTN                            SourceSize,\r
   IN  EFI_PHYSICAL_ADDRESS             DstBuffer           OPTIONAL,\r
-  OUT UINTN                            *NumberOfPages      OPTIONAL,\r
+  IN OUT UINTN                         *NumberOfPages      OPTIONAL,\r
   OUT EFI_HANDLE                       *ImageHandle,\r
   OUT EFI_PHYSICAL_ADDRESS             *EntryPoint         OPTIONAL,\r
   IN  UINT32                           Attribute\r
   );\r
 \r
+/**\r
+\r
+  Unload the specified image.\r
+\r
+  @param  This             Pointer to the LoadPe32Image protocol instance\r
+  @param  ImageHandle      The specified image handle to be unloaded.\r
+\r
+  @retval EFI_INVALID_PARAMETER Image handle is NULL.\r
+  @retval EFI_UNSUPPORTED       Attempt to unload an unsupported image.\r
+  @retval EFI_SUCCESS           Image is successfully unloaded.\r
+\r
+--*/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *UNLOAD_PE_IMAGE) (\r
+(EFIAPI *UNLOAD_PE_IMAGE)(\r
   IN EFI_PE32_IMAGE_PROTOCOL          *This,\r
   IN EFI_HANDLE                       ImageHandle\r
   );\r
 \r
 struct _EFI_PE32_IMAGE_PROTOCOL {\r
   LOAD_PE_IMAGE     LoadPeImage;\r
-  UNLOAD_PE_IMAGE  UnLoadPeImage;\r
+  UNLOAD_PE_IMAGE   UnLoadPeImage;\r
 };\r
 \r
 extern EFI_GUID gEfiLoadPeImageProtocolGuid;\r