LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
LIEF::ELF::SymbolVersion Class Reference

Class which represents an entry defined in the DT_VERSYM dynamic entry. More...

#include <SymbolVersion.hpp>

Inheritance diagram for LIEF::ELF::SymbolVersion:
Inheritance graph
[legend]
Collaboration diagram for LIEF::ELF::SymbolVersion:
Collaboration graph
[legend]

Public Member Functions

 SymbolVersion (uint16_t value)
 
SymbolVersionoperator= (const SymbolVersion &)=default
 
 SymbolVersion (const SymbolVersion &)=default
 
uint16_t value () const
 Value associated with the symbol.
 
bool has_auxiliary_version () const
 Whether the current SymbolVersion has an auxiliary one.
 
SymbolVersionAuxsymbol_version_auxiliary ()
 SymbolVersionAux associated with the current Version if any, or a nullptr.
 
const SymbolVersionAuxsymbol_version_auxiliary () const
 
void symbol_version_auxiliary (SymbolVersionAuxRequirement &svauxr)
 Set the version's auxiliary requirement The given SymbolVersionAuxRequirement must be an existing reference in the ELF::Binary.
 
void value (uint16_t v)
 
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
 

Static Public Member Functions

static SymbolVersion local ()
 Generate a local SymbolVersion.
 
static SymbolVersion global ()
 Generate a global SymbolVersion.
 

Additional Inherited Members

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

Detailed Description

Class which represents an entry defined in the DT_VERSYM dynamic entry.

Member Function Documentation

◆ accept()

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

Implements LIEF::Object.

◆ symbol_version_auxiliary()

void LIEF::ELF::SymbolVersion::symbol_version_auxiliary ( SymbolVersionAuxRequirement & svauxr)

Set the version's auxiliary requirement The given SymbolVersionAuxRequirement must be an existing reference in the ELF::Binary.

On can add a new SymbolVersionAuxRequirement by using SymbolVersionRequirement::add_aux_requirement

◆ value()

uint16_t LIEF::ELF::SymbolVersion::value ( ) const
inline

Value associated with the symbol.

If the given SymbolVersion hasn't Auxiliary version:

  • 0 means Local
  • 1 means Global

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