16#ifndef LIEF_PE_LOAD_CONFIGURATION_V5_H
17#define LIEF_PE_LOAD_CONFIGURATION_V5_H
34 static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_14901;
49 return guard_rf_failure_routine_;
54 return guard_rf_failure_routine_function_pointer_;
59 return dynamic_value_reloctable_offset_;
64 return dynamic_value_reloctable_section_;
73 guard_rf_failure_routine_ = value;
77 guard_rf_failure_routine_function_pointer_ = value;
81 dynamic_value_reloctable_offset_ = value;
85 dynamic_value_reloctable_section_ = value;
93 return config->
version() == WIN_VERSION;
100 std::ostream&
print(std::ostream& os)
const override;
103 uint64_t guard_rf_failure_routine_ = 0;
104 uint64_t guard_rf_failure_routine_function_pointer_ = 0;
105 uint32_t dynamic_value_reloctable_offset_ = 0;
106 uint16_t dynamic_value_reloctable_section_ = 0;
107 uint16_t reserved2_ = 0;
Load Configuration enhanced with.
Definition LoadConfigurationV4.hpp:35
Load Configuration enhanced with Return Flow Guard.
Definition LoadConfigurationV5.hpp:32
LoadConfigurationV5(const LoadConfigurationV5 &)=default
void guard_rf_failure_routine(uint64_t value)
Definition LoadConfigurationV5.hpp:72
VERSION version() const override
(SDK) Version of the structure
Definition LoadConfigurationV5.hpp:43
uint64_t guard_rf_failure_routine() const
VA of the failure routine.
Definition LoadConfigurationV5.hpp:48
static bool classof(const LoadConfiguration *config)
Definition LoadConfigurationV5.hpp:92
std::ostream & print(std::ostream &os) const override
LoadConfigurationV5 & operator=(const LoadConfigurationV5 &)=default
LoadConfigurationV5()=default
~LoadConfigurationV5() override=default
uint64_t guard_rf_failure_routine_function_pointer() const
VA of the failure routine fptr.
Definition LoadConfigurationV5.hpp:53
uint32_t dynamic_value_reloctable_offset() const
Offset of dynamic relocation table relative to the relocation table.
Definition LoadConfigurationV5.hpp:58
LoadConfigurationV5(const details::load_configuration_v5< T > &header)
void accept(Visitor &visitor) const override
uint16_t reserved2() const
Must be zero.
Definition LoadConfigurationV5.hpp:68
uint16_t dynamic_value_reloctable_section() const
The section index of the dynamic value relocation table.
Definition LoadConfigurationV5.hpp:63
void reserved2(uint16_t value)
Definition LoadConfigurationV5.hpp:88
void guard_rf_failure_routine_function_pointer(uint64_t value)
Definition LoadConfigurationV5.hpp:76
void dynamic_value_reloctable_offset(uint32_t value)
Definition LoadConfigurationV5.hpp:80
void dynamic_value_reloctable_section(uint16_t value)
Definition LoadConfigurationV5.hpp:84
Class that represents the default PE's LoadConfiguration
Definition LoadConfiguration.hpp:35
virtual VERSION version() const
(SDK) Version of the structure
Definition LoadConfiguration.hpp:64
VERSION
Definition LoadConfiguration.hpp:37
Definition Visitor.hpp:224
LIEF namespace.
Definition Abstract/Binary.hpp:32
Definition LoadConfigurationV5.hpp:28
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42