namespace BurnOutSharp.Models.LinearExecutable { /// /// The `LINEAR` executable-file header contains information that the loader requires for /// segmented executable files. This information includes the linker version number, data /// specified by linker, data specified by resource compiler, tables of segment data, tables /// of resource data, and so on. The following illustrations shows the LE file header: /// /// /// public class Executable { /// /// MS-DOS executable header /// public MSDOS.ExecutableHeader Stub { get; set; } /// /// Information block /// public InformationBlock InformationBlock { get; set; } /// /// Object table /// public ObjectTableEntry[] ObjectTable { get; set; } /// /// Object page table /// public ObjectPageTableEntry[] ObjectPageTable { get; set; } // TODO: Object iterate data map table [Does this exist?] /// /// Resource table /// public ResourceTableEntry[] ResourceTable { get; set; } /// /// Resident Name table /// public ResidentNameTableEntry[] ResidentNameTable { get; set; } /// /// Entry table /// public EntryTableEntry[] EntryTable { get; set; } /// /// Module format directives table (optional) /// public ModuleFormatDirectivesTableEntry[] ModuleFormatDirectivesTable { get; set; } /// /// Verify record directive table (optional) /// public VerifyRecordDirectiveTableEntry[] VerifyRecordDirectiveTable { get; set; } /// /// Per-Page checksum table /// public PerPageChecksumTableEntry[] PerPageChecksumTable { get; set; } /// /// Fix-up page table /// public FixupPageTableEntry[] FixupPageTable { get; set; } // TODO: Fix-up record table /// /// Import module name table /// public ImportModuleNameTableEntry[] ImportModuleNameTable { get; set; } /// /// Import procedure name table /// public ImportModuleProcedureNameTableEntry[] ImportModuleProcedureNameTable { get; set; } // TODO: Preload Pages // TODO: Demand Load Pages // TODO: Iterated Pages /// /// Non-Resident Name table /// public NonResidentNameTableEntry[] NonResidentNameTable { get; set; } // TODO: Non-resident directives data (Undefined) /// /// Debug information /// public DebugInformation DebugInformation { get; set; } } }