LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::AuxiliaryFunctionDefinition Class Reference

This auxiliary symbols marks the beginning of a function definition. More...

#include <AuxiliaryFunctionDefinition.hpp>

Inheritance diagram for LIEF::PE::AuxiliaryFunctionDefinition:
Collaboration diagram for LIEF::PE::AuxiliaryFunctionDefinition:

Public Member Functions

 AuxiliaryFunctionDefinition ()
 
 AuxiliaryFunctionDefinition (uint32_t tagidx, uint32_t totalsz, uint32_t ptr_line, uint32_t ptr_next_func, uint16_t padding)
 
 AuxiliaryFunctionDefinition (const AuxiliaryFunctionDefinition &)=default
 
AuxiliaryFunctionDefinitionoperator= (const AuxiliaryFunctionDefinition &)=default
 
 AuxiliaryFunctionDefinition (AuxiliaryFunctionDefinition &&)=default
 
AuxiliaryFunctionDefinitionoperator= (AuxiliaryFunctionDefinition &&)=default
 
std::unique_ptr< AuxiliarySymbolclone () const override
 
uint32_t tag_index () const
 The symbol-table index of the corresponding .bf (begin function) symbol record.
 
uint32_t total_size () const
 The size of the executable code for the function itself.
 
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 (deprecated)
 
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 table, this field is set to zero.
 
uint16_t padding () const
 Padding value (should be 0)
 
std::string to_string () const override
 
 ~AuxiliaryFunctionDefinition () override=default
 
- Public Member Functions inherited from LIEF::PE::AuxiliarySymbol
 AuxiliarySymbol ()=default
 
 AuxiliarySymbol (std::vector< uint8_t > payload)
 
 AuxiliarySymbol (const AuxiliarySymbol &)=default
 
AuxiliarySymboloperator= (const AuxiliarySymbol &)=default
 
 AuxiliarySymbol (AuxiliarySymbol &&)=default
 
AuxiliarySymboloperator= (AuxiliarySymbol &&)=default
 
 AuxiliarySymbol (TYPE ty)
 
TYPE type () const
 
span< const uint8_t > payload () const
 For unknown type only, return the raw representation of this symbol.
 
span< uint8_t > payload ()
 
virtual ~AuxiliarySymbol ()=default
 
template<class T >
const Tas () const
 Helper to downcast a AuxiliarySymbol into a concrete implementation.
 

Static Public Member Functions

static std::unique_ptr< AuxiliaryFunctionDefinitionparse (const std::vector< uint8_t > &payload)
 
static bool classof (const AuxiliarySymbol *sym)
 
- Static Public Member Functions inherited from LIEF::PE::AuxiliarySymbol
static std::unique_ptr< AuxiliarySymbolparse (Symbol &sym, std::vector< uint8_t > payload)
 
static TYPE get_aux_type (const Symbol &sym)
 

Additional Inherited Members

- Public Types inherited from LIEF::PE::AuxiliarySymbol
enum class  TYPE {
  UNKNOWN = 0 , CLR_TOKEN , FUNC_DEF , BF_AND_EF ,
  WEAK_EXTERNAL , FILE , SEC_DEF
}
 Type discriminator for the subclasses. More...
 

Detailed Description

This auxiliary symbols marks the beginning of a function definition.

Reference: https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#auxiliary-format-1-function-definitions

Constructor & Destructor Documentation

◆ AuxiliaryFunctionDefinition() [1/4]

LIEF::PE::AuxiliaryFunctionDefinition::AuxiliaryFunctionDefinition ( )
inline

◆ AuxiliaryFunctionDefinition() [2/4]

LIEF::PE::AuxiliaryFunctionDefinition::AuxiliaryFunctionDefinition ( uint32_t tagidx,
uint32_t totalsz,
uint32_t ptr_line,
uint32_t ptr_next_func,
uint16_t padding )
inline

◆ AuxiliaryFunctionDefinition() [3/4]

LIEF::PE::AuxiliaryFunctionDefinition::AuxiliaryFunctionDefinition ( const AuxiliaryFunctionDefinition & )
default

◆ AuxiliaryFunctionDefinition() [4/4]

LIEF::PE::AuxiliaryFunctionDefinition::AuxiliaryFunctionDefinition ( AuxiliaryFunctionDefinition && )
default

◆ ~AuxiliaryFunctionDefinition()

LIEF::PE::AuxiliaryFunctionDefinition::~AuxiliaryFunctionDefinition ( )
overridedefault

Member Function Documentation

◆ classof()

static bool LIEF::PE::AuxiliaryFunctionDefinition::classof ( const AuxiliarySymbol * sym)
inlinestatic

◆ clone()

std::unique_ptr< AuxiliarySymbol > LIEF::PE::AuxiliaryFunctionDefinition::clone ( ) const
inlineoverridevirtual

Reimplemented from LIEF::PE::AuxiliarySymbol.

◆ operator=() [1/2]

AuxiliaryFunctionDefinition & LIEF::PE::AuxiliaryFunctionDefinition::operator= ( AuxiliaryFunctionDefinition && )
default

◆ operator=() [2/2]

AuxiliaryFunctionDefinition & LIEF::PE::AuxiliaryFunctionDefinition::operator= ( const AuxiliaryFunctionDefinition & )
default

◆ padding()

uint16_t LIEF::PE::AuxiliaryFunctionDefinition::padding ( ) const
inline

Padding value (should be 0)

◆ parse()

static std::unique_ptr< AuxiliaryFunctionDefinition > LIEF::PE::AuxiliaryFunctionDefinition::parse ( const std::vector< uint8_t > & payload)
static

◆ ptr_to_line_number()

uint32_t LIEF::PE::AuxiliaryFunctionDefinition::ptr_to_line_number ( ) const
inline

The file offset of the first COFF line-number entry for the function, or zero if none exists (deprecated)

◆ ptr_to_next_func()

uint32_t LIEF::PE::AuxiliaryFunctionDefinition::ptr_to_next_func ( ) const
inline

The symbol-table index of the record for the next function. If the function is the last in the symbol table, this field is set to zero.

◆ tag_index()

uint32_t LIEF::PE::AuxiliaryFunctionDefinition::tag_index ( ) const
inline

The symbol-table index of the corresponding .bf (begin function) symbol record.

◆ to_string()

std::string LIEF::PE::AuxiliaryFunctionDefinition::to_string ( ) const
overridevirtual

Reimplemented from LIEF::PE::AuxiliarySymbol.

◆ total_size()

uint32_t LIEF::PE::AuxiliaryFunctionDefinition::total_size ( ) const
inline

The size of the executable code for the function itself.

If the function is in its own section, the SizeOfRawData in the section header is greater or equal to this field, depending on alignment considerations.


The documentation for this class was generated from the following file: