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

Class that represents the LC_DYLD_EXPORTS_TRIE command. More...

#include <DyldExportsTrie.hpp>

Inheritance diagram for LIEF::MachO::DyldExportsTrie:
Inheritance graph
[legend]
Collaboration diagram for LIEF::MachO::DyldExportsTrie:
Collaboration graph
[legend]

Public Types

using export_info_t = std::vector<std::unique_ptr<ExportInfo>>
 Internal container for storing ExportInfo.
 
using it_export_info = ref_iterator<export_info_t&, ExportInfo*>
 Iterator which outputs const ExportInfo&.
 
using it_const_export_info = const_ref_iterator<const export_info_t&, ExportInfo*>
 Iterator which outputs const ExportInfo&.
 
- Public Types inherited from LIEF::MachO::LoadCommand
using raw_t = std::vector<uint8_t>
 
- 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

 DyldExportsTrie (const details::linkedit_data_command &cmd)
 
DyldExportsTrieclone () const override
 
void swap (DyldExportsTrie &other)
 
uint32_t data_offset () const
 Offset of the LC_DYLD_EXPORTS_TRIE. This offset should point in the __LINKEDIT segment.
 
uint32_t data_size () const
 Size of the LC_DYLD_EXPORTS_TRIE payload.
 
void data_offset (uint32_t offset)
 
void data_size (uint32_t size)
 
span< const uint8_t > content () const
 
it_export_info exports ()
 Iterator over the ExportInfo entries.
 
it_const_export_info exports () const
 
std::string show_export_trie () const
 Print the exports trie in a humman-readable way.
 
void add (std::unique_ptr< ExportInfo > info)
 Add an entrie in the current trie. See also: LIEF::MachO::Binary::add_exported_function.
 
void accept (Visitor &visitor) const override
 
std::ostream & print (std::ostream &os) const override
 
- Public Member Functions inherited from LIEF::MachO::LoadCommand
 LoadCommand (const details::load_command &command)
 
 LoadCommand (LOAD_COMMAND_TYPES type, uint32_t size)
 
LoadCommandoperator= (LoadCommand copy)
 
 LoadCommand (const LoadCommand &copy)
 
void swap (LoadCommand &other)
 
LOAD_COMMAND_TYPES command () const
 Command type.
 
uint32_t size () const
 Size of the command (should be greather than sizeof(load_command))
 
span< const uint8_t > data () const
 Raw command.
 
uint64_t command_offset () const
 Offset of the command within the Load Command Table
 
void data (const raw_t &data)
 
void command (LOAD_COMMAND_TYPES command)
 
void size (uint32_t size)
 
void command_offset (uint64_t offset)
 
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 bool classof (const LoadCommand *cmd)
 
- Static Public Member Functions inherited from LIEF::MachO::LoadCommand
static bool is_linkedit_data (const LoadCommand &cmd)
 

Detailed Description

Class that represents the LC_DYLD_EXPORTS_TRIE command.

In recent Mach-O binaries, this command replace the DyldInfo export trie buffer

Member Function Documentation

◆ accept()

void LIEF::MachO::DyldExportsTrie::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ clone()

DyldExportsTrie * LIEF::MachO::DyldExportsTrie::clone ( ) const
overridevirtual

Reimplemented from LIEF::MachO::LoadCommand.

◆ print()

std::ostream & LIEF::MachO::DyldExportsTrie::print ( std::ostream & os) const
overridevirtual

Reimplemented from LIEF::MachO::LoadCommand.


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