RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
OMF::OMF51Format::FixupRecord Class Reference
Inheritance diagram for OMF::OMF51Format::FixupRecord:
OMF::OMFFormat::Record< RecordTypeByte, FormatType, ModuleType >

Classes

class  Fixup
 

Public Types

enum  relocation_type_t : uint8_t {
  RelocationLow8 = 0 , RelocationByte8 = 1 , RelocationRelative8 = 2 , RelocationHigh8 = 3 ,
  RelocationWord16 = 4 , RelocationAbsolute11 = 5 , RelocationBit7 = 6 , RelocationConv7 = 7
}
 
enum  reference_type_t : uint8_t { ReferenceSegmentBase = 0 , ReferenceSegmentStart = 1 , ReferenceExternal = 2 }
 

Public Member Functions

 FixupRecord (record_type_t record_type=record_type_t(0))
 
void ReadRecordContents (OMF51Format *omf, Module *mod, Linker::Reader &rd) override
 
uint16_t GetRecordSize (OMF51Format *omf, Module *mod) const override
 
void WriteRecordContents (OMF51Format *omf, Module *mod, ChecksumWriter &wr) const override
 
void CalculateValues (OMF51Format *omf, Module *mod) override
 
void ResolveReferences (OMF51Format *omf, Module *mod) override
 
- Public Member Functions inherited from OMF::OMFFormat::Record< RecordTypeByte, FormatType, ModuleType >
 Record (RecordTypeByte record_type=RecordTypeByte(0))
 
offset_t RecordEnd () const
 
virtual void ReadRecordContents (FormatType *omf, ModuleType *mod, Linker::Reader &rd)=0
 Reads the record contents, except for the type, length and checksum.
 
virtual uint16_t GetRecordSize (FormatType *omf, ModuleType *mod) const =0
 Calculates the required bytes to write the record, might be less than record_length.
 
virtual void WriteRecordContents (FormatType *omf, ModuleType *mod, ChecksumWriter &wr) const =0
 Writes the record contents, except for the type, length and checksum.
 
virtual void WriteRecord (FormatType *omf, ModuleType *mod, Linker::Writer &wr) const
 Writes the full record.
 
virtual void CalculateValues (FormatType *omf, ModuleType *mod)
 Updates all fields that will be used for writing an OMF module, should be called before output.
 
virtual void ResolveReferences (FormatType *omf, ModuleType *mod)
 Resolves any fields read from an OMF module, should be called after inpnut.
 
virtual void DumpAddFields (Dumper::Dumper &dump, Dumper::Region &region, const FormatType *omf, const ModuleType *mod, size_t record_index) const
 
virtual void Dump (Dumper::Dumper &dump, const FormatType *omf, const ModuleType *mod, size_t record_index) const
 
bool Is32Bit (FormatType *omf) const
 Records are 32-bit if the least significant bit of their record type is set (only meaningful for OMF86Format)
 
size_t GetOffsetSize (FormatType *omf) const
 The number of bytes in an offset appearing inside the record, 2 for 16-bit records, 4 for 32-bit records (only meaningful for OMF86Format)
 

Public Attributes

std::vector< Fixupfixups
 
- Public Attributes inherited from OMF::OMFFormat::Record< RecordTypeByte, FormatType, ModuleType >
offset_t record_offset
 Offset of record within the file.
 
uint16_t record_length
 Length of record body file, excluding the type byte and 2-byte length field.
 
RecordTypeByte record_type
 A byte value identifying the type of record.
 

Member Enumeration Documentation

◆ reference_type_t

Enumerator
ReferenceSegmentBase 

The starting address of the segment.

ReferenceSegmentStart 

The starting address of the portion of the segment in the file.

ReferenceExternal 

An external reference.


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