VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/PeCoffGetEntryPointLib.h@ 99396

Last change on this file since 99396 was 80721, checked in by vboxsync, 5 years ago

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

  • Property svn:eol-style set to native
File size: 3.3 KB
Line 
1/** @file
2 Provides a service to retrieve the PE/COFF entry point from a PE/COFF image.
3
4Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef __PE_COFF_GET_ENTRY_POINT_LIB_H__
10#define __PE_COFF_GET_ENTRY_POINT_LIB_H__
11
12/**
13 Retrieves and returns a pointer to the entry point to a PE/COFF image that has been loaded
14 into system memory with the PE/COFF Loader Library functions.
15
16 Retrieves the entry point to the PE/COFF image specified by Pe32Data and returns this entry
17 point in EntryPoint. If the entry point could not be retrieved from the PE/COFF image, then
18 return RETURN_INVALID_PARAMETER. Otherwise return RETURN_SUCCESS.
19 If Pe32Data is NULL, then ASSERT().
20 If EntryPoint is NULL, then ASSERT().
21
22 @param Pe32Data The pointer to the PE/COFF image that is loaded in system memory.
23 @param EntryPoint The pointer to entry point to the PE/COFF image to return.
24
25 @retval RETURN_SUCCESS EntryPoint was returned.
26 @retval RETURN_INVALID_PARAMETER The entry point could not be found in the PE/COFF image.
27
28**/
29RETURN_STATUS
30EFIAPI
31PeCoffLoaderGetEntryPoint (
32 IN VOID *Pe32Data,
33 OUT VOID **EntryPoint
34 );
35
36/**
37 Returns the machine type of a PE/COFF image.
38
39 Returns the machine type from the PE/COFF image specified by Pe32Data.
40 If Pe32Data is NULL, then ASSERT().
41
42 @param Pe32Data The pointer to the PE/COFF image that is loaded in system
43 memory.
44
45 @return Machine type or zero if not a valid image.
46
47**/
48UINT16
49EFIAPI
50PeCoffLoaderGetMachineType (
51 IN VOID *Pe32Data
52 );
53
54/**
55 Returns a pointer to the PDB file name for a PE/COFF image that has been
56 loaded into system memory with the PE/COFF Loader Library functions.
57
58 Returns the PDB file name for the PE/COFF image specified by Pe32Data. If
59 the PE/COFF image specified by Pe32Data is not a valid, then NULL is
60 returned. If the PE/COFF image specified by Pe32Data does not contain a
61 debug directory entry, then NULL is returned. If the debug directory entry
62 in the PE/COFF image specified by Pe32Data does not contain a PDB file name,
63 then NULL is returned.
64 If Pe32Data is NULL, then ASSERT().
65
66 @param Pe32Data The pointer to the PE/COFF image that is loaded in system
67 memory.
68
69 @return The PDB file name for the PE/COFF image specified by Pe32Data, or NULL
70 if it cannot be retrieved.
71
72**/
73VOID *
74EFIAPI
75PeCoffLoaderGetPdbPointer (
76 IN VOID *Pe32Data
77 );
78
79
80/**
81 Returns the size of the PE/COFF headers
82
83 Returns the size of the PE/COFF header specified by Pe32Data.
84 If Pe32Data is NULL, then ASSERT().
85
86 @param Pe32Data The pointer to the PE/COFF image that is loaded in system
87 memory.
88
89 @return Size of PE/COFF header in bytes, or zero if not a valid image.
90
91**/
92UINT32
93EFIAPI
94PeCoffGetSizeOfHeaders (
95 IN VOID *Pe32Data
96 );
97
98/**
99 Returns PE/COFF image base specified by the address in this PE/COFF image.
100
101 On DEBUG build, searches the PE/COFF image base forward the address in this
102 PE/COFF image and returns it.
103
104 @param Address Address located in one PE/COFF image.
105
106 @retval 0 RELEASE build or cannot find the PE/COFF image base.
107 @retval others PE/COFF image base found.
108
109**/
110UINTN
111EFIAPI
112PeCoffSearchImageBase (
113 IN UINTN Address
114 );
115
116#endif
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette