RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
Module is a program unit containing several hunks. More...
#include <hunk.h>
Public Member Functions | |
bool | IsExecutable () const |
offset_t | ImageSize () const |
void | ReadFile (Linker::Reader &rd, std::shared_ptr< Block > &next_block, offset_t end) |
void | WriteFile (Linker::Writer &wr) const |
void | Dump (Dumper::Dumper &dump, offset_t current_offset, unsigned index) const |
offset_t | GetHunkSizeInHeader (uint32_t index) const |
If a header block is available, checks the associated hunk size in the header, returns 0 otherwise. | |
Public Attributes | |
std::shared_ptr< Block > | start_block |
For an object unit, HUNK_UNIT, for an executable node, HUNK_HEADER, for a new type library, HUNK_LIB. | |
std::vector< Hunk > | hunks |
The hunks in this module. Hunks in a library are stored inside a HUNK_LIB. | |
std::shared_ptr< Block > | end_block |
A final block before the start of the next module. | |
Module is a program unit containing several hunks.
In this representation, a module will begin with a starting block, contain several hunks, and optionally be terminated by an ending block. This permits storing object files, libraries and executable files with overlays in a similar structure.
std::shared_ptr<Block> Amiga::HunkFormat::Module::end_block |
A final block before the start of the next module.
An executable node can optionally be followed by a HUNK_OVERLAY. Every overlay is stored as a separate module, and two overlays are terminated by a HUNK_BREAK. A library must be terminated by a HUNK_INDEX.