9#include "../linker/module.h"
10#include "../linker/segment.h"
11#include "../linker/segment_manager.h"
12#include "../linker/writer.h"
13#include "../dumper/dumper.h"
15namespace DigitalResearch
111 std::shared_ptr<Linker::Image>
image =
nullptr;
115 virtual void Clear();
138 std::string GetDefaultName()
const;
163 bool operator<(
const relocation_source& other)
const;
172 uint16_t paragraph = 0;
180 Relocation(uint8_t source, uint16_t paragraph, uint16_t offset, uint8_t target)
181 : source(source), paragraph(paragraph), offset(offset), target(target)
186 : source(source.segment), paragraph(source.offset >> 4), offset(source.offset & 0xF), target(target)
190 operator bool()
const;
217 static constexpr uint16_t RSX_TERMINATE = 0xFFFF;
218 static constexpr uint16_t RSX_DYNAMIC = 0x0000;
234 offset_t GetFullFileSize()
const;
235 void SetOffset(offset_t new_offset);
322 void Clear()
override;
364 std::vector<ldt_descriptor> ldt;
366 void Clear()
override;
432 void Clear()
override;
483 uint16_t GetRelocationSizeParas()
const;
485 size_t CountValidGroups();
487 number_t FindSegmentGroup(
unsigned group)
const;
489 void CheckValidSegmentGroup(
unsigned group);
491 bool IsFastLoadFormat()
const;
497 offset_t MeasureRelocations();
506 offset_t GetFullFileSize()
const;
538 unsigned FormatAdditionalSectionFlags(std::string section_name)
const override;
540 std::vector<std::shared_ptr<Linker::Segment>>& Segments();
542 unsigned GetSegmentNumber(std::shared_ptr<Linker::Segment> segment);
544 void SetModel(std::string model)
override;
546 void SetOptions(std::map<std::string, std::string>& options)
override;
An abstract interface that separates structure and presentation of the data inside a file.
Definition dumper.h:586
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:24
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:16
A helper class to collect sections into segments.
Definition segment_manager.h:32
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15