TianoCore EDK2 master
Loading...
Searching...
No Matches
PeCoffGetEntryPoint.c File Reference
#include <Base.h>
#include <Library/PeCoffGetEntryPointLib.h>
#include <Library/DebugLib.h>
#include <IndustryStandard/PeImage.h>

Go to the source code of this file.

Macros

#define PE_COFF_IMAGE_ALIGN_SIZE   4
 

Functions

RETURN_STATUS EFIAPI PeCoffLoaderGetEntryPoint (IN VOID *Pe32Data, OUT VOID **EntryPoint)
 
UINT16 EFIAPI PeCoffLoaderGetMachineType (IN VOID *Pe32Data)
 
VOID *EFIAPI PeCoffLoaderGetPdbPointer (IN VOID *Pe32Data)
 
UINT32 EFIAPI PeCoffGetSizeOfHeaders (IN VOID *Pe32Data)
 
UINTN EFIAPI PeCoffSearchImageBase (IN UINTN Address)
 

Detailed Description

Provides the services to get the entry point to a PE/COFF image that has either been loaded into memory or is executing at it's linked address.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file PeCoffGetEntryPoint.c.

Macro Definition Documentation

◆ PE_COFF_IMAGE_ALIGN_SIZE

#define PE_COFF_IMAGE_ALIGN_SIZE   4

Definition at line 18 of file PeCoffGetEntryPoint.c.

Function Documentation

◆ PeCoffGetSizeOfHeaders()

UINT32 EFIAPI PeCoffGetSizeOfHeaders ( 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().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
Returns
Size of PE/COFF header in bytes or zero if not a valid image.

Definition at line 279 of file PeCoffGetEntryPoint.c.

◆ PeCoffLoaderGetEntryPoint()

RETURN_STATUS EFIAPI PeCoffLoaderGetEntryPoint ( IN VOID *  Pe32Data,
OUT VOID **  EntryPoint 
)

Retrieves and returns a pointer to the entry point to a PE/COFF image that has been loaded into system memory with the PE/COFF Loader Library functions.

Retrieves the entry point to the PE/COFF image specified by Pe32Data and returns this entry point in EntryPoint. If the entry point could not be retrieved from the PE/COFF image, then return RETURN_INVALID_PARAMETER. Otherwise return RETURN_SUCCESS. If Pe32Data is NULL, then ASSERT(). If EntryPoint is NULL, then ASSERT().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
EntryPointThe pointer to entry point to the PE/COFF image to return.
Return values
RETURN_SUCCESSEntryPoint was returned.
RETURN_INVALID_PARAMETERThe entry point could not be found in the PE/COFF image.

Definition at line 39 of file PeCoffGetEntryPoint.c.

◆ PeCoffLoaderGetMachineType()

UINT16 EFIAPI PeCoffLoaderGetMachineType ( IN VOID *  Pe32Data)

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().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
Returns
Machine type or zero if not a valid image.

Definition at line 92 of file PeCoffGetEntryPoint.c.

◆ PeCoffLoaderGetPdbPointer()

VOID *EFIAPI PeCoffLoaderGetPdbPointer ( 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().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
Returns
The PDB file name for the PE/COFF image specified by Pe32Data or NULL if it cannot be retrieved.

Definition at line 144 of file PeCoffGetEntryPoint.c.

◆ PeCoffSearchImageBase()

UINTN EFIAPI PeCoffSearchImageBase ( IN UINTN  Address)

Returns PE/COFF image base is loaded in system memory where the input address is in.

On DEBUG build, searches the PE/COFF image base forward the input address and returns it.

Parameters
AddressAddress located in one PE/COFF image.
Return values
0RELEASE build or cannot find the PE/COFF image base.
othersPE/COFF image base found.

Definition at line 327 of file PeCoffGetEntryPoint.c.