|
::EndianType | GetEndianType () const |
|
offset_t | ReadUnsigned (Linker::Reader &rd) const |
| Reads a number the size of number_length.
|
|
void | WriteWord (Linker::Writer &wr, offset_t value) const |
| Writes a number the size of number_length.
|
|
std::string | ReadLabel (Linker::Reader &rd) const |
| Reads a string the size of label_length, or variable length if it is 0.
|
|
void | WriteLabel (Linker::Writer &wr, std::string text) const |
| Writes a string the size of label_length, or variable length if it is 0.
|
|
offset_t | CalculateValues (uint16_t segment_number, offset_t current_offset) |
| Calculates the values needed to generate segment images.
|
|
void | ReadFile (Linker::Reader &rd) |
|
void | WriteFile (Linker::Writer &wr) const |
|
void | Dump (Dumper::Dumper &dump, const OMFFormat &omf, unsigned segment_index) const |
|
size_t | ReadData (size_t bytes, offset_t offset, void *buffer) const |
|
offset_t | ReadUnsigned (size_t bytes, offset_t offset) const |
|
std::unique_ptr< Expression > | ReadExpression (Linker::Reader &rd) |
|
std::unique_ptr< Record > | ReadRecord (Linker::Reader &rd) |
|
std::unique_ptr< Record > | makeEND () |
|
std::unique_ptr< Record > | makeCONST (std::shared_ptr< Linker::Image > image) |
|
std::unique_ptr< Record > | makeCONST (size_t length) |
|
std::unique_ptr< Record > | makeALIGN (offset_t align=0) |
|
std::unique_ptr< Record > | makeORG (offset_t value=0) |
|
std::unique_ptr< Record > | makeRELOC (uint8_t size, uint8_t shift, offset_t source, offset_t target) |
|
std::unique_ptr< Record > | makeRELOC () |
|
std::unique_ptr< Record > | makeINTERSEG (uint8_t size, uint8_t shift, offset_t source, uint16_t file_number, uint16_t segment_number, offset_t target) |
|
std::unique_ptr< Record > | makeINTERSEG () |
|
std::unique_ptr< Record > | makeUSING (std::string name="") |
|
std::unique_ptr< Record > | makeSTRONG (std::string name="") |
|
std::unique_ptr< Record > | makeGLOBAL () |
|
std::unique_ptr< Record > | makeGLOBAL (std::string name, uint16_t line_length, int operation, uint16_t private_flag) |
|
std::unique_ptr< Record > | makeGEQU () |
|
std::unique_ptr< Record > | makeGEQU (std::string name, uint16_t line_length, int operation, uint16_t private_flag, std::unique_ptr< Expression > expression) |
|
std::unique_ptr< Record > | makeMEM () |
|
std::unique_ptr< Record > | makeMEM (offset_t start, offset_t end) |
|
std::unique_ptr< Record > | makeEXPR () |
|
std::unique_ptr< Record > | makeEXPR (uint8_t size, std::unique_ptr< Expression > expression) |
|
std::unique_ptr< Record > | makeZEXPR () |
|
std::unique_ptr< Record > | makeZEXPR (uint8_t size, std::unique_ptr< Expression > expression) |
|
std::unique_ptr< Record > | makeBEXPR () |
|
std::unique_ptr< Record > | makeBEXPR (uint8_t size, std::unique_ptr< Expression > expression) |
|
std::unique_ptr< Record > | makeRELEXPR () |
|
std::unique_ptr< Record > | makeRELEXPR (uint8_t size, offset_t origin, std::unique_ptr< Expression > expression) |
|
std::unique_ptr< Record > | makeLOCAL () |
|
std::unique_ptr< Record > | makeLOCAL (std::string name, uint16_t line_length, int operation, uint16_t private_flag) |
|
std::unique_ptr< Record > | makeEQU () |
|
std::unique_ptr< Record > | makeEQU (std::string name, uint16_t line_length, int operation, uint16_t private_flag, std::unique_ptr< Expression > expression) |
|
std::unique_ptr< Record > | makeDS (offset_t count=0) |
|
std::unique_ptr< Record > | makeLCONST () |
|
std::unique_ptr< Record > | makeLCONST (std::shared_ptr< Linker::Image > image) |
|
std::unique_ptr< Record > | makeLEXPR () |
|
std::unique_ptr< Record > | makeLEXPR (uint8_t size, std::unique_ptr< Expression > expression) |
|
std::unique_ptr< Record > | makeENTRY () |
|
std::unique_ptr< Record > | makeENTRY (uint16_t segment_number, offset_t location, std::string name) |
|
std::unique_ptr< Record > | makecRELOC (uint8_t size, uint8_t shift, uint16_t source, uint16_t target) |
|
std::unique_ptr< Record > | makecRELOC () |
|
std::unique_ptr< Record > | makecINTERSEG (uint8_t size, uint8_t shift, uint16_t source, uint16_t segment_number, uint16_t target) |
|
std::unique_ptr< Record > | makecINTERSEG () |
|
std::unique_ptr< Record > | makeSUPER (SuperCompactRecord::super_record_type super_type=SuperCompactRecord::super_record_type(0)) |
|
|
offset_t | segment_offset = 0 |
| Offset of segment within file.
|
|
offset_t | total_segment_size = 0 |
| (BYTECNT/BLKCNT) Total size of the segment, including the header, as stored in file
|
|
offset_t | bss_size = 0 |
| (RESSPC) Additional zeroes to append to segment
|
|
offset_t | total_size = 0 |
| (LENGTH) Total size of segment when loaded into memory, including the additional zeroes
|
|
segment_kind | kind = SEG_CODE |
| (KIND) Segment type
|
|
uint16_t | flags = 0 |
| (KIND) Segment flags
|
|
uint8_t | label_length = 0 |
| (LABLEN) Label length, or 0 for variable length labels
|
|
uint8_t | number_length = 4 |
| (NUMLEN) Number length, must be 4
|
|
omf_version | version = OMF_VERSION_2 |
| (VERSION, REVISION) OMF file format version
|
|
offset_t | bank_size = 0 |
| (BANKSIZE) Maximum bank size of segment
|
|
offset_t | base_address = 0 |
| (ORG) Base address of segment
|
|
offset_t | align = 0x100 |
| (ALIGN) Segment alignment
|
|
uint8_t | endiantype = 0 |
| (NUMSEX) Endianness, must be 0 for LittleEndian
|
|
uint8_t | language_card_bank = 0 |
| (LCBANK) Language card bank
|
|
uint16_t | segment_number = 0 |
| (SEGNUM) Segment number (not present in version 0)
|
|
offset_t | entry = 0 |
| (ENTRY) Entry point (not present in version 0)
|
|
offset_t | segment_name_offset = 0x2C |
| (DISPNAME) Offset to linker_segment_name (LOADNAME), (not present in version 0)
|
|
offset_t | segment_data_offset = 0 |
| (DISPDATA) Offset to segment data, typically appearing after segment_name (not present in version 0)
|
|
offset_t | temp_org = 0 |
| (tempOrg) (only version 2.1, optional)
|
|
std::string | linker_segment_name |
| (LOADNAME) Name of segment according to linker
|
|
std::string | segment_name |
| (LOADNAME) Name of segment
|
|
std::vector< std::unique_ptr< Record > > | records |
|