LIEF: Library to Instrument Executable Formats Version 0.16.0
Loading...
Searching...
No Matches
LIEF::PE::DelayImportEntry Class Reference

Class that represents an entry (i.e. an import) in the delay import table (DelayImport). More...

#include <DelayImportEntry.hpp>

Inheritance diagram for LIEF::PE::DelayImportEntry:
Collaboration diagram for LIEF::PE::DelayImportEntry:

Public Member Functions

 DelayImportEntry ()=default
 
 DelayImportEntry (uint64_t data, PE_TYPE type)
 
 DelayImportEntry (const DelayImportEntry &)=default
 
DelayImportEntryoperator= (const DelayImportEntry &)=default
 
 DelayImportEntry (DelayImportEntry &&) noexcept=default
 
DelayImportEntryoperator= (DelayImportEntry &&) noexcept=default
 
 ~DelayImportEntry () override=default
 
std::string demangled_name () const
 Demangled representation of the symbol or an empty string if it can't be demangled.
 
bool is_ordinal () const
 True if it is an import by ordinal
 
uint16_t ordinal () const
 The ordinal value.
 
uint64_t hint_name_rva () const
 
uint16_t hint () const
 Index into the Export::entries that is used to speed-up the symbol resolution.
 
uint64_t iat_value () const
 Value of the current entry in the Import Address Table.
 
uint64_t data () const
 Raw value.
 
void data (uint64_t data)
 
void accept (Visitor &visitor) const override
 
- Public Member Functions inherited from LIEF::Symbol
 Symbol ()=default
 
 Symbol (std::string name)
 
 Symbol (std::string name, uint64_t value)
 
 Symbol (std::string name, uint64_t value, uint64_t size)
 
 Symbol (const Symbol &)=default
 
Symboloperator= (const Symbol &)=default
 
 ~Symbol () override=default
 
void swap (Symbol &other) noexcept
 
virtual const std::string & name () const
 Return the symbol's name.
 
virtual std::string & name ()
 
virtual void name (std::string name)
 Set symbol name.
 
virtual uint64_t value () const
 
virtual void value (uint64_t value)
 
virtual uint64_t size () const
 This size of the symbol (when applicable)
 
virtual void size (uint64_t value)
 
void accept (Visitor &visitor) const override
 Method so that the visitor can visit us.
 
- Public Member Functions inherited from LIEF::Object
 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
 
virtual ~Object ()
 

Additional Inherited Members

- 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>>>
 

Detailed Description

Class that represents an entry (i.e. an import) in the delay import table (DelayImport).

It extends the LIEF::Symbol generic class that exposes the LIEF::Symbol::name and LIEF::Symbol::value API.

The meaning of LIEF::Symbol::value for this PE object is the address (as an RVA) in the IAT where the resolution should take place.

Constructor & Destructor Documentation

◆ DelayImportEntry() [1/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( )
default

◆ DelayImportEntry() [2/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( uint64_t data,
PE_TYPE type )
inline

◆ DelayImportEntry() [3/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( const DelayImportEntry & )
default

◆ DelayImportEntry() [4/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( DelayImportEntry && )
defaultnoexcept

◆ ~DelayImportEntry()

LIEF::PE::DelayImportEntry::~DelayImportEntry ( )
overridedefault

Member Function Documentation

◆ accept()

void LIEF::PE::DelayImportEntry::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ data() [1/2]

uint64_t LIEF::PE::DelayImportEntry::data ( ) const
inline

Raw value.

◆ data() [2/2]

void LIEF::PE::DelayImportEntry::data ( uint64_t data)
inline

◆ demangled_name()

std::string LIEF::PE::DelayImportEntry::demangled_name ( ) const

Demangled representation of the symbol or an empty string if it can't be demangled.

◆ hint()

uint16_t LIEF::PE::DelayImportEntry::hint ( ) const
inline

Index into the Export::entries that is used to speed-up the symbol resolution.

◆ hint_name_rva()

uint64_t LIEF::PE::DelayImportEntry::hint_name_rva ( ) const
inline

◆ iat_value()

uint64_t LIEF::PE::DelayImportEntry::iat_value ( ) const
inline

Value of the current entry in the Import Address Table.

◆ is_ordinal()

bool LIEF::PE::DelayImportEntry::is_ordinal ( ) const

True if it is an import by ordinal

◆ operator=() [1/2]

DelayImportEntry & LIEF::PE::DelayImportEntry::operator= ( const DelayImportEntry & )
default

◆ operator=() [2/2]

DelayImportEntry & LIEF::PE::DelayImportEntry::operator= ( DelayImportEntry && )
defaultnoexcept

◆ ordinal()

uint16_t LIEF::PE::DelayImportEntry::ordinal ( ) const
inline

The ordinal value.


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