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
OMF::OMF86Format::ExternalName Class Reference

An external name declaration, appearing in an EXTDEF, LEXTDEF, COMDEF, LCOMDEF or CEXTDEF record. More...

#include <omf.h>

Public Types

enum  common_type_t { External , SegmentIndexCommon , FarCommon = 0x61 , NearCommon = 0x62 }
 Type of a common symbol. More...
 

Public Member Functions

uint16_t GetExternalNameSize (OMF86Format *omf) const
 Returns the number of bytes required to write this entry.
 
void WriteExternalName (OMF86Format *omf, ChecksumWriter &wr) const
 Writes this entry to file.
 
void CalculateValues (OMF86Format *omf, Module *mod)
 
void ResolveReferences (OMF86Format *omf, Module *mod)
 

Static Public Member Functions

static uint32_t ReadLength (OMF86Format *omf, Linker::Reader &rd)
 Read a length value, for near or far elements.
 
static uint32_t GetLengthSize (OMF86Format *omf, uint32_t length)
 Determines the number of bytes needed for a length value, for near or far elements.
 
static void WriteLength (OMF86Format *omf, ChecksumWriter &wr, uint32_t length)
 Writes a length value, for near or far elements.
 
static ExternalName ReadExternalName (OMF86Format *omf, Linker::Reader &rd, bool local)
 Parse an EXTDEF or LEXTDEF entry.
 
static ExternalName ReadCommonName (OMF86Format *omf, Linker::Reader &rd, bool local)
 Parse a COMDEF or LCOMDEF entry.
 
static ExternalName ReadComdatExternalName (OMF86Format *omf, Linker::Reader &rd)
 Parse a CEXTDEF entry.
 

Public Attributes

bool local = false
 Signals if a symbol is local.
 
bool name_is_index = false
 Set if name.index contains a valid value, for CEXTDEF entries.
 
NameIndex name
 Name of the symbol.
 
TypeIndex type
 
common_type_t common_type = External
 
union { 
 
   uint8_t   segment_index 
 
   struct { 
 
      uint32_t   length 
 
   }   near 
 
   struct { 
 
      uint32_t   number 
 
      uint32_t   element_size 
 
   }   far 
 
value 
 

Detailed Description

An external name declaration, appearing in an EXTDEF, LEXTDEF, COMDEF, LCOMDEF or CEXTDEF record.

Member Enumeration Documentation

◆ common_type_t

Type of a common symbol.

Enumerator
External 

Not a common symbol, appears in an EXTDEF, LEXTDEF or CEXTDEF record.

SegmentIndexCommon 

Borland segment index.

FarCommon 

Far variable.

NearCommon 

Near variable.


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