LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_COFF_AUXILIARY_FUNCTION_DEF_H
17#define LIEF_COFF_AUXILIARY_FUNCTION_DEF_H
32 LIEF_LOCAL static std::unique_ptr<AuxiliaryFunctionDefinition>
33 parse(
const std::vector<uint8_t>& payload);
36 AuxiliarySymbol(AuxiliarySymbol::TYPE::FUNC_DEF)
40 uint32_t ptr_line, uint32_t ptr_next_func,
42 AuxiliarySymbol(AuxiliarySymbol::TYPE::FUNC_DEF),
45 ptr_to_linenb_(ptr_line),
46 ptr_to_next_func_(ptr_next_func),
51 AuxiliaryFunctionDefinition&
operator=(
const AuxiliaryFunctionDefinition&) =
default;
54 AuxiliaryFunctionDefinition&
operator=(AuxiliaryFunctionDefinition&&) =
default;
56 std::unique_ptr<AuxiliarySymbol>
clone()
const override {
57 return std::unique_ptr<AuxiliaryFunctionDefinition>(
new AuxiliaryFunctionDefinition{*
this});
78 return ptr_to_linenb_;
84 return ptr_to_next_func_;
94 static bool classof(
const AuxiliarySymbol* sym) {
95 return sym->
type() == AuxiliarySymbol::TYPE::FUNC_DEF;
101 uint32_t tag_index_ = 0;
102 uint32_t total_size_ = 0;
103 uint32_t ptr_to_linenb_ = 0;
104 uint32_t ptr_to_next_func_ = 0;
105 uint16_t padding_ = 0;
This auxiliary symbols marks the beginning of a function definition.
Definition AuxiliaryFunctionDefinition.hpp:30
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:83
AuxiliaryFunctionDefinition(uint32_t tagidx, uint32_t totalsz, uint32_t ptr_line, uint32_t ptr_next_func, uint16_t padding)
Definition AuxiliaryFunctionDefinition.hpp:39
AuxiliaryFunctionDefinition(const AuxiliaryFunctionDefinition &)=default
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:77
AuxiliaryFunctionDefinition & operator=(AuxiliaryFunctionDefinition &&)=default
static std::unique_ptr< AuxiliaryFunctionDefinition > parse(const std::vector< uint8_t > &payload)
AuxiliaryFunctionDefinition()
Definition AuxiliaryFunctionDefinition.hpp:35
uint16_t padding() const
Padding value (should be 0)
Definition AuxiliaryFunctionDefinition.hpp:88
~AuxiliaryFunctionDefinition() override=default
std::string to_string() const override
static bool classof(const AuxiliarySymbol *sym)
Definition AuxiliaryFunctionDefinition.hpp:94
uint32_t total_size() const
The size of the executable code for the function itself.
Definition AuxiliaryFunctionDefinition.hpp:71
std::unique_ptr< AuxiliarySymbol > clone() const override
Definition AuxiliaryFunctionDefinition.hpp:56
AuxiliaryFunctionDefinition & operator=(const AuxiliaryFunctionDefinition &)=default
uint32_t tag_index() const
The symbol-table index of the corresponding .bf (begin function) symbol record.
Definition AuxiliaryFunctionDefinition.hpp:62
Class that represents an auxiliary symbol.
Definition AuxiliarySymbol.hpp:36
TYPE type() const
Definition AuxiliarySymbol.hpp:78
Definition AuxiliarySymbol.hpp:29
LIEF namespace.
Definition Abstract/Binary.hpp:39
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42