|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
A header record for an R-Module, used for RHEADR (not part of TIS OMF) More...
#include <omf.h>
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 ®ion, 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 | |
| Module * | mod |
| 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. | |
A header record for an R-Module, used for RHEADR (not part of TIS OMF)