LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This class represents a binding operation infered from the indirect symbol table. More...
#include <IndirectBindingInfo.hpp>
Public Member Functions | |
IndirectBindingInfo (SegmentCommand &segment, Symbol &symbol, int32_t ordinal, DylibCommand *dylib, uint64_t address) | |
IndirectBindingInfo & | operator= (const IndirectBindingInfo &other)=default |
IndirectBindingInfo (const IndirectBindingInfo &other)=default | |
IndirectBindingInfo (IndirectBindingInfo &&) noexcept=default | |
BindingInfo::TYPES | type () const override |
The type of the binding. This type provides the origin of the binding (LC_DYLD_INFO or LC_DYLD_CHAINED_FIXUPS) | |
~IndirectBindingInfo () override=default | |
Public Member Functions inherited from LIEF::MachO::BindingInfo | |
BindingInfo ()=default | |
BindingInfo (const BindingInfo &other) | |
void | swap (BindingInfo &other) noexcept |
bool | has_segment () const |
Check if a MachO::SegmentCommand is associated with this binding. | |
const SegmentCommand * | segment () const |
The MachO::SegmentCommand associated with the BindingInfo or a nullptr of it is not bind to a SegmentCommand. | |
SegmentCommand * | segment () |
bool | has_library () const |
Check if a MachO::DylibCommand is tied with the BindingInfo. | |
const DylibCommand * | library () const |
MachO::DylibCommand associated with the BindingInfo or a nullptr if not present. | |
DylibCommand * | library () |
bool | has_symbol () const |
Check if a MachO::Symbol is associated with the BindingInfo. | |
const Symbol * | symbol () const |
MachO::Symbol associated with the BindingInfo or a nullptr if not present. | |
Symbol * | symbol () |
virtual uint64_t | address () const |
Address of the binding. | |
virtual void | address (uint64_t addr) |
int32_t | library_ordinal () const |
void | library_ordinal (int32_t ordinal) |
int64_t | addend () const |
Value added to the segment's virtual address when bound. | |
void | addend (int64_t addend) |
bool | is_weak_import () const |
void | set_weak_import (bool val=true) |
~BindingInfo () override=default | |
void | accept (Visitor &visitor) const override |
template<class T > | |
const T * | cast () const |
template<class T > | |
T * | cast () |
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 () |
Static Public Member Functions | |
static bool | classof (const BindingInfo *info) |
Additional Inherited Members | |
Public Types inherited from LIEF::MachO::BindingInfo | |
enum class | TYPES { UNKNOWN = 0 , DYLD_INFO , CHAINED , CHAINED_LIST , INDIRECT_SYMBOL } |
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>>> |
This class represents a binding operation infered from the indirect symbol table.
|
inline |
|
default |
|
defaultnoexcept |
|
overridedefault |
|
inlinestatic |
|
default |
|
inlineoverridevirtual |
The type of the binding. This type provides the origin of the binding (LC_DYLD_INFO or LC_DYLD_CHAINED_FIXUPS)
Implements LIEF::MachO::BindingInfo.