RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
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 | |
An external name declaration, appearing in an EXTDEF, LEXTDEF, COMDEF, LCOMDEF or CEXTDEF record.