|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
This class represents a symbol binding operation associated with the LC_DYLD_INFO bytecode. More...
#include <DyldBindingInfo.hpp>


Public Types | |
| enum class | CLASS : uint64_t { WEAK = 1u , LAZY = 2u , STANDARD = 3u , THREADED = 100u } |
| enum class | TYPE : uint64_t { POINTER = 1u , TEXT_ABSOLUTE32 = 2u , TEXT_PCREL32 = 3u } |
| 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>>> |
Public Member Functions | |
| DyldBindingInfo ()=default | |
| DyldBindingInfo (CLASS cls, TYPE type, uint64_t address, int64_t addend=0, int32_t oridnal=0, bool is_weak=false, bool is_non_weak_definition=false, uint64_t offset=0) | |
| DyldBindingInfo & | operator= (const DyldBindingInfo &other)=default |
| DyldBindingInfo (const DyldBindingInfo &other)=default | |
| DyldBindingInfo & | operator= (DyldBindingInfo &&) noexcept=default |
| DyldBindingInfo (DyldBindingInfo &&) noexcept=default | |
| void | swap (DyldBindingInfo &other) noexcept |
| CLASS | binding_class () const |
| Class of the binding (weak, lazy, ...). | |
| void | binding_class (CLASS bind_class) |
| TYPE | binding_type () const |
| Type of the binding. Most of the times it's TYPE::POINTER. | |
| void | binding_type (TYPE type) |
| bool | is_non_weak_definition () const |
| void | set_non_weak_definition (bool val) |
| uint64_t | original_offset () const |
| Original relative offset of the binding opcodes. | |
| 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). | |
| ~DyldBindingInfo () override=default | |
| void | accept (Visitor &visitor) const override |
| Public Member Functions inherited from LIEF::MachO::BindingInfo | |
| BindingInfo ()=default | |
| BindingInfo (const BindingInfo &other) | |
| BindingInfo & | operator= (const BindingInfo &other) |
| BindingInfo (BindingInfo &&) noexcept=default | |
| BindingInfo & | operator= (BindingInfo &&) noexcept=default |
| 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 | |
| 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) |
| Object (Object &&other) noexcept=default | |
| Object & | operator= (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 () |
Static Public Member Functions | |
| static bool | classof (const BindingInfo *info) |
This class represents a symbol binding operation associated with the LC_DYLD_INFO bytecode.
It does not represent a structure that exists in the Mach-O format specifications but it provides a view on an entry of the Dyld binding opcodes.
|
strong |
|
strong |
|
default |
Referenced by DyldBindingInfo(), DyldBindingInfo(), operator<<, operator=(), operator=(), and swap().
|
default |
References DyldBindingInfo().
|
defaultnoexcept |
References DyldBindingInfo().
|
overridedefault |
|
overridevirtual |
Reimplemented from LIEF::MachO::BindingInfo.
References LIEF_API.
|
inline |
|
inline |
|
inline |
Type of the binding. Most of the times it's TYPE::POINTER.
|
inlinestatic |
|
inline |
Referenced by DyldBindingInfo().
|
default |
References DyldBindingInfo().
|
defaultnoexcept |
References DyldBindingInfo().
|
inline |
Original relative offset of the binding opcodes.
|
inline |
|
noexcept |
References DyldBindingInfo(), and swap().
Referenced by swap().
|
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.
References LIEF::MachO::BindingInfo::DYLD_INFO.
Referenced by binding_type(), and DyldBindingInfo().