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

Class which represents a PE Export entry (cf. PE::Export). More...

#include <ExportEntry.hpp>

Inheritance diagram for LIEF::PE::ExportEntry:
Collaboration diagram for LIEF::PE::ExportEntry:

Classes

struct  forward_information_t

Public Member Functions

 ExportEntry ()=default
 ExportEntry (uint32_t address, bool is_extern, uint16_t ordinal, uint32_t function_rva)
 ExportEntry (std::string name, uint32_t rva)
 ExportEntry (const ExportEntry &)=default
ExportEntryoperator= (const ExportEntry &)=default
 ExportEntry (ExportEntry &&)=default
ExportEntryoperator= (ExportEntry &&)=default
 ~ExportEntry () override=default
std::string demangled_name () const
 Demangled representation of the symbol or an empty string if it can't be demangled.
uint16_t ordinal () const
 Ordinal value associated with this exported entry.
uint32_t address () const
 Address of the current exported function in the DLL.
bool is_extern () const
bool is_forwarded () const
forward_information_t forward_information () const
uint32_t function_rva () const
void ordinal (uint16_t ordinal)
void address (uint32_t address)
void is_extern (bool is_extern)
uint64_t value () const override
void value (uint64_t value) override
void set_forward_info (std::string lib, std::string function)
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 (Symbol &&)=default
Symboloperator= (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 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)
 Object (Object &&other) noexcept=default
Objectoperator= (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 ()

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 which represents a PE Export entry (cf. PE::Export).

Constructor & Destructor Documentation

◆ ExportEntry() [1/5]

LIEF::PE::ExportEntry::ExportEntry ( )
default

◆ ExportEntry() [2/5]

LIEF::PE::ExportEntry::ExportEntry ( uint32_t address,
bool is_extern,
uint16_t ordinal,
uint32_t function_rva )
inline

◆ ExportEntry() [3/5]

LIEF::PE::ExportEntry::ExportEntry ( std::string name,
uint32_t rva )
inline

◆ ExportEntry() [4/5]

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

References ExportEntry().

◆ ExportEntry() [5/5]

LIEF::PE::ExportEntry::ExportEntry ( ExportEntry && )
default

References ExportEntry().

◆ ~ExportEntry()

LIEF::PE::ExportEntry::~ExportEntry ( )
overridedefault

Member Function Documentation

◆ accept()

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

Implements LIEF::Object.

◆ address() [1/2]

uint32_t LIEF::PE::ExportEntry::address ( ) const
inline

Address of the current exported function in the DLL.

Warning
If this entry is external to the DLL then it returns 0 and the external address is returned by function_rva()

Referenced by address(), ExportEntry(), value(), and value().

◆ address() [2/2]

void LIEF::PE::ExportEntry::address ( uint32_t address)
inline

References address().

◆ demangled_name()

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

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

◆ forward_information()

forward_information_t LIEF::PE::ExportEntry::forward_information ( ) const
inline

References is_forwarded().

◆ function_rva()

uint32_t LIEF::PE::ExportEntry::function_rva ( ) const
inline

Referenced by ExportEntry().

◆ is_extern() [1/2]

bool LIEF::PE::ExportEntry::is_extern ( ) const
inline

Referenced by ExportEntry(), and is_extern().

◆ is_extern() [2/2]

void LIEF::PE::ExportEntry::is_extern ( bool is_extern)
inline

References is_extern().

◆ is_forwarded()

bool LIEF::PE::ExportEntry::is_forwarded ( ) const
inline

Referenced by forward_information().

◆ operator=() [1/2]

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

References ExportEntry().

◆ operator=() [2/2]

ExportEntry & LIEF::PE::ExportEntry::operator= ( ExportEntry && )
default

References ExportEntry().

◆ ordinal() [1/2]

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

Ordinal value associated with this exported entry.

This value is computed as the index of this entry in the address table plus the ordinal base (Export::ordinal_base)

Referenced by ExportEntry(), and ordinal().

◆ ordinal() [2/2]

void LIEF::PE::ExportEntry::ordinal ( uint16_t ordinal)
inline

References ordinal().

◆ set_forward_info()

void LIEF::PE::ExportEntry::set_forward_info ( std::string lib,
std::string function )
inline

◆ value() [1/2]

uint64_t LIEF::PE::ExportEntry::value ( ) const
inlineoverridevirtual

Reimplemented from LIEF::Symbol.

References address().

Referenced by value().

◆ value() [2/2]

void LIEF::PE::ExportEntry::value ( uint64_t value)
inlineoverridevirtual

Reimplemented from LIEF::Symbol.

References address(), and value().


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