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)
 Object (Object &&other) noexcept=default
Objectoperator= (Object &&other) noexcept=default
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.

Referenced by flags().

◆ flags() [2/2]

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

References flags().

◆ hash() [1/2]

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

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

Referenced by hash().

◆ hash() [2/2]

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

References 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.

Referenced by version().

◆ version() [2/2]

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

References version().


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