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

Class which represents an entry defined in DT_VERDEF or .gnu.version_d More...

#include <SymbolVersionDefinition.hpp>

Inheritance diagram for LIEF::ELF::SymbolVersionDefinition:
Collaboration diagram for LIEF::ELF::SymbolVersionDefinition:

Public Types

using version_aux_t = std::vector<std::unique_ptr<SymbolVersionAux>>
 
using it_version_aux = ref_iterator<version_aux_t&, SymbolVersionAux*>
 
using it_const_version_aux = const_ref_iterator<const version_aux_t&, const SymbolVersionAux*>
 
- Public Types inherited from LIEF::Object
template<class T >
using output_t = add_pointer_t<decay_t<T>>
 
template<class T >
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>
 

Public Member Functions

 SymbolVersionDefinition ()=default
 
 SymbolVersionDefinition (const details::Elf64_Verdef &header)
 
 SymbolVersionDefinition (const details::Elf32_Verdef &header)
 
 ~SymbolVersionDefinition () override
 
SymbolVersionDefinitionoperator= (SymbolVersionDefinition other)
 
 SymbolVersionDefinition (const SymbolVersionDefinition &other)
 
void swap (SymbolVersionDefinition &other)
 
uint16_t version () const
 Version revision.
 
uint16_t flags () const
 Version information.
 
uint16_t ndx () const
 Version index.
 
uint32_t hash () const
 Hash value of the symbol's name (using ELF hash function)
 
it_version_aux symbols_aux ()
 SymbolVersionAux entries.
 
it_const_version_aux symbols_aux () const
 
void version (uint16_t version)
 
void flags (uint16_t flags)
 
void hash (uint32_t hash)
 
void accept (Visitor &visitor) const override
 
- Public Member Functions inherited from LIEF::Object
 Object ()
 
 Object (const Object &other)
 
Objectoperator= (const Object &other)
 
template<class T >
output_t< T > as ()
 
template<class T >
output_const_t< T > as () const
 
virtual bool operator== (const Object &other) const
 
virtual bool operator!= (const Object &other) const
 
virtual ~Object ()
 

Detailed Description

Class which represents an entry defined in DT_VERDEF or .gnu.version_d

Member Typedef Documentation

◆ it_const_version_aux

◆ it_version_aux

◆ version_aux_t

Constructor & Destructor Documentation

◆ SymbolVersionDefinition() [1/4]

LIEF::ELF::SymbolVersionDefinition::SymbolVersionDefinition ( )
default

◆ SymbolVersionDefinition() [2/4]

LIEF::ELF::SymbolVersionDefinition::SymbolVersionDefinition ( const details::Elf64_Verdef & header)

◆ SymbolVersionDefinition() [3/4]

LIEF::ELF::SymbolVersionDefinition::SymbolVersionDefinition ( const details::Elf32_Verdef & header)

◆ ~SymbolVersionDefinition()

LIEF::ELF::SymbolVersionDefinition::~SymbolVersionDefinition ( )
override

◆ SymbolVersionDefinition() [4/4]

LIEF::ELF::SymbolVersionDefinition::SymbolVersionDefinition ( const SymbolVersionDefinition & other)

Member Function Documentation

◆ accept()

void LIEF::ELF::SymbolVersionDefinition::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ flags() [1/2]

uint16_t LIEF::ELF::SymbolVersionDefinition::flags ( ) const
inline

Version information.

◆ flags() [2/2]

void LIEF::ELF::SymbolVersionDefinition::flags ( uint16_t flags)
inline

◆ hash() [1/2]

uint32_t LIEF::ELF::SymbolVersionDefinition::hash ( ) const
inline

Hash value of the symbol's name (using ELF hash function)

◆ hash() [2/2]

void LIEF::ELF::SymbolVersionDefinition::hash ( uint32_t hash)
inline

References LIEF::hash().

◆ ndx()

uint16_t LIEF::ELF::SymbolVersionDefinition::ndx ( ) const
inline

Version index.

Numeric value used as an index in the LIEF::ELF::SymbolVersion table

◆ operator=()

SymbolVersionDefinition & LIEF::ELF::SymbolVersionDefinition::operator= ( SymbolVersionDefinition other)

◆ swap()

void LIEF::ELF::SymbolVersionDefinition::swap ( SymbolVersionDefinition & other)

◆ symbols_aux() [1/2]

it_version_aux LIEF::ELF::SymbolVersionDefinition::symbols_aux ( )
inline

SymbolVersionAux entries.

◆ symbols_aux() [2/2]

it_const_version_aux LIEF::ELF::SymbolVersionDefinition::symbols_aux ( ) const
inline

◆ version() [1/2]

uint16_t LIEF::ELF::SymbolVersionDefinition::version ( ) const
inline

Version revision.

This field should always have the value 1. It will be changed if the versioning implementation has to be changed in an incompatible way.

◆ version() [2/2]

void LIEF::ELF::SymbolVersionDefinition::version ( uint16_t version)
inline

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