RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Microsoft::LEFormat::Entry Class Reference

Represents an entry into the binary, typically DLL exported procedures. More...

#include <leexe.h>

Public Types

enum  entry_type {
  Unused , Entry16 , CallGate286 , Entry32 ,
  Forwarder
}
 
enum  flag_type { Exported = 1 , SharedData = 2 , ForwarderByOrdinal = 1 }
 
enum  export_type { NotExported , ExportByName , ExportByOrdinal }
 

Public Member Functions

 Entry (unsigned type)
 
 Entry (unsigned type, uint16_t object, unsigned flags, uint32_t offset)
 
bool SameBundle (const Entry &other) const
 
offset_t GetEntryHeadSize () const
 
offset_t GetEntryBodySize () const
 
void WriteEntryHead (const std::shared_ptr< Linker::Writer > &wr) const
 
void WriteEntryBody (const std::shared_ptr< Linker::Writer > &wr) const
 

Static Public Member Functions

static Entry ReadEntryHead (const std::shared_ptr< Linker::Reader > &rd, uint8_t type)
 
static Entry ReadEntry (const std::shared_ptr< Linker::Reader > &rd, uint8_t type, LEFormat::Entry &head)
 

Public Attributes

entry_type type = Unused
 
uint16_t object = 0
 
flag_type flags = flag_type(0)
 
uint32_t offset = 0
 
export_type export_state = NotExported
 Whether the entry is exported. This is not actually stored in the entry table and its value is ignored during program generation.
 
std::string entry_name
 The name of an exported entry. This is not actually stored in the entry table and its value is ignored during program generation.
 
std::string module_name
 Convenience field that stores the module name for a forwarder entry, not used for generation.
 
std::string import_name
 Convenience field that stores the imported procedure name for a forwarder entry, if imported by name, also the name for an exported entry, not used for generation.
 
bool same_bundle = false
 

Detailed Description

Represents an entry into the binary, typically DLL exported procedures.

Member Enumeration Documentation

◆ export_type

Enumerator
NotExported 

The entry is not exported, the Exported bit is not set.

ExportByName 

The entry is exported by name, it is referenced in the resident name table.

ExportByOrdinal 

The entry is exported by ordinal, it is referenced in the nonresident name table.


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