|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
Represents a sequence of data, with optional repeated parts, used by RelocatableDataRecord, PhysicalDataRecord and LogicalDataRecord. More...
#include <omf.h>
Public Types | |
| typedef std::vector< std::shared_ptr< DataBlock > > | Blocks |
| If the contents are a sequence of blocks (iterated only) | |
| typedef std::vector< uint8_t > | Data |
| If the contents are a sequence of bytes (either iterated or enumerated) | |
Public Member Functions | |
| uint16_t | GetEnumeratedDataBlockSize (OMF86Format *omf) const |
| Gets the size of an encoded enumerated record in bytes. | |
| void | WriteEnumeratedDataBlock (OMF86Format *omf, ChecksumWriter &wr) const |
| Writes the contents of an enumerated record into a file. | |
| uint16_t | GetIteratedDataBlockSize (OMF86Format *omf, bool is32bit) const |
| Gets the size of an encoded iterated record in bytes. | |
| void | WriteIteratedDataBlock (OMF86Format *omf, ChecksumWriter &wr, bool is32bit) const |
| Writes the contents of an iterated record into a file. | |
Static Public Member Functions | |
| static std::shared_ptr< DataBlock > | ReadEnumeratedDataBlock (OMF86Format *omf, Linker::Reader &rd, uint16_t data_length) |
| Parses the contents of an enumerated record. | |
| static std::shared_ptr< DataBlock > | ReadIteratedDataBlock (OMF86Format *omf, Linker::Reader &rd, bool is32bit) |
| Parses the contents of an iterated record. | |
Public Attributes | |
| uint16_t | repeat_count |
| Number of times the data should be appear. Should be 1 for enumerated data. | |
| std::variant< Data, Blocks > | content |
| The actual contents of the block, whether iterated or enumerated. | |
Represents a sequence of data, with optional repeated parts, used by RelocatableDataRecord, PhysicalDataRecord and LogicalDataRecord.
Data blocks are divided into two types: enumerated or iterated. Enumerated blocks are just a sequence of bytes. Iterated blocks consist of a collection of blocks that get repeated a number of times.