LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for LIEF::ELF::SymbolVersionDefinition:
Collaboration graph
[legend]

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 (const details::Elf64_Verdef &header)
 
 SymbolVersionDefinition (const details::Elf32_Verdef &header)
 
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 (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
 

Detailed Description

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

Member Function Documentation

◆ accept()

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

Implements LIEF::Object.

◆ ndx()

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

Version index.

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

◆ version()

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.


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