LIEF: Library to Instrument Executable Formats Version 0.16.0
|
Class that provides an interface over the Dyld export info. More...
#include <ExportInfo.hpp>
Public Types | |
enum class | KIND : uint64_t { REGULAR = 0x00u , THREAD_LOCAL_KIND = 0x01u , ABSOLUTE_KIND = 0x02u } |
enum class | FLAGS : uint64_t { WEAK_DEFINITION = 0x04u , REEXPORT = 0x08u , STUB_AND_RESOLVER = 0x10u } |
using | flag_list_t = std::vector<FLAGS> |
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 | |
ExportInfo ()=default | |
ExportInfo (uint64_t address, uint64_t flags, uint64_t offset=0) | |
ExportInfo & | operator= (ExportInfo copy) |
ExportInfo (const ExportInfo ©) | |
void | swap (ExportInfo &other) noexcept |
uint64_t | node_offset () const |
Original offset in the export Trie. | |
uint64_t | flags () const |
Some information (ExportInfo::FLAGS) about the export. (like weak export, reexport, ...) | |
void | flags (uint64_t flags) |
flag_list_t | flags_list () const |
The export flags() as a list. | |
bool | has (FLAGS flag) const |
Check if the current entry contains the provided ExportInfo::FLAGS. | |
KIND | kind () const |
The export's kind (regular, thread local, absolute, ...) | |
uint64_t | other () const |
uint64_t | address () const |
The address of the export. | |
void | address (uint64_t addr) |
bool | has_symbol () const |
Check if a symbol is associated with this export. | |
const Symbol * | symbol () const |
MachO::Symbol associated with this export or a nullptr if no symbol. | |
Symbol * | symbol () |
Symbol * | alias () |
If the export is a ExportInfo::FLAGS::REEXPORT, this returns the (optional) MachO::Symbol. | |
const Symbol * | alias () const |
DylibCommand * | alias_library () |
If the export is a ExportInfo::FLAGS::REEXPORT, this returns the (optional) library (MachO::DylibCommand) | |
const DylibCommand * | alias_library () const |
~ExportInfo () override=default | |
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 that provides an interface over the Dyld export info.
This class does not represent a structure that exists in the Mach-O format specification but provides a view on an entry of the Dyld export trie.
using LIEF::MachO::ExportInfo::flag_list_t = std::vector<FLAGS> |
|
strong |
|
strong |
|
default |
|
inline |
LIEF::MachO::ExportInfo::ExportInfo | ( | const ExportInfo & | copy | ) |
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
|
inline |
The address of the export.
|
inline |
|
inline |
If the export is a ExportInfo::FLAGS::REEXPORT, this returns the (optional) MachO::Symbol.
|
inline |
|
inline |
If the export is a ExportInfo::FLAGS::REEXPORT, this returns the (optional) library (MachO::DylibCommand)
|
inline |
|
inline |
Some information (ExportInfo::FLAGS) about the export. (like weak export, reexport, ...)
|
inline |
flag_list_t LIEF::MachO::ExportInfo::flags_list | ( | ) | const |
The export flags() as a list.
bool LIEF::MachO::ExportInfo::has | ( | FLAGS | flag | ) | const |
Check if the current entry contains the provided ExportInfo::FLAGS.
|
inline |
Check if a symbol is associated with this export.
|
inline |
The export's kind (regular, thread local, absolute, ...)
|
inline |
Original offset in the export Trie.
ExportInfo & LIEF::MachO::ExportInfo::operator= | ( | ExportInfo | copy | ) |
|
inline |
|
noexcept |
|
inline |
|
inline |
MachO::Symbol associated with this export or a nullptr if no symbol.