LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_PE_AUXILIARY_FUNCTION_DEF_H
17#define LIEF_PE_AUXILIARY_FUNCTION_DEF_H
33 LIEF_LOCAL static std::unique_ptr<AuxiliaryFunctionDefinition>
34 parse(
const std::vector<uint8_t>& payload);
37 AuxiliarySymbol(AuxiliarySymbol::TYPE::FUNC_DEF)
41 uint32_t ptr_line, uint32_t ptr_next_func,
43 AuxiliarySymbol(AuxiliarySymbol::TYPE::FUNC_DEF),
46 ptr_to_linenb_(ptr_line),
47 ptr_to_next_func_(ptr_next_func),
52 AuxiliaryFunctionDefinition&
operator=(
const AuxiliaryFunctionDefinition&) =
default;
55 AuxiliaryFunctionDefinition&
operator=(AuxiliaryFunctionDefinition&&) =
default;
57 std::unique_ptr<AuxiliarySymbol>
clone()
const override {
58 return std::unique_ptr<AuxiliaryFunctionDefinition>(
new AuxiliaryFunctionDefinition{*
this});
79 return ptr_to_linenb_;
85 return ptr_to_next_func_;
95 static bool classof(
const AuxiliarySymbol* sym) {
96 return sym->
type() == AuxiliarySymbol::TYPE::FUNC_DEF;
102 uint32_t tag_index_ = 0;
103 uint32_t total_size_ = 0;
104 uint32_t ptr_to_linenb_ = 0;
105 uint32_t ptr_to_next_func_ = 0;
106 uint16_t padding_ = 0;
This auxiliary symbols marks the beginning of a function definition.
Definition AuxiliaryFunctionDefinition.hpp:31
uint16_t padding() const
Padding value (should be 0)
Definition AuxiliaryFunctionDefinition.hpp:89
uint32_t tag_index() const
The symbol-table index of the corresponding .bf (begin function) symbol record.
Definition AuxiliaryFunctionDefinition.hpp:63
AuxiliaryFunctionDefinition(AuxiliaryFunctionDefinition &&)=default
uint32_t ptr_to_line_number() const
The file offset of the first COFF line-number entry for the function, or zero if none exists (depreca...
Definition AuxiliaryFunctionDefinition.hpp:78
AuxiliaryFunctionDefinition & operator=(const AuxiliaryFunctionDefinition &)=default
~AuxiliaryFunctionDefinition() override=default
static bool classof(const AuxiliarySymbol *sym)
Definition AuxiliaryFunctionDefinition.hpp:95
std::unique_ptr< AuxiliarySymbol > clone() const override
Definition AuxiliaryFunctionDefinition.hpp:57
std::string to_string() const override
AuxiliaryFunctionDefinition(uint32_t tagidx, uint32_t totalsz, uint32_t ptr_line, uint32_t ptr_next_func, uint16_t padding)
Definition AuxiliaryFunctionDefinition.hpp:40
static std::unique_ptr< AuxiliaryFunctionDefinition > parse(const std::vector< uint8_t > &payload)
uint32_t ptr_to_next_func() const
The symbol-table index of the record for the next function. If the function is the last in the symbol...
Definition AuxiliaryFunctionDefinition.hpp:84
uint32_t total_size() const
The size of the executable code for the function itself.
Definition AuxiliaryFunctionDefinition.hpp:72
AuxiliaryFunctionDefinition(const AuxiliaryFunctionDefinition &)=default
AuxiliaryFunctionDefinition()
Definition AuxiliaryFunctionDefinition.hpp:36
AuxiliaryFunctionDefinition & operator=(AuxiliaryFunctionDefinition &&)=default
Class that represents an auxiliary symbol.
Definition AuxiliarySymbol.hpp:36
TYPE type() const
Definition AuxiliarySymbol.hpp:78
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42