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

A header record for an R-Module, used for RHEADR (not part of TIS OMF) More...

#include <omf.h>

Inheritance diagram for OMF::OMF86Format::RModuleHeaderRecord:
OMF::OMF86Format::ModuleHeaderRecord OMF::OMFFormat::Record< RecordTypeByte, FormatType, ModuleType >

Public Types

enum  module_type_t : uint8_t { AbsoluteModule = 0 , RelocatableModule = 1 , PICModule = 2 , LTLModule = 3 }
 Represents the type of the module.
 

Public Member Functions

 RModuleHeaderRecord (record_type_t record_type=record_type_t(0))
 
void ReadRecordContents (OMF86Format *omf, Module *mod, Linker::Reader &rd) override
 
uint16_t GetRecordSize (OMF86Format *omf, Module *mod) const override
 
void WriteRecordContents (OMF86Format *omf, Module *mod, ChecksumWriter &wr) const override
 
- Public Member Functions inherited from OMF::OMF86Format::ModuleHeaderRecord
 ModuleHeaderRecord (record_type_t record_type=record_type_t(0))
 
void ReadRecordContents (OMF86Format *omf, Module *mod, Linker::Reader &rd) override
 
uint16_t GetRecordSize (OMF86Format *omf, Module *mod) const override
 
void WriteRecordContents (OMF86Format *omf, Module *mod, ChecksumWriter &wr) const 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

Modulemod
 The module object this record appears in.
 
module_type_t module_type
 The type of the module.
 
uint16_t segment_record_count
 Number of segment definition records in module.
 
uint16_t group_record_count
 Number of group definition records in module.
 
uint16_t overlay_record_count
 Number of overlay definition records in module.
 
uint32_t overlay_record_offset
 Offset to the first overlay definition record from the start of the file or 0.
 
uint32_t static_size
 Total size of LTL segments.
 
uint32_t maximum_static_size
 Maximum size needed for all LTL segments.
 
uint32_t dynamic_storage
 Memory size to allocate on load.
 
uint32_t maximum_dynamic_storage
 Maximum memory size to allocate on load.
 
- Public Attributes inherited from OMF::OMF86Format::ModuleHeaderRecord
std::string name
 The name of the record.
 
- 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.
 

Detailed Description

A header record for an R-Module, used for RHEADR (not part of TIS OMF)


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