RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
All Classes Functions Variables Enumerations Enumerator Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Microsoft::NEFormat::Entry Class Reference

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

#include <neexe.h>

Public Types

enum  entry_type { Unused , Fixed , Movable }
 This field represents the type of the entry. More...
 
enum  flag_type : uint8_t { Exported = 1 , SharedData = 2 }
 Flags present in an entry. More...
 
enum  export_type { NotExported , ExportByName , ExportByOrdinal }
 
enum  { WordCountShift = 3 , INT_3Fh = 0x3FCD }
 

Public Member Functions

 Entry (unsigned type, uint8_t segment, unsigned flags, uint16_t offset)
 
offset_t GetEntrySize () const
 Returns the size of an entry as stored in the file, without the first two bytes of the bundle.
 
uint8_t GetIndicatorByte () const
 Retrieves the segment indicator byte. For Fixed entries, this the same as the segment number.
 
void WriteEntry (Linker::Writer &wr) const
 Writes an entry within a bundle.
 

Static Public Member Functions

static Entry ReadEntry (Linker::Reader &rd, uint8_t indicator_byte)
 Reads an entry within a bundle.
 

Public Attributes

entry_type type = Unused
 The type of entry, based on the first byte in an entry bundle.
 
uint8_t segment = 0
 The number of the segment, 1 based.
 
flag_type flags = flag_type(0)
 
uint16_t offset = 0
 Offset within the segment.
 
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.
 
bool same_bundle = false
 Convenience field to signify this entry is part of the same bundle as the previous one.
 

Detailed Description

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

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
INT_3Fh 

Byte code for interrupt call that must be placed in the entry field.

◆ entry_type

This field represents the type of the entry.

Enumerator
Unused 

The entry is unused, the other fields are meaningless.

Fixed 

The entry references a fixed segment.

Movable 

The entry references a movable segment.

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

◆ flag_type

Flags present in an entry.

Enumerator
Exported 

Set if the entry is exported.

SharedData 

Set if the data segment used by the entry is global, used in SINGLEDATA modules (libraries)


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