X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=MdePkg%2FInclude%2FLibrary%2FPeCoffGetEntryPointLib.h;h=e517ca27aefab7464a5a436fa2f4fed194589bbb;hb=074583572668d320884b1d51605592a917558259;hp=973a36865528e13efdeaa5bf3adf67d8a69b84ac;hpb=2ce311322c72857f73138c45358e722607a1e80c;p=mirror_edk2.git diff --git a/MdePkg/Include/Library/PeCoffGetEntryPointLib.h b/MdePkg/Include/Library/PeCoffGetEntryPointLib.h index 973a368655..e517ca27ae 100644 --- a/MdePkg/Include/Library/PeCoffGetEntryPointLib.h +++ b/MdePkg/Include/Library/PeCoffGetEntryPointLib.h @@ -1,16 +1,14 @@ /** @file - Memory Only PE COFF loader + Provides a service to retrieve the PE/COFF entry point from a PE/COFF image. - Copyright (c) 2006, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php +Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+This program and the accompanying materials are licensed and made available under +the terms and conditions of the BSD License that accompanies this distribution. +The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php. - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - Module Name: PeCoffGetEntryPointLib.h +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ @@ -27,8 +25,8 @@ If Pe32Data is NULL, then ASSERT(). If EntryPoint is NULL, then ASSERT(). - @param Pe32Data Pointer to the PE/COFF image that is loaded in system memory. - @param EntryPoint Pointer to entry point to the PE/COFF image to return. + @param Pe32Data The pointer to the PE/COFF image that is loaded in system memory. + @param EntryPoint The pointer to entry point to the PE/COFF image to return. @retval RETURN_SUCCESS EntryPoint was returned. @retval RETURN_INVALID_PARAMETER The entry point could not be found in the PE/COFF image. @@ -42,18 +40,65 @@ PeCoffLoaderGetEntryPoint ( ); /** - Returns the machine type of PE/COFF image. + Returns the machine type of a PE/COFF image. + + Returns the machine type from the PE/COFF image specified by Pe32Data. + If Pe32Data is NULL, then ASSERT(). - @param Image Pointer to a PE/COFF header + @param Pe32Data The pointer to the PE/COFF image that is loaded in system + memory. - @return Machine type or zero if not a valid iamge + @return Machine type or zero if not a valid image. **/ UINT16 EFIAPI PeCoffLoaderGetMachineType ( - IN VOID *Image + IN VOID *Pe32Data + ); + +/** + Returns a pointer to the PDB file name for a PE/COFF image that has been + loaded into system memory with the PE/COFF Loader Library functions. + + Returns the PDB file name for the PE/COFF image specified by Pe32Data. If + the PE/COFF image specified by Pe32Data is not a valid, then NULL is + returned. If the PE/COFF image specified by Pe32Data does not contain a + debug directory entry, then NULL is returned. If the debug directory entry + in the PE/COFF image specified by Pe32Data does not contain a PDB file name, + then NULL is returned. + If Pe32Data is NULL, then ASSERT(). + + @param Pe32Data The pointer to the PE/COFF image that is loaded in system + memory. + + @return The PDB file name for the PE/COFF image specified by Pe32Data, or NULL + if it cannot be retrieved. + +**/ +VOID * +EFIAPI +PeCoffLoaderGetPdbPointer ( + IN VOID *Pe32Data ); +/** + Returns the size of the PE/COFF headers + + Returns the size of the PE/COFF header specified by Pe32Data. + If Pe32Data is NULL, then ASSERT(). + + @param Pe32Data The pointer to the PE/COFF image that is loaded in system + memory. + + @return Size of PE/COFF header in bytes, or zero if not a valid image. + +**/ +UINT32 +EFIAPI +PeCoffGetSizeOfHeaders ( + IN VOID *Pe32Data + ); + #endif