LIEF: Library to Instrument Executable Formats Version 0.16.0
|
Class which represents an entry defined in DT_VERDEF
or .gnu.version_d
More...
#include <SymbolVersionDefinition.hpp>
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 | |
SymbolVersionDefinition & | operator= (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) | |
Object & | operator= (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 () |
Class which represents an entry defined in DT_VERDEF
or .gnu.version_d
using LIEF::ELF::SymbolVersionDefinition::it_const_version_aux = const_ref_iterator<const version_aux_t&, const SymbolVersionAux*> |
using LIEF::ELF::SymbolVersionDefinition::it_version_aux = ref_iterator<version_aux_t&, SymbolVersionAux*> |
using LIEF::ELF::SymbolVersionDefinition::version_aux_t = std::vector<std::unique_ptr<SymbolVersionAux>> |
|
default |
LIEF::ELF::SymbolVersionDefinition::SymbolVersionDefinition | ( | const details::Elf64_Verdef & | header | ) |
LIEF::ELF::SymbolVersionDefinition::SymbolVersionDefinition | ( | const details::Elf32_Verdef & | header | ) |
|
override |
LIEF::ELF::SymbolVersionDefinition::SymbolVersionDefinition | ( | const SymbolVersionDefinition & | other | ) |
|
overridevirtual |
Implements LIEF::Object.
|
inline |
Version information.
|
inline |
|
inline |
|
inline |
References LIEF::hash().
|
inline |
Version index.
Numeric value used as an index in the LIEF::ELF::SymbolVersion table
SymbolVersionDefinition & LIEF::ELF::SymbolVersionDefinition::operator= | ( | SymbolVersionDefinition | other | ) |
void LIEF::ELF::SymbolVersionDefinition::swap | ( | SymbolVersionDefinition & | other | ) |
|
inline |
SymbolVersionAux entries.
|
inline |
|
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.
|
inline |