|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
Public Types | |
| enum | block_type_t : uint8_t { ModuleBlock = 0 , DoBlock = 1 , ProcedureBlock = 2 , EndModuleBlock = 3 , EndDoBlock = 4 , EndProcedureBlock = 5 } |
Public Member Functions | |
| ScopeDefinitionRecord (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 ®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 | |
| block_type_t | block_type |
| std::string | name |
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. | |