]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/PeCoffGetEntryPointLib.h
PeCoffGetEntryPointLib: Fix spelling issue
[mirror_edk2.git] / MdePkg / Include / Library / PeCoffGetEntryPointLib.h
index f20562eef9deef430a4fe2b50dd441f7a57ed646..f211cf54268e96ede7fc297d5af6ffad05c8787f 100644 (file)
@@ -1,16 +1,14 @@
 /** @file\r
-       Memory Only PE COFF loader\r
+  Provides a service to retrieve the PE/COFF entry point from a PE/COFF image.\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
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+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
-\r
-       Module Name:    PeCoffGetEntryPointLib.h\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
 \r
 **/\r
 \r
 #define __PE_COFF_GET_ENTRY_POINT_LIB_H__\r
 \r
 /**\r
-       Loads a PE/COFF image into memory\r
+  Retrieves and returns a pointer to the entry point to a PE/COFF image that has been loaded\r
+  into system memory with the PE/COFF Loader Library functions.\r
+\r
+  Retrieves the entry point to the PE/COFF image specified by Pe32Data and returns this entry\r
+  point in EntryPoint.  If the entry point could not be retrieved from the PE/COFF image, then\r
+  return RETURN_INVALID_PARAMETER.  Otherwise return RETURN_SUCCESS.\r
+  If Pe32Data is NULL, then ASSERT().\r
+  If EntryPoint is NULL, then ASSERT().\r
 \r
-       @param  Pe32Data Pointer to a PE/COFF Image\r
-       \r
-       @param  EntryPoint Pointer to the entry point of the PE/COFF image\r
+  @param  Pe32Data                  The pointer to the PE/COFF image that is loaded in system memory.\r
+  @param  EntryPoint                The pointer to entry point to the PE/COFF image to return.\r
 \r
-       @retval EFI_SUCCESS            if the EntryPoint was returned\r
-       @retval EFI_INVALID_PARAMETER  if the EntryPoint could not be found from Pe32Data\r
+  @retval RETURN_SUCCESS            EntryPoint was returned.\r
+  @retval RETURN_INVALID_PARAMETER  The entry point could not be found in the PE/COFF image.\r
 \r
 **/\r
 RETURN_STATUS\r
 EFIAPI\r
 PeCoffLoaderGetEntryPoint (\r
-  IN     VOID  *Pe32Data,\r
-  IN OUT VOID  **EntryPoint\r
-  )\r
-;\r
+  IN  VOID  *Pe32Data,\r
+  OUT VOID  **EntryPoint\r
+  );\r
+\r
+/**\r
+  Returns the machine type of a PE/COFF image.\r
+\r
+  Returns the machine type from the PE/COFF image specified by Pe32Data.\r
+  If Pe32Data is NULL, then ASSERT().\r
+\r
+  @param  Pe32Data   The pointer to the PE/COFF image that is loaded in system\r
+                     memory.\r
+\r
+  @return Machine type or zero if not a valid image.\r
+\r
+**/\r
+UINT16\r
+EFIAPI\r
+PeCoffLoaderGetMachineType (\r
+  IN VOID  *Pe32Data\r
+  );\r
+\r
+/**\r
+  Returns a pointer to the PDB file name for a PE/COFF image that has been\r
+  loaded into system memory with the PE/COFF Loader Library functions. \r
+\r
+  Returns the PDB file name for the PE/COFF image specified by Pe32Data.  If\r
+  the PE/COFF image specified by Pe32Data is not a valid, then NULL is\r
+  returned.  If the PE/COFF image specified by Pe32Data does not contain a\r
+  debug directory entry, then NULL is returned.  If the debug directory entry\r
+  in the PE/COFF image specified by Pe32Data does not contain a PDB file name,\r
+  then NULL is returned.\r
+  If Pe32Data is NULL, then ASSERT().\r
+\r
+  @param  Pe32Data   The pointer to the PE/COFF image that is loaded in system\r
+                     memory.\r
+\r
+  @return The PDB file name for the PE/COFF image specified by Pe32Data, or NULL\r
+          if it cannot be retrieved.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+PeCoffLoaderGetPdbPointer (\r
+  IN VOID  *Pe32Data\r
+  );\r
+\r
+\r
+/**\r
+  Returns the size of the PE/COFF headers\r
+\r
+  Returns the size of the PE/COFF header specified by Pe32Data.\r
+  If Pe32Data is NULL, then ASSERT().\r
+\r
+  @param  Pe32Data   The pointer to the PE/COFF image that is loaded in system\r
+                     memory.\r
+\r
+  @return Size of PE/COFF header in bytes, or zero if not a valid image.\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PeCoffGetSizeOfHeaders (\r
+  IN VOID     *Pe32Data\r
+  );\r
+\r
+/**\r
+  Returns PE/COFF image base specified by the address in this PE/COFF image.\r
+\r
+  On DEBUG build, searches the PE/COFF image base forward the address in this\r
+  PE/COFF image and returns it.\r
+\r
+  @param  Address    Address located in one PE/COFF image.\r
+\r
+  @retval 0          RELEASE build or cannot find the PE/COFF image base.\r
+  @retval others     PE/COFF image base found.\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+PeCoffSearchImageBase (\r
+  IN UINTN    Address\r
+  );\r
 \r
 #endif\r