using System.Runtime.InteropServices; namespace BurnOutSharp.Models.LinearExecutable { /// /// The Fixup Record Table contains entries for all fixups in the linear EXE module. /// The fixup records for a logical page are grouped together and kept in sorted /// order by logical page number. The fixups for each page are further sorted such /// that all external fixups and internal selector/pointer fixups come before /// internal non-selector/non-pointer fixups. This allows the loader to ignore /// internal fixups if the loader is able to load all objects at the addresses /// specified in the object table. /// /// /// [StructLayout(LayoutKind.Sequential)] public class FixupRecordTableEntry { /// /// Source type. /// /// /// The source type specifies the size and type of the fixup to be performed /// on the fixup source. /// public FixupRecordSourceType SourceType; /// /// Target Flags. /// /// /// The target flags specify how the target information is interpreted. /// public FixupRecordTargetFlags TargetFlags; // TODO: The shape of the data relies on the source and flags from here // SRCOFF = DW/CNT = DB Source offset or source offset list count. } }