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::DataInCode Class Reference

Interface of the LC_DATA_IN_CODE command This command is used to list slices of code sections that contain data. The slices information are stored as an array of DataCodeEntry. More...

#include <DataInCode.hpp>

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

Public Types

using entries_t = std::vector<DataCodeEntry>
 
using it_const_entries = const_ref_iterator<const entries_t&>
 
using it_entries = ref_iterator<entries_t&>
 
- 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

 DataInCode (const details::linkedit_data_command &cmd)
 
DataInCodeoperator= (const DataInCode &)
 
 DataInCode (const DataInCode &)
 
DataInCodeclone () const override
 
uint32_t data_offset () const
 Start of the array of the DataCodeEntry entries.
 
uint32_t data_size () const
 Whole size of the array (size = sizeof(DataCodeEntry) * nb_elements)
 
void data_offset (uint32_t offset)
 
void data_size (uint32_t size)
 
DataInCodeadd (const DataCodeEntry &entry)
 Add a new entry.
 
it_const_entries entries () const
 Iterator over the DataCodeEntry.
 
it_entries entries ()
 
span< uint8_t > content ()
 
span< const uint8_t > content () const
 
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

Interface of the LC_DATA_IN_CODE command This command is used to list slices of code sections that contain data. The slices information are stored as an array of DataCodeEntry.

See also
DataCodeEntry

Member Function Documentation

◆ accept()

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

Implements LIEF::Object.

◆ clone()

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

Reimplemented from LIEF::MachO::LoadCommand.

◆ print()

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

Reimplemented from LIEF::MachO::LoadCommand.


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