16#ifndef LIEF_PE_LOAD_CONFIGURATION_H
17#define LIEF_PE_LOAD_CONFIGURATION_H
118 return characteristics_;
123 return characteristics_;
128 return timedatestamp_;
133 return major_version_;
138 return minor_version_;
144 return global_flags_clear_;
150 return global_flags_set_;
155 return critical_section_default_timeout_;
161 return decommit_free_block_threshold_;
167 return decommit_total_free_threshold_;
174 return lock_prefix_table_;
180 return maximum_allocation_size_;
185 return virtual_memory_threshold_;
191 return process_affinity_mask_;
196 return process_heap_flags_;
225 return security_cookie_;
231 return se_handler_table_;
237 return se_handler_count_;
247 return guard_cf_check_function_pointer_;
252 return guard_cf_dispatch_function_pointer_;
258 return guard_cf_function_table_;
263 return guard_cf_function_count_;
269 return guard_cf_functions_;
273 return guard_cf_functions_;
286 return (*flags_ & (uint32_t)flag) != 0;
294 return code_integrity_ ? &*code_integrity_ :
nullptr;
298 return code_integrity_ ? &*code_integrity_ :
nullptr;
303 return guard_address_taken_iat_entry_table_;
309 return guard_address_taken_iat_entry_count_;
314 return guard_address_taken_iat_entries_;
318 return guard_address_taken_iat_entries_;
323 return guard_long_jump_target_table_;
329 return guard_long_jump_target_count_;
334 return guard_long_jump_targets_;
338 return guard_long_jump_targets_;
343 return dynamic_value_reloc_table_;
348 return dynamic_relocs_;
352 return dynamic_relocs_;
357 return hybrid_metadata_pointer_;
376 return guard_rf_failure_routine_;
381 return guard_rf_failure_routine_function_pointer_;
386 return dynamic_value_reloctable_offset_;
391 return dynamic_value_reloctable_section_;
401 return guardrf_verify_stackpointer_function_pointer_;
406 return hotpatch_table_offset_;
414 return enclave_configuration_ptr_;
418 return enclave_config_.get();
422 return enclave_config_.get();
426 return volatile_metadata_pointer_;
430 return volatile_metadata_.get();
434 return volatile_metadata_.get();
438 return guard_eh_continuation_table_;
442 return guard_eh_continuation_count_;
446 return guard_eh_continuation_functions_;
450 return guard_eh_continuation_functions_;
454 return guard_xfg_check_function_pointer_;
458 return guard_xfg_dispatch_function_pointer_;
462 return guard_xfg_table_dispatch_function_pointer_;
466 return cast_guard_os_determined_failure_mode_;
470 return guard_memcpy_function_pointer_;
543 process_heap_flags_ = process_heap_flagsid;
583 guard_cf_check_function_pointer_ = check_pointer;
588 guard_cf_dispatch_function_pointer_ = dispatch_pointer;
603 flags_ = (uint32_t)flags;
613 code_integrity_ = std::move(CI);
618 guard_address_taken_iat_entry_table_ = value;
623 guard_address_taken_iat_entry_count_ = value;
628 guard_long_jump_target_table_ = value;
633 guard_long_jump_target_count_ = value;
638 dynamic_value_reloc_table_ = value;
643 hybrid_metadata_pointer_ = value;
648 guard_rf_failure_routine_ = value;
653 guard_rf_failure_routine_function_pointer_ = value;
658 dynamic_value_reloctable_offset_ = value;
663 dynamic_value_reloctable_section_ = value;
673 guardrf_verify_stackpointer_function_pointer_ = value;
678 hotpatch_table_offset_ = value;
688 enclave_configuration_ptr_ = value;
693 volatile_metadata_pointer_ = value;
698 guard_eh_continuation_table_ = value;
703 guard_eh_continuation_count_ = value;
708 guard_xfg_check_function_pointer_ = value;
713 guard_xfg_dispatch_function_pointer_ = value;
718 guard_xfg_table_dispatch_function_pointer_ = value;
723 cast_guard_os_determined_failure_mode_ = value;
728 guard_memcpy_function_pointer_ = value;
759 template<u
int8_t version,
class PE_T>
774 uint32_t characteristics_ = 0;
775 uint32_t timedatestamp_ = 0;
777 uint16_t major_version_ = 0;
778 uint16_t minor_version_ = 0;
780 uint32_t global_flags_clear_ = 0;
781 uint32_t global_flags_set_ = 0;
783 uint32_t critical_section_default_timeout_ = 0;
785 uint64_t decommit_free_block_threshold_ = 0;
786 uint64_t decommit_total_free_threshold_ = 0;
788 uint64_t lock_prefix_table_ = 0;
789 uint64_t maximum_allocation_size_ = 0;
790 uint64_t virtual_memory_threshold_ = 0;
791 uint64_t process_affinity_mask_ = 0;
792 uint32_t process_heap_flags_ = 0;
793 uint16_t csd_version_ = 0;
794 uint16_t reserved1_ = 0;
795 uint64_t editlist_ = 0;
796 uint64_t security_cookie_ = 0;
842 std::unique_ptr<CHPEMetadata> chpe_;
843 std::vector<uint32_t> seh_rva_;
844 guard_functions_t guard_cf_functions_;
845 guard_functions_t guard_address_taken_iat_entries_;
846 guard_functions_t guard_long_jump_targets_;
847 guard_functions_t guard_eh_continuation_functions_;
848 dynamic_relocations_t dynamic_relocs_;
849 std::unique_ptr<EnclaveConfiguration> enclave_config_;
850 std::unique_ptr<VolatileMetadata> volatile_metadata_;
Class that is used to a read stream of data from different sources.
Definition BinaryStream.hpp:33
Definition CodeIntegrity.hpp:31
This is the base class for any IMAGE_DYNAMIC_RELOCATION32, IMAGE_DYNAMIC_RELOCATION32_V2,...
Definition DynamicRelocationBase.hpp:33
This class represents the enclave configuration.
Definition EnclaveConfiguration.hpp:32
This class represents the load configuration data associated with the IMAGE_LOAD_CONFIG_DIRECTORY.
Definition LoadConfiguration.hpp:46
LoadConfiguration & guard_cf_function_count(uint64_t guard_cf_function_count)
Definition LoadConfiguration.hpp:597
static std::unique_ptr< LoadConfiguration > parse(Parser &ctx, BinaryStream &stream)
std::vector< guard_function_t > guard_functions_t
Definition LoadConfiguration.hpp:96
optional< uint64_t > guard_eh_continuation_table() const
Definition LoadConfiguration.hpp:437
optional< uint64_t > chpe_metadata_pointer() const
VA to the extra Compiled Hybrid Portable Executable (CHPE) metadata.
Definition LoadConfiguration.hpp:361
ref_iterator< guard_functions_t & > it_guard_functions
Definition LoadConfiguration.hpp:97
LoadConfiguration & guard_eh_continuation_count(uint64_t value)
Definition LoadConfiguration.hpp:702
LoadConfiguration & operator=(const LoadConfiguration &)
optional< uint64_t > guard_xfg_dispatch_function_pointer() const
Definition LoadConfiguration.hpp:457
LoadConfiguration & guard_cf_check_function_pointer(uint64_t check_pointer)
Definition LoadConfiguration.hpp:582
std::string to_string() const
LoadConfiguration & dynamic_value_reloctable_section(uint16_t value)
Definition LoadConfiguration.hpp:662
LoadConfiguration & decommit_free_block_threshold(uint64_t decommit_free_block_threshold)
Definition LoadConfiguration.hpp:512
LoadConfiguration & guard_long_jump_target_table(uint64_t value)
Definition LoadConfiguration.hpp:627
it_dynamic_relocations_t dynamic_relocations()
Return an iterator over the Dynamic relocations (DVRT).
Definition LoadConfiguration.hpp:347
uint32_t characteristics() const
Characteristics of the structure which is defined by its size.
Definition LoadConfiguration.hpp:117
optional< uint64_t > guard_long_jump_target_table() const
The VA where Control Flow Guard long jump target table is stored.
Definition LoadConfiguration.hpp:322
LoadConfiguration & maximum_allocation_size(uint64_t maximum_allocation_size)
Definition LoadConfiguration.hpp:527
LoadConfiguration & security_cookie(uint64_t security_cookie)
Definition LoadConfiguration.hpp:567
CodeIntegrity * code_integrity()
Definition LoadConfiguration.hpp:297
uint32_t critical_section_default_timeout() const
The critical section default time-out value.
Definition LoadConfiguration.hpp:154
LoadConfiguration & guard_xfg_dispatch_function_pointer(uint64_t value)
Definition LoadConfiguration.hpp:712
LoadConfiguration & operator=(LoadConfiguration &&)
const_ref_iterator< const dynamic_relocations_t &, const DynamicRelocation * > it_const_dynamic_relocations_t
Definition LoadConfiguration.hpp:102
LoadConfiguration & guard_long_jump_target_count(uint64_t value)
Definition LoadConfiguration.hpp:632
uint64_t security_cookie() const
A pointer to a cookie that is used by Visual C++ or GS implementation.
Definition LoadConfiguration.hpp:224
LoadConfiguration & decommit_total_free_threshold(uint64_t decommit_total_free_threshold)
Definition LoadConfiguration.hpp:517
optional< uint64_t > guard_address_taken_iat_entry_table() const
The VA where Control Flow Guard address taken IAT table is stored.
Definition LoadConfiguration.hpp:302
LoadConfiguration & guard_rf_verify_stackpointer_function_pointer(uint64_t value)
Definition LoadConfiguration.hpp:672
optional< uint64_t > guard_memcpy_function_pointer() const
Definition LoadConfiguration.hpp:469
uint64_t decommit_free_block_threshold() const
The size of the minimum block that must be freed before it is freed (de-committed),...
Definition LoadConfiguration.hpp:160
ref_iterator< dynamic_relocations_t &, DynamicRelocation * > it_dynamic_relocations_t
Definition LoadConfiguration.hpp:101
std::vector< IMAGE_GUARD > guard_cf_flags_list() const
List of flags.
LoadConfiguration & hybrid_metadata_pointer(uint64_t value)
Definition LoadConfiguration.hpp:642
optional< uint32_t > dynamic_value_reloctable_offset() const
Offset of dynamic relocation table relative to the relocation table.
Definition LoadConfiguration.hpp:385
~LoadConfiguration() override
LoadConfiguration & se_handler_table(uint64_t se_handler_table)
Definition LoadConfiguration.hpp:572
LoadConfiguration & guard_cf_function_table(uint64_t guard_cf_function_table)
Definition LoadConfiguration.hpp:592
LoadConfiguration & reserved2(uint16_t value)
Definition LoadConfiguration.hpp:667
const std::vector< uint32_t > & seh_functions() const
Return the list of the function RVA in the SEH table (if any).
Definition LoadConfiguration.hpp:241
LoadConfiguration & enclave_configuration_ptr(uint64_t value)
Definition LoadConfiguration.hpp:687
LoadConfiguration & characteristics(uint32_t characteristics)
Definition LoadConfiguration.hpp:473
uint64_t process_affinity_mask() const
The process affinity mask. For more information, see GetProcessAffinityMask. This member is available...
Definition LoadConfiguration.hpp:190
optional< uint64_t > guard_cf_check_function_pointer() const
The VA where Control Flow Guard check-function pointer is stored.
Definition LoadConfiguration.hpp:246
optional< uint64_t > se_handler_count() const
The count of unique handlers in the table. This member is available only for x86.
Definition LoadConfiguration.hpp:236
LoadConfiguration & guard_flags(IMAGE_GUARD flags)
Definition LoadConfiguration.hpp:602
optional< uint64_t > enclave_configuration_ptr() const
Definition LoadConfiguration.hpp:413
LoadConfiguration & lock_prefix_table(uint64_t lock_prefix_table)
Definition LoadConfiguration.hpp:522
LoadConfiguration & dynamic_value_reloctable_offset(uint32_t value)
Definition LoadConfiguration.hpp:657
LoadConfiguration & global_flags_set(uint32_t global_flags_set)
Definition LoadConfiguration.hpp:502
LoadConfiguration & guard_memcpy_function_pointer(uint64_t value)
Definition LoadConfiguration.hpp:727
const EnclaveConfiguration * enclave_config() const
Definition LoadConfiguration.hpp:417
uint64_t maximum_allocation_size() const
The maximum allocation size, in bytes. This member is obsolete and is used only for debugging purpose...
Definition LoadConfiguration.hpp:179
LoadConfiguration & code_integrity(CodeIntegrity CI)
Definition LoadConfiguration.hpp:612
CHPEMetadata * chpe_metadata()
Definition LoadConfiguration.hpp:370
optional< uint64_t > guard_xfg_check_function_pointer() const
Definition LoadConfiguration.hpp:453
LoadConfiguration & guard_rf_failure_routine(uint64_t value)
Definition LoadConfiguration.hpp:647
LoadConfiguration & reserved3(uint32_t value)
Definition LoadConfiguration.hpp:682
uint16_t minor_version() const
Minor version.
Definition LoadConfiguration.hpp:137
LoadConfiguration & guard_flags(uint32_t flags)
Definition LoadConfiguration.hpp:607
optional< uint64_t > guard_rf_failure_routine() const
VA of the failure routine.
Definition LoadConfiguration.hpp:375
optional< uint64_t > guard_cf_function_table() const
The VA of the sorted table of RVAs of each Control Flow Guard function in the image.
Definition LoadConfiguration.hpp:257
it_const_guard_functions guard_address_taken_iat_entries() const
List of RVA pointed by guard_address_taken_iat_entry_table().
Definition LoadConfiguration.hpp:313
it_const_guard_functions guard_cf_functions() const
Iterator over the Control Flow Guard functions referenced by guard_cf_function_table().
Definition LoadConfiguration.hpp:268
it_guard_functions guard_long_jump_targets()
Definition LoadConfiguration.hpp:337
uint32_t timedatestamp() const
The date and time stamp value.
Definition LoadConfiguration.hpp:127
const CHPEMetadata * chpe_metadata() const
Compiled Hybrid Portable Executable (CHPE) metadata (if any).
Definition LoadConfiguration.hpp:366
uint32_t size() const
Size of the current structure.
Definition LoadConfiguration.hpp:122
uint16_t csd_version() const
The service pack version.
Definition LoadConfiguration.hpp:200
LoadConfiguration & guard_rf_failure_routine_function_pointer(uint64_t value)
Definition LoadConfiguration.hpp:652
uint64_t editlist() const
Reserved for use by the system.
Definition LoadConfiguration.hpp:219
uint32_t global_flags_set() const
The global flags that control system behavior. For more information, see Gflags.exe.
Definition LoadConfiguration.hpp:149
optional< uint16_t > dynamic_value_reloctable_section() const
The section index of the dynamic value relocation table.
Definition LoadConfiguration.hpp:390
it_const_dynamic_relocations_t dynamic_relocations() const
Definition LoadConfiguration.hpp:351
LoadConfiguration & virtual_memory_threshold(uint64_t virtual_memory_threshold)
Definition LoadConfiguration.hpp:532
uint64_t virtual_memory_threshold() const
The maximum block size that can be allocated from heap segments, in bytes.
Definition LoadConfiguration.hpp:184
LoadConfiguration(LoadConfiguration &&)
void accept(Visitor &visitor) const override
LoadConfiguration & size(uint32_t value)
Definition LoadConfiguration.hpp:478
LoadConfiguration & timedatestamp(uint32_t timedatestamp)
Definition LoadConfiguration.hpp:482
LoadConfiguration & csd_version(uint16_t csd_version)
Definition LoadConfiguration.hpp:547
LoadConfiguration & editlist(uint64_t editlist)
Definition LoadConfiguration.hpp:562
optional< uint32_t > hotpatch_table_offset() const
Offset to the hotpatch table.
Definition LoadConfiguration.hpp:405
uint64_t decommit_total_free_threshold() const
The size of the minimum total memory that must be freed in the process heap before it is freed (de-co...
Definition LoadConfiguration.hpp:166
it_const_guard_functions guard_long_jump_targets() const
List of RVA pointed by guard_address_taken_iat_entry_table().
Definition LoadConfiguration.hpp:333
const VolatileMetadata * volatile_metadata() const
Definition LoadConfiguration.hpp:429
optional< uint64_t > hybrid_metadata_pointer() const
Alias for chpe_metadata_pointer().
Definition LoadConfiguration.hpp:356
uint64_t lock_prefix_table() const
The VA of a list of addresses where the LOCK prefix is used. These will be replaced by NOP on single-...
Definition LoadConfiguration.hpp:173
optional< uint16_t > reserved2() const
Must be zero.
Definition LoadConfiguration.hpp:395
optional< uint64_t > guard_xfg_table_dispatch_function_pointer() const
Definition LoadConfiguration.hpp:461
it_const_guard_functions guard_eh_continuation_functions() const
Definition LoadConfiguration.hpp:445
optional< uint64_t > guard_rf_failure_routine_function_pointer() const
VA of the failure routine fptr.
Definition LoadConfiguration.hpp:380
EnclaveConfiguration * enclave_config()
Definition LoadConfiguration.hpp:421
LoadConfiguration & dependent_load_flags(uint16_t flags)
Definition LoadConfiguration.hpp:557
LoadConfiguration & reserved1(uint16_t reserved1)
Definition LoadConfiguration.hpp:552
friend class Parser
Definition LoadConfiguration.hpp:48
LoadConfiguration & cast_guard_os_determined_failure_mode(uint64_t value)
Definition LoadConfiguration.hpp:722
uint32_t global_flags_clear() const
The global flags that control system behavior. For more information, see Gflags.exe.
Definition LoadConfiguration.hpp:143
LoadConfiguration & guard_address_taken_iat_entry_count(uint64_t value)
Definition LoadConfiguration.hpp:622
uint16_t major_version() const
Major version.
Definition LoadConfiguration.hpp:132
bool has(IMAGE_GUARD flag) const
Check if the given flag is present.
Definition LoadConfiguration.hpp:282
LoadConfiguration & guard_address_taken_iat_entry_table(uint64_t value)
Definition LoadConfiguration.hpp:617
LoadConfiguration & guard_xfg_table_dispatch_function_pointer(uint64_t value)
Definition LoadConfiguration.hpp:717
LoadConfiguration & process_affinity_mask(uint64_t process_affinity_mask)
Definition LoadConfiguration.hpp:537
LoadConfiguration & guard_xfg_check_function_pointer(uint64_t value)
Definition LoadConfiguration.hpp:707
LoadConfiguration & hotpatch_table_offset(uint32_t value)
Definition LoadConfiguration.hpp:677
LoadConfiguration & global_flags_clear(uint32_t global_flags_clear)
Definition LoadConfiguration.hpp:497
VolatileMetadata * volatile_metadata()
Definition LoadConfiguration.hpp:433
uint32_t process_heap_flags() const
The process heap flags. For more information, see HeapCreate.
Definition LoadConfiguration.hpp:195
uint16_t dependent_load_flags() const
Alias for reserved1().
Definition LoadConfiguration.hpp:214
LoadConfiguration & volatile_metadata_pointer(uint64_t value)
Definition LoadConfiguration.hpp:692
IMAGE_GUARD
Definition LoadConfiguration.hpp:50
@ RF_ENABLE
Definition LoadConfiguration.hpp:86
@ RF_INSTRUMENTED
Definition LoadConfiguration.hpp:85
@ RF_STRICT
Definition LoadConfiguration.hpp:87
@ PROTECT_DELAYLOAD_IAT
Module supports read only delay load IAT.
Definition LoadConfiguration.hpp:66
@ DELAYLOAD_IAT_IN_ITS_OWN_SECTION
Delayload import table in its own .didat section (with nothing else in it) that can be freely reprote...
Definition LoadConfiguration.hpp:70
@ CF_EXPORT_SUPPRESSION_INFO_PRESENT
Module contains suppressed export information. This also infers that the address taken IAT table is a...
Definition LoadConfiguration.hpp:74
@ CF_INSTRUMENTED
Module performs control flow integrity checks using system-supplied support.
Definition LoadConfiguration.hpp:54
@ EH_CONTINUATION_TABLE_PRESENT
Module contains EH continuation target information.
Definition LoadConfiguration.hpp:83
@ RETPOLINE_PRESENT
Definition LoadConfiguration.hpp:88
@ CF_LONGJUMP_TABLE_PRESENT
Module contains longjmp target information.
Definition LoadConfiguration.hpp:80
@ CF_FUNCTION_TABLE_PRESENT
Module contains valid control flow target metadata.
Definition LoadConfiguration.hpp:60
@ NONE
Definition LoadConfiguration.hpp:51
@ SECURITY_COOKIE_UNUSED
Module does not make use of the /GS security cookie.
Definition LoadConfiguration.hpp:63
@ CFW_INSTRUMENTED
Module performs control flow and write integrity checks.
Definition LoadConfiguration.hpp:57
@ CF_ENABLE_EXPORT_SUPPRESSION
Module enables suppression of exports.
Definition LoadConfiguration.hpp:77
optional< uint64_t > volatile_metadata_pointer() const
Definition LoadConfiguration.hpp:425
optional< uint64_t > cast_guard_os_determined_failure_mode() const
Definition LoadConfiguration.hpp:465
it_guard_functions guard_address_taken_iat_entries()
Definition LoadConfiguration.hpp:317
LoadConfiguration & guard_cf_dispatch_function_pointer(uint64_t dispatch_pointer)
Definition LoadConfiguration.hpp:587
optional< uint64_t > guard_address_taken_iat_entry_count() const
The count of unique RVAs in the table pointed by guard_address_taken_iat_entry_table().
Definition LoadConfiguration.hpp:308
const_ref_iterator< const guard_functions_t & > it_const_guard_functions
Definition LoadConfiguration.hpp:98
LoadConfiguration & se_handler_count(uint64_t se_handler_count)
Definition LoadConfiguration.hpp:577
LoadConfiguration & minor_version(uint16_t minor_version)
Definition LoadConfiguration.hpp:492
LoadConfiguration & process_heap_flags(uint32_t process_heap_flagsid)
Definition LoadConfiguration.hpp:542
friend std::ostream & operator<<(std::ostream &os, const LoadConfiguration &config)
Definition LoadConfiguration.hpp:739
optional< uint64_t > se_handler_table() const
The VA of the sorted table of RVAs of each valid, unique handler in the image. This member is availab...
Definition LoadConfiguration.hpp:230
const CodeIntegrity * code_integrity() const
Code integrity information.
Definition LoadConfiguration.hpp:293
optional< uint64_t > dynamic_value_reloc_table() const
VA pointing to a IMAGE_DYNAMIC_RELOCATION_TABLE.
Definition LoadConfiguration.hpp:342
LoadConfiguration & major_version(uint16_t major_version)
Definition LoadConfiguration.hpp:487
LoadConfiguration & guard_eh_continuation_table(uint64_t value)
Definition LoadConfiguration.hpp:697
LoadConfiguration & dynamic_value_reloc_table(uint64_t value)
Definition LoadConfiguration.hpp:637
it_guard_functions guard_cf_functions()
Definition LoadConfiguration.hpp:272
LoadConfiguration & critical_section_default_timeout(uint32_t critical_section_default_timeout)
Definition LoadConfiguration.hpp:507
optional< uint64_t > guard_rf_verify_stackpointer_function_pointer() const
VA of the Function verifying the stack pointer.
Definition LoadConfiguration.hpp:400
optional< uint64_t > guard_cf_dispatch_function_pointer() const
The VA where Control Flow Guard dispatch-function pointer is stored.
Definition LoadConfiguration.hpp:251
std::vector< std::unique_ptr< DynamicRelocation > > dynamic_relocations_t
Definition LoadConfiguration.hpp:100
uint16_t reserved1() const
See: dependent_load_flags().
Definition LoadConfiguration.hpp:205
optional< uint64_t > guard_eh_continuation_count() const
Definition LoadConfiguration.hpp:441
it_guard_functions guard_eh_continuation_functions()
Definition LoadConfiguration.hpp:449
optional< uint32_t > guard_flags() const
Control Flow Guard related flags.
Definition LoadConfiguration.hpp:277
LoadConfiguration(const LoadConfiguration &)
optional< uint32_t > reserved3() const
Definition LoadConfiguration.hpp:409
optional< uint64_t > guard_cf_function_count() const
The count of unique RVAs in the guard_cf_function_table() table.
Definition LoadConfiguration.hpp:262
optional< uint64_t > guard_long_jump_target_count() const
The count of unique RVAs in the table pointed by guard_long_jump_target_table.
Definition LoadConfiguration.hpp:328
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:52
Definition Visitor.hpp:210
Definition optional.hpp:23
Iterator which returns reference on container's values.
Definition iterators.hpp:46
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
const char * to_string(CODE_PAGES e)
LIEF namespace.
Definition Abstract/Binary.hpp:40
result< ok_t > ok_error_t
Opaque structure that is used by LIEF to avoid writing result<void> f(...). Instead,...
Definition errors.hpp:109
ref_iterator< CT, U, typename decay_t< CT >::const_iterator > const_ref_iterator
Iterator which return const ref on container's values.
Definition iterators.hpp:257
Definition LoadConfiguration.hpp:91
uint32_t extra
Definition LoadConfiguration.hpp:93
uint32_t rva
Definition LoadConfiguration.hpp:92
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42