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

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< DataBlockReadEnumeratedDataBlock (OMF86Format *omf, Linker::Reader &rd, uint16_t data_length)
 Parses the contents of an enumerated record.
 
static std::shared_ptr< DataBlockReadIteratedDataBlock (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, Blockscontent
 The actual contents of the block, whether iterated or enumerated.
 

Detailed Description

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.


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