BearParser
Portable Executable parsing library (from PE-bear)
Toggle main menu visibility
Loading...
Searching...
No Matches
parser
include
bearparser
pe
LdConfigDirWrapper.h
Go to the documentation of this file.
1
#pragma once
2
#include "
DataDirEntryWrapper.h
"
3
#include <set>
4
5
class
LdConfigDirWrapper
:
public
DataDirEntryWrapper
6
{
7
public
:
16
enum
LdConfigDirFID
{
17
NONE
=
FIELD_NONE
,
18
SIZE
= 0,
19
TIMEST
,
20
MAJOR_VER
,
21
MINOR_VER
,
22
GLOBAL_FLAGS_CLEAR
,
23
GLOBAL_FLAGS_SET
,
24
CRITICAT_SEC_TIMEOUT
,
25
DECOMMIT_FREE
,
26
DECOMMIT_TOTAL
,
27
LOCK_PREFIX
,
28
MAX_ALLOC
,
29
VIRTUAL_MEM
,
30
PROC_HEAP_FLAGS32
,
// PROC_AFF_MASK64
31
PROC_AFF_MASK32
,
// PROC_HEAP_FLAGS32
32
CSD_VER
,
33
DEPENDENT_LOAD_FLAGS
,
34
EDIT_LIST
,
35
SEC_COOKIE
,
36
SEH_TABLE
,
37
SEH_COUNT
,
38
FIELD_COUNTER_OLD
,
//end of old LoadConfigDir
39
GUARD_CHECK
=
FIELD_COUNTER_OLD
,
40
GUARD_DISPATCH
=
GUARD_CHECK
+ 1,
41
GUARD_TABLE
,
42
GUARD_COUNT
,
43
GUARD_FLAGS
,
44
FIELD_COUNTER_W81
,
//end of old LoadConfigDir Win8.1
45
CODE_INTEGRITY_FLAGS
=
FIELD_COUNTER_W81
,
//IMAGE_LOAD_CONFIG_CODE_INTEGRITY.Flags
46
CODE_INTEGRITY_CATALOG
=
CODE_INTEGRITY_FLAGS
+ 1,
//IMAGE_LOAD_CONFIG_CODE_INTEGRITY.Catalog
47
CODE_INTEGRITY_CATALOG_OFFSET
,
//IMAGE_LOAD_CONFIG_CODE_INTEGRITY.CatalogOffset
48
CODE_INTEGRITY_RESERVED
,
//IMAGE_LOAD_CONFIG_CODE_INTEGRITY.Reserved
49
GUARD_ADDR_IAT_ENTRY_TABLE
,
50
GUARD_ADDR_IAT_ENTRY_COUNT
,
51
GUARD_LONG_JUMP_TABLE
,
52
GUARD_LONG_JUMP_COUNT
,
53
DYNAMIC_VAL_RELOC
,
54
CHPE_METADATA_PTR
,
55
GUARD_FAILURE_ROUTINE
,
56
GUARD_FAILURE_ROUTINE_FUNC_PTR
,
57
DYNAMIC_VAL_RELOC_TABLE_OFFSET
,
58
DYNAMIC_VAL_RELOC_TABLE_SECTION
,
59
RESERVED2
,
60
GUARD_VERIFY_STACK_PTR
,
61
HOT_PATCH_TABLE_OFFSET
,
62
RESERVED3
,
63
ENCLAVE_CONFIG_PTR
,
64
VOLATILE_METADATA_PTR
,
65
GUARD_EH_CONT_TABLE
,
//VA
66
GUARD_EH_CONT_COUNT
,
67
FIELD_COUNTER
//end of LoadConfigDir Win10
68
};
69
70
static
std::set<DWORD>
getGuardFlagsSet
(DWORD flags);
71
static
QString
translateGuardFlag
(DWORD flags);
72
73
LdConfigDirWrapper
(
PEFile
* pe)
74
:
DataDirEntryWrapper
(pe, pe::DIR_LOAD_CONFIG) {
wrap
(); }
75
76
bool
wrap
();
77
78
virtual
void
*
getPtr
();
79
virtual
bufsize_t
getSize
();
80
virtual
QString
getName
() {
return
"LdConfig"
; }
81
82
virtual
size_t
getFieldsCount
()
83
{
84
const
offset_t
realSize =
getSize
();
85
const
bool
is32b = (
m_Exe
->getBitMode() ==
Executable::BITS_32
) ? true :
false
;
86
size_t
fId =
FIELD_COUNTER
- 1;
87
offset_t
fieldDelta =
INVALID_ADDR
;
88
for
(; fId != 0; fId--) {
89
fieldDelta = _getFieldDelta(is32b, fId);
90
if
(fieldDelta < realSize)
break
;
91
}
92
if
((fieldDelta ==
INVALID_ADDR
) || (fieldDelta > realSize)) {
93
return
0;
94
}
95
return
(fId + 1);
96
}
97
98
virtual
size_t
getSubFieldsCount
() {
return
1; }
99
100
virtual
void
*
getFieldPtr
(
size_t
fieldId,
size_t
subField);
101
virtual
QString
getFieldName
(
size_t
fieldId);
102
virtual
Executable::addr_type
containsAddrType
(
size_t
fieldId,
size_t
subField =
FIELD_NONE
);
103
104
virtual
ExeNodeWrapper
*
getSubfieldWrapper
(
size_t
parentType,
size_t
fieldId)
105
{
106
std::vector<ExeNodeWrapper*> *subList = getSubEntriesList(parentType);
107
if
(subList == NULL)
return
0;
108
return
this->
getEntryAt
(*subList, fieldId);
109
}
110
111
virtual
size_t
getSubfieldWrapperCount
(
size_t
parentType)
112
{
113
std::vector<ExeNodeWrapper*> *subList = getSubEntriesList(parentType);
114
if
(subList == NULL)
return
0;
115
return
getEntriesCount
(*subList);
116
}
117
118
virtual
bool
hasSubfieldWrapper
(
size_t
parentType)
119
{
120
std::vector<ExeNodeWrapper*> *subList = getSubEntriesList(parentType);
121
if
(subList == NULL)
return
false
;
122
return
true
;
123
}
124
125
bool
hasSupressionInfo
()
126
{
127
bool
isOk =
false
;
128
bool
isSupressed =
false
;
129
uint64_t GuardFlags = this->
getNumValue
(
GUARD_FLAGS
, &isOk);
130
if
(isOk) {
131
isSupressed = (GuardFlags & IMAGE_GUARD_CF_EXPORT_SUPPRESSION_INFO_PRESENT) || (GuardFlags & 0x10000000);
132
}
133
return
isSupressed;
134
}
135
136
size_t
metadataSize
()
137
{
138
bool
isOk =
false
;
139
uint64_t GuardFlags = this->
getNumValue
(
GUARD_FLAGS
, &isOk);
140
if
(!isOk) {
141
return
0;
142
}
143
bool
isSupressed = (GuardFlags & IMAGE_GUARD_CF_EXPORT_SUPPRESSION_INFO_PRESENT) || (GuardFlags & 0x10000000);
144
if
(!isSupressed) {
145
return
0;
146
}
147
const
size_t
metadata_fields = ((GuardFlags & IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_MASK) >> IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_SHIFT);
148
return
metadata_fields;
149
}
150
151
QString
translateGuardFlagsContent
(
const
QString &delim);
152
virtual
QString
translateFieldContent
(
size_t
fieldId);
153
154
protected
:
155
virtual
void
clear
();
156
void
*
firstSubEntryPtr
(
size_t
parentId);
157
158
size_t
firstSubEntrySize
(
size_t
parentId)
159
{
160
if
(parentId ==
LdConfigDirWrapper::SEH_TABLE
) {
161
// SEH entries have no metadata
162
return
sizeof
(DWORD);
163
}
164
const
size_t
metadata_fields =
metadataSize
();
165
return
sizeof
(DWORD) + (metadata_fields *
sizeof
(BYTE));
166
}
167
168
private
:
169
static
offset_t
_getFieldDelta(
bool
is32b,
size_t
fId);
170
171
bool
wrapSubentriesTable(
size_t
parentFieldId,
size_t
counterFieldId);
172
173
// get the size of the structure
174
inline
bufsize_t
getLdConfigDirSize();
175
176
// get the size that was defined in the header:
177
bufsize_t
getHdrDefinedSize();
178
179
inline
void
* getLdConfigDirPtr();
180
181
std::vector<ExeNodeWrapper*>* getSubEntriesList(
size_t
parentType)
182
{
183
auto
itr = subEntriesMap.find((uint32_t)parentType);
184
if
(itr == subEntriesMap.end()){
185
return
NULL;
186
}
187
return
&(itr->second);
188
}
189
190
std::map<uint32_t, std::vector<ExeNodeWrapper*> > subEntriesMap;
191
friend
class
LdConfigEntryWrapper
;
192
};
193
194
class
LdConfigEntryWrapper
:
public
ExeNodeWrapper
195
{
196
public
:
197
// fields :
198
enum
FieldID
{
199
NONE
=
FIELD_NONE
,
200
HANDLER_ADDR
,
201
METADATA
,
202
FIELD_COUNTER
203
};
204
205
LdConfigEntryWrapper
(
Executable
* pe,
LdConfigDirWrapper
*_parentDir,
size_t
entryNumber,
size_t
_parentFieldId)
206
:
ExeNodeWrapper
(pe, _parentDir, entryNumber),
207
parentFieldId(_parentFieldId)
208
{
209
this->parentDir = _parentDir;
210
}
211
212
// full structure boundaries
213
virtual
void
*
getPtr
();
214
virtual
bufsize_t
getSize
();
215
216
virtual
QString
getName
() {
return
"Address"
; }
217
218
virtual
size_t
getFieldsCount
()
219
{
220
if
(!this->parentDir)
return
1;
221
if
(this->parentFieldId ==
LdConfigDirWrapper::SEH_TABLE
) {
222
return
1;
223
}
224
return
1 + this->parentDir->metadataSize();
225
}
226
227
// specific field boundaries
228
virtual
void
*
getFieldPtr
(
size_t
fieldId,
size_t
subField =
FIELD_NONE
);
229
230
bufsize_t
getFieldSize
(
size_t
fieldId,
size_t
subField);
231
232
virtual
QString
getFieldName
(
size_t
fieldId)
233
{
234
if
(fieldId ==
HANDLER_ADDR
) {
235
return
"Address"
;
236
}
237
return
"Metadata"
;
238
}
239
240
virtual
Executable::addr_type
containsAddrType
(
size_t
fieldId,
size_t
subField)
241
{
242
if
(fieldId ==
HANDLER_ADDR
) {
243
return
Executable::RVA
;
244
}
245
return
Executable::NOT_ADDR
;
246
}
247
248
private
:
249
LdConfigDirWrapper
* parentDir;
250
size_t
parentFieldId;
251
};
INVALID_ADDR
const offset_t INVALID_ADDR
Definition
AbstractByteBuffer.h:21
offset_t
uint64_t offset_t
Definition
AbstractByteBuffer.h:20
bufsize_t
size_t bufsize_t
Definition
AbstractByteBuffer.h:17
DataDirEntryWrapper.h
FIELD_NONE
#define FIELD_NONE
Definition
ExeElementWrapper.h:9
DataDirEntryWrapper::PEFile
friend class PEFile
Definition
DataDirEntryWrapper.h:22
DataDirEntryWrapper::DataDirEntryWrapper
DataDirEntryWrapper(PEFile *pe, pe::dir_entry v_entryType)
Definition
DataDirEntryWrapper.cpp:4
ExeElementWrapper::Executable
friend class Executable
Definition
ExeElementWrapper.h:67
ExeElementWrapper::m_Exe
Executable * m_Exe
Definition
ExeElementWrapper.h:65
ExeElementWrapper::getNumValue
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
Definition
ExeElementWrapper.cpp:73
ExeNodeWrapper::ExeNodeWrapper
ExeNodeWrapper(Executable *pe, ExeNodeWrapper *parent=NULL)
Definition
ExeNodeWrapper.cpp:3
ExeNodeWrapper::getEntryAt
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
Definition
ExeNodeWrapper.cpp:15
ExeNodeWrapper::getEntriesCount
virtual size_t getEntriesCount()
Definition
ExeNodeWrapper.h:20
Executable::addr_type
addr_type
Definition
Executable.h:42
Executable::NOT_ADDR
@ NOT_ADDR
Definition
Executable.h:43
Executable::RVA
@ RVA
Definition
Executable.h:45
Executable::BITS_32
@ BITS_32
Definition
Executable.h:31
LdConfigDirWrapper
Definition
LdConfigDirWrapper.h:6
LdConfigDirWrapper::getFieldsCount
virtual size_t getFieldsCount()
Definition
LdConfigDirWrapper.h:82
LdConfigDirWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField)
Definition
LdConfigDirWrapper.cpp:298
LdConfigDirWrapper::getSize
virtual bufsize_t getSize()
Definition
LdConfigDirWrapper.cpp:118
LdConfigDirWrapper::hasSupressionInfo
bool hasSupressionInfo()
Definition
LdConfigDirWrapper.h:125
LdConfigDirWrapper::getSubfieldWrapper
virtual ExeNodeWrapper * getSubfieldWrapper(size_t parentType, size_t fieldId)
Definition
LdConfigDirWrapper.h:104
LdConfigDirWrapper::firstSubEntrySize
size_t firstSubEntrySize(size_t parentId)
Definition
LdConfigDirWrapper.h:158
LdConfigDirWrapper::getSubfieldWrapperCount
virtual size_t getSubfieldWrapperCount(size_t parentType)
Definition
LdConfigDirWrapper.h:111
LdConfigDirWrapper::translateGuardFlag
static QString translateGuardFlag(DWORD flags)
Definition
LdConfigDirWrapper.cpp:431
LdConfigDirWrapper::translateGuardFlagsContent
QString translateGuardFlagsContent(const QString &delim)
Definition
LdConfigDirWrapper.cpp:475
LdConfigDirWrapper::hasSubfieldWrapper
virtual bool hasSubfieldWrapper(size_t parentType)
Definition
LdConfigDirWrapper.h:118
LdConfigDirWrapper::getGuardFlagsSet
static std::set< DWORD > getGuardFlagsSet(DWORD flags)
Definition
LdConfigDirWrapper.cpp:403
LdConfigDirWrapper::getPtr
virtual void * getPtr()
Definition
LdConfigDirWrapper.cpp:87
LdConfigDirWrapper::metadataSize
size_t metadataSize()
Definition
LdConfigDirWrapper.h:136
LdConfigDirWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition
LdConfigDirWrapper.cpp:313
LdConfigDirWrapper::wrap
bool wrap()
Definition
LdConfigDirWrapper.cpp:70
LdConfigDirWrapper::clear
virtual void clear()
Definition
LdConfigDirWrapper.cpp:92
LdConfigDirWrapper::firstSubEntryPtr
void * firstSubEntryPtr(size_t parentId)
Definition
LdConfigDirWrapper.cpp:102
LdConfigDirWrapper::getSubFieldsCount
virtual size_t getSubFieldsCount()
Definition
LdConfigDirWrapper.h:98
LdConfigDirWrapper::getName
virtual QString getName()
Definition
LdConfigDirWrapper.h:80
LdConfigDirWrapper::translateFieldContent
virtual QString translateFieldContent(size_t fieldId)
Definition
LdConfigDirWrapper.cpp:494
LdConfigDirWrapper::containsAddrType
virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField=FIELD_NONE)
Definition
LdConfigDirWrapper.cpp:379
LdConfigDirWrapper::LdConfigDirWrapper
LdConfigDirWrapper(PEFile *pe)
Definition
LdConfigDirWrapper.h:73
LdConfigDirWrapper::LdConfigDirFID
LdConfigDirFID
Definition
LdConfigDirWrapper.h:16
LdConfigDirWrapper::CHPE_METADATA_PTR
@ CHPE_METADATA_PTR
Definition
LdConfigDirWrapper.h:54
LdConfigDirWrapper::GUARD_EH_CONT_TABLE
@ GUARD_EH_CONT_TABLE
Definition
LdConfigDirWrapper.h:65
LdConfigDirWrapper::GUARD_CHECK
@ GUARD_CHECK
Definition
LdConfigDirWrapper.h:39
LdConfigDirWrapper::PROC_HEAP_FLAGS32
@ PROC_HEAP_FLAGS32
Definition
LdConfigDirWrapper.h:30
LdConfigDirWrapper::LOCK_PREFIX
@ LOCK_PREFIX
Definition
LdConfigDirWrapper.h:27
LdConfigDirWrapper::GUARD_DISPATCH
@ GUARD_DISPATCH
Definition
LdConfigDirWrapper.h:40
LdConfigDirWrapper::DEPENDENT_LOAD_FLAGS
@ DEPENDENT_LOAD_FLAGS
Definition
LdConfigDirWrapper.h:33
LdConfigDirWrapper::FIELD_COUNTER
@ FIELD_COUNTER
Definition
LdConfigDirWrapper.h:67
LdConfigDirWrapper::GUARD_LONG_JUMP_COUNT
@ GUARD_LONG_JUMP_COUNT
Definition
LdConfigDirWrapper.h:52
LdConfigDirWrapper::SEH_COUNT
@ SEH_COUNT
Definition
LdConfigDirWrapper.h:37
LdConfigDirWrapper::CODE_INTEGRITY_FLAGS
@ CODE_INTEGRITY_FLAGS
Definition
LdConfigDirWrapper.h:45
LdConfigDirWrapper::GLOBAL_FLAGS_CLEAR
@ GLOBAL_FLAGS_CLEAR
Definition
LdConfigDirWrapper.h:22
LdConfigDirWrapper::CRITICAT_SEC_TIMEOUT
@ CRITICAT_SEC_TIMEOUT
Definition
LdConfigDirWrapper.h:24
LdConfigDirWrapper::NONE
@ NONE
Definition
LdConfigDirWrapper.h:17
LdConfigDirWrapper::ENCLAVE_CONFIG_PTR
@ ENCLAVE_CONFIG_PTR
Definition
LdConfigDirWrapper.h:63
LdConfigDirWrapper::MAX_ALLOC
@ MAX_ALLOC
Definition
LdConfigDirWrapper.h:28
LdConfigDirWrapper::DECOMMIT_TOTAL
@ DECOMMIT_TOTAL
Definition
LdConfigDirWrapper.h:26
LdConfigDirWrapper::DECOMMIT_FREE
@ DECOMMIT_FREE
Definition
LdConfigDirWrapper.h:25
LdConfigDirWrapper::CSD_VER
@ CSD_VER
Definition
LdConfigDirWrapper.h:32
LdConfigDirWrapper::SIZE
@ SIZE
Definition
LdConfigDirWrapper.h:18
LdConfigDirWrapper::EDIT_LIST
@ EDIT_LIST
Definition
LdConfigDirWrapper.h:34
LdConfigDirWrapper::DYNAMIC_VAL_RELOC_TABLE_SECTION
@ DYNAMIC_VAL_RELOC_TABLE_SECTION
Definition
LdConfigDirWrapper.h:58
LdConfigDirWrapper::HOT_PATCH_TABLE_OFFSET
@ HOT_PATCH_TABLE_OFFSET
Definition
LdConfigDirWrapper.h:61
LdConfigDirWrapper::CODE_INTEGRITY_CATALOG
@ CODE_INTEGRITY_CATALOG
Definition
LdConfigDirWrapper.h:46
LdConfigDirWrapper::GUARD_LONG_JUMP_TABLE
@ GUARD_LONG_JUMP_TABLE
Definition
LdConfigDirWrapper.h:51
LdConfigDirWrapper::GUARD_EH_CONT_COUNT
@ GUARD_EH_CONT_COUNT
Definition
LdConfigDirWrapper.h:66
LdConfigDirWrapper::TIMEST
@ TIMEST
Definition
LdConfigDirWrapper.h:19
LdConfigDirWrapper::MINOR_VER
@ MINOR_VER
Definition
LdConfigDirWrapper.h:21
LdConfigDirWrapper::DYNAMIC_VAL_RELOC_TABLE_OFFSET
@ DYNAMIC_VAL_RELOC_TABLE_OFFSET
Definition
LdConfigDirWrapper.h:57
LdConfigDirWrapper::GUARD_TABLE
@ GUARD_TABLE
Definition
LdConfigDirWrapper.h:41
LdConfigDirWrapper::GUARD_FLAGS
@ GUARD_FLAGS
Definition
LdConfigDirWrapper.h:43
LdConfigDirWrapper::GUARD_ADDR_IAT_ENTRY_TABLE
@ GUARD_ADDR_IAT_ENTRY_TABLE
Definition
LdConfigDirWrapper.h:49
LdConfigDirWrapper::RESERVED2
@ RESERVED2
Definition
LdConfigDirWrapper.h:59
LdConfigDirWrapper::CODE_INTEGRITY_RESERVED
@ CODE_INTEGRITY_RESERVED
Definition
LdConfigDirWrapper.h:48
LdConfigDirWrapper::GUARD_FAILURE_ROUTINE
@ GUARD_FAILURE_ROUTINE
Definition
LdConfigDirWrapper.h:55
LdConfigDirWrapper::SEH_TABLE
@ SEH_TABLE
Definition
LdConfigDirWrapper.h:36
LdConfigDirWrapper::GLOBAL_FLAGS_SET
@ GLOBAL_FLAGS_SET
Definition
LdConfigDirWrapper.h:23
LdConfigDirWrapper::GUARD_VERIFY_STACK_PTR
@ GUARD_VERIFY_STACK_PTR
Definition
LdConfigDirWrapper.h:60
LdConfigDirWrapper::GUARD_ADDR_IAT_ENTRY_COUNT
@ GUARD_ADDR_IAT_ENTRY_COUNT
Definition
LdConfigDirWrapper.h:50
LdConfigDirWrapper::RESERVED3
@ RESERVED3
Definition
LdConfigDirWrapper.h:62
LdConfigDirWrapper::FIELD_COUNTER_W81
@ FIELD_COUNTER_W81
Definition
LdConfigDirWrapper.h:44
LdConfigDirWrapper::FIELD_COUNTER_OLD
@ FIELD_COUNTER_OLD
Definition
LdConfigDirWrapper.h:38
LdConfigDirWrapper::SEC_COOKIE
@ SEC_COOKIE
Definition
LdConfigDirWrapper.h:35
LdConfigDirWrapper::GUARD_COUNT
@ GUARD_COUNT
Definition
LdConfigDirWrapper.h:42
LdConfigDirWrapper::PROC_AFF_MASK32
@ PROC_AFF_MASK32
Definition
LdConfigDirWrapper.h:31
LdConfigDirWrapper::GUARD_FAILURE_ROUTINE_FUNC_PTR
@ GUARD_FAILURE_ROUTINE_FUNC_PTR
Definition
LdConfigDirWrapper.h:56
LdConfigDirWrapper::VOLATILE_METADATA_PTR
@ VOLATILE_METADATA_PTR
Definition
LdConfigDirWrapper.h:64
LdConfigDirWrapper::DYNAMIC_VAL_RELOC
@ DYNAMIC_VAL_RELOC
Definition
LdConfigDirWrapper.h:53
LdConfigDirWrapper::VIRTUAL_MEM
@ VIRTUAL_MEM
Definition
LdConfigDirWrapper.h:29
LdConfigDirWrapper::MAJOR_VER
@ MAJOR_VER
Definition
LdConfigDirWrapper.h:20
LdConfigDirWrapper::CODE_INTEGRITY_CATALOG_OFFSET
@ CODE_INTEGRITY_CATALOG_OFFSET
Definition
LdConfigDirWrapper.h:47
LdConfigDirWrapper::LdConfigEntryWrapper
friend class LdConfigEntryWrapper
Definition
LdConfigDirWrapper.h:191
LdConfigEntryWrapper::getName
virtual QString getName()
Definition
LdConfigDirWrapper.h:216
LdConfigEntryWrapper::getFieldPtr
virtual void * getFieldPtr(size_t fieldId, size_t subField=FIELD_NONE)
Definition
LdConfigDirWrapper.cpp:530
LdConfigEntryWrapper::containsAddrType
virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField)
Definition
LdConfigDirWrapper.h:240
LdConfigEntryWrapper::getFieldName
virtual QString getFieldName(size_t fieldId)
Definition
LdConfigDirWrapper.h:232
LdConfigEntryWrapper::getSize
virtual bufsize_t getSize()
Definition
LdConfigDirWrapper.cpp:522
LdConfigEntryWrapper::getFieldsCount
virtual size_t getFieldsCount()
Definition
LdConfigDirWrapper.h:218
LdConfigEntryWrapper::getFieldSize
bufsize_t getFieldSize(size_t fieldId, size_t subField)
Definition
LdConfigDirWrapper.cpp:546
LdConfigEntryWrapper::FieldID
FieldID
Definition
LdConfigDirWrapper.h:198
LdConfigEntryWrapper::HANDLER_ADDR
@ HANDLER_ADDR
Definition
LdConfigDirWrapper.h:200
LdConfigEntryWrapper::METADATA
@ METADATA
Definition
LdConfigDirWrapper.h:201
LdConfigEntryWrapper::NONE
@ NONE
Definition
LdConfigDirWrapper.h:199
LdConfigEntryWrapper::FIELD_COUNTER
@ FIELD_COUNTER
Definition
LdConfigDirWrapper.h:202
LdConfigEntryWrapper::getPtr
virtual void * getPtr()
Definition
LdConfigDirWrapper.cpp:503
LdConfigEntryWrapper::LdConfigEntryWrapper
LdConfigEntryWrapper(Executable *pe, LdConfigDirWrapper *_parentDir, size_t entryNumber, size_t _parentFieldId)
Definition
LdConfigDirWrapper.h:205
Generated by
1.17.0