RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Amiga::HunkFormat::Module Class Reference

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< Blockstart_block
 For an object unit, HUNK_UNIT, for an executable node, HUNK_HEADER, for a new type library, HUNK_LIB.
 
std::vector< Hunkhunks
 The hunks in this module. Hunks in a library are stored inside a HUNK_LIB.
 
std::shared_ptr< Blockend_block
 A final block before the start of the next module.
 

Detailed Description

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.

Member Data Documentation

◆ end_block

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.


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