RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Microsoft::NEFormat::Segment Class Reference

Represents an NE segment as stored in the segment table and segment data. More...

#include <neexe.h>

Inheritance diagram for Microsoft::NEFormat::Segment:
Microsoft::NEFormat::Resource

Classes

class  Relocation
 

Public Types

enum  flag_type : uint16_t {
  Data = 1 , Code = 0 , Allocated = 2 , Loaded = 4 ,
  Iterated = 8 , Movable = 0x10 , Fixed = 0 , Shareable = 0x20 ,
  Preload = 0x40 , LoadOnCall = 0 , ExecuteOnly = 0x80|Code , ReadOnly = 0x80|Data ,
  Relocations = 0x0100 , DebugInfo = 0x0200 , Discardable = 0x1000
}
 
enum  { PrivilegeLevelShift = 10 }
 

Public Member Functions

 Segment (std::shared_ptr< Linker::Segment > segment, unsigned flags)
 
void AddRelocation (const Relocation &rel)
 
void Dump (Dumper::Dumper &dump, unsigned index, bool isos2) const
 

Public Attributes

std::shared_ptr< Linker::Imageimage
 
offset_t data_offset = 0
 
offset_t image_size = 0
 Size of segment as stored in the file, only used during reading.
 
flag_type flags = flag_type(0)
 
uint32_t total_size = 0
 Size of segment as stored in memory.
 
uint16_t movable_entry_index = 0
 Entry number for movable segments (field not present in segment table)
 
std::vector< Relocationrelocations
 
std::map< uint16_t, Relocationrelocations_map
 Used internally during output generation.
 

Detailed Description

Represents an NE segment as stored in the segment table and segment data.

Member Data Documentation

◆ movable_entry_index

uint16_t Microsoft::NEFormat::Segment::movable_entry_index = 0

Entry number for movable segments (field not present in segment table)

When generating a file, for movable segments, each relocation targetting it needs one and only one entry


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