From c84e49d7e22e0be9cad1164f71d9045d844785cf Mon Sep 17 00:00:00 2001 From: Binary Melodies <192211378+BinaryMelodies@users.noreply.github.com> Date: Wed, 1 Jan 2025 13:50:26 +0100 Subject: [PATCH] Commit generated doxygen files --- .gitignore | 1 - html/8bitexe_8h_source.html | 384 +++ html/annotated.html | 323 +++ html/aout_8h_source.html | 284 +++ html/as86obj_8h_source.html | 126 + html/bc_s.png | Bin 0 -> 676 bytes html/bc_sd.png | Bin 0 -> 635 bytes html/binary_8h_source.html | 237 ++ html/bwexp_8h_source.html | 320 +++ html/classAOut_1_1AOutFormat-members.html | 212 ++ html/classAOut_1_1AOutFormat.html | 839 +++++++ html/classAOut_1_1AOutFormat.png | Bin 0 -> 2803 bytes ...sAOut_1_1AOutFormat_1_1Symbol-members.html | 96 + html/classAOut_1_1AOutFormat_1_1Symbol.html | 113 + ...classAS86Obj_1_1AS86ObjFormat-members.html | 101 + html/classAS86Obj_1_1AS86ObjFormat.html | 241 ++ html/classAS86Obj_1_1AS86ObjFormat.png | Bin 0 -> 1134 bytes html/classAmiga_1_1HunkFormat-members.html | 166 ++ html/classAmiga_1_1HunkFormat.html | 652 +++++ html/classAmiga_1_1HunkFormat.png | Bin 0 -> 1644 bytes ...ssAmiga_1_1HunkFormat_1_1Hunk-members.html | 109 + html/classAmiga_1_1HunkFormat_1_1Hunk.html | 146 ++ .../classApple_1_1AFPDirectoryID-members.html | 105 + html/classApple_1_1AFPDirectoryID.html | 148 ++ html/classApple_1_1AFPDirectoryID.png | Bin 0 -> 1151 bytes html/classApple_1_1AFPFileInfo-members.html | 105 + html/classApple_1_1AFPFileInfo.html | 148 ++ html/classApple_1_1AFPFileInfo.png | Bin 0 -> 1113 bytes html/classApple_1_1AFPShortName-members.html | 105 + html/classApple_1_1AFPShortName.html | 148 ++ html/classApple_1_1AFPShortName.png | Bin 0 -> 1166 bytes ...assApple_1_1AppleSingleDouble-members.html | 179 ++ html/classApple_1_1AppleSingleDouble.html | 671 +++++ html/classApple_1_1AppleSingleDouble.png | Bin 0 -> 1370 bytes ...1_1AppleSingleDouble_1_1Entry-members.html | 104 + ...ssApple_1_1AppleSingleDouble_1_1Entry.html | 230 ++ ...assApple_1_1AppleSingleDouble_1_1Entry.png | Bin 0 -> 7177 bytes html/classApple_1_1Comment-members.html | 105 + html/classApple_1_1Comment.html | 148 ++ html/classApple_1_1Comment.png | Bin 0 -> 1106 bytes html/classApple_1_1DataFork-members.html | 105 + html/classApple_1_1DataFork.html | 148 ++ html/classApple_1_1DataFork.png | Bin 0 -> 1123 bytes html/classApple_1_1FileDatesInfo-members.html | 109 + html/classApple_1_1FileDatesInfo.html | 228 ++ html/classApple_1_1FileDatesInfo.png | Bin 0 -> 1135 bytes html/classApple_1_1FileInfo-members.html | 105 + html/classApple_1_1FileInfo.html | 164 ++ html/classApple_1_1FileInfo.png | Bin 0 -> 2720 bytes ...classApple_1_1FileInfo_1_1AUX-members.html | 109 + html/classApple_1_1FileInfo_1_1AUX.html | 229 ++ html/classApple_1_1FileInfo_1_1AUX.png | Bin 0 -> 1401 bytes ...assApple_1_1FileInfo_1_1MSDOS-members.html | 108 + html/classApple_1_1FileInfo_1_1MSDOS.html | 223 ++ html/classApple_1_1FileInfo_1_1MSDOS.png | Bin 0 -> 1429 bytes ...pple_1_1FileInfo_1_1Macintosh-members.html | 110 + html/classApple_1_1FileInfo_1_1Macintosh.html | 229 ++ html/classApple_1_1FileInfo_1_1Macintosh.png | Bin 0 -> 1447 bytes ...ssApple_1_1FileInfo_1_1ProDOS-members.html | 111 + html/classApple_1_1FileInfo_1_1ProDOS.html | 232 ++ html/classApple_1_1FileInfo_1_1ProDOS.png | Bin 0 -> 1426 bytes html/classApple_1_1FinderInfo-members.html | 109 + html/classApple_1_1FinderInfo.html | 257 ++ html/classApple_1_1FinderInfo.png | Bin 0 -> 1115 bytes html/classApple_1_1IconBW-members.html | 105 + html/classApple_1_1IconBW.html | 148 ++ html/classApple_1_1IconBW.png | Bin 0 -> 1086 bytes html/classApple_1_1IconColor-members.html | 105 + html/classApple_1_1IconColor.html | 148 ++ html/classApple_1_1IconColor.png | Bin 0 -> 1096 bytes html/classApple_1_1MSDOSFileInfo-members.html | 106 + html/classApple_1_1MSDOSFileInfo.html | 219 ++ html/classApple_1_1MSDOSFileInfo.png | Bin 0 -> 1159 bytes html/classApple_1_1MacBinary-members.html | 199 ++ html/classApple_1_1MacBinary.html | 482 ++++ html/classApple_1_1MacBinary.png | Bin 0 -> 1363 bytes html/classApple_1_1MacDriver-members.html | 135 + html/classApple_1_1MacDriver.html | 484 ++++ html/classApple_1_1MacDriver.png | Bin 0 -> 901 bytes ...assApple_1_1MacintoshFileInfo-members.html | 106 + html/classApple_1_1MacintoshFileInfo.html | 219 ++ html/classApple_1_1MacintoshFileInfo.png | Bin 0 -> 1171 bytes html/classApple_1_1OMFFormat-members.html | 151 ++ html/classApple_1_1OMFFormat.html | 378 +++ html/classApple_1_1OMFFormat.png | Bin 0 -> 1633 bytes html/classApple_1_1PEFFormat-members.html | 151 ++ html/classApple_1_1PEFFormat.html | 377 +++ html/classApple_1_1PEFFormat.png | Bin 0 -> 1610 bytes .../classApple_1_1ProDOSFileInfo-members.html | 108 + html/classApple_1_1ProDOSFileInfo.html | 225 ++ html/classApple_1_1ProDOSFileInfo.png | Bin 0 -> 1161 bytes html/classApple_1_1RealName-members.html | 106 + html/classApple_1_1RealName.html | 219 ++ html/classApple_1_1RealName.png | Bin 0 -> 1140 bytes html/classApple_1_1ResourceFork-members.html | 174 ++ html/classApple_1_1ResourceFork.html | 694 +++++ html/classApple_1_1ResourceFork.png | Bin 0 -> 2552 bytes ...1ResourceFork_1_1CodeResource-members.html | 143 ++ ...Apple_1_1ResourceFork_1_1CodeResource.html | 396 +++ ...sApple_1_1ResourceFork_1_1CodeResource.png | Bin 0 -> 1491 bytes ...sourceFork_1_1GenericResource-members.html | 128 + ...le_1_1ResourceFork_1_1GenericResource.html | 351 +++ ...ple_1_1ResourceFork_1_1GenericResource.png | Bin 0 -> 1523 bytes ...Fork_1_1JumpTableCodeResource-members.html | 133 + ...ResourceFork_1_1JumpTableCodeResource.html | 371 +++ ...1ResourceFork_1_1JumpTableCodeResource.png | Bin 0 -> 1853 bytes ...e_1_1ResourceFork_1_1Resource-members.html | 126 + ...lassApple_1_1ResourceFork_1_1Resource.html | 287 +++ ...classApple_1_1ResourceFork_1_1Resource.png | Bin 0 -> 2977 bytes html/classBinary_1_1AppleFormat-members.html | 170 ++ html/classBinary_1_1AppleFormat.html | 442 ++++ html/classBinary_1_1AppleFormat.png | Bin 0 -> 1768 bytes html/classBinary_1_1AtariFormat-members.html | 171 ++ html/classBinary_1_1AtariFormat.html | 519 ++++ html/classBinary_1_1AtariFormat.png | Bin 0 -> 1759 bytes html/classBinary_1_1BinaryFormat-members.html | 169 ++ html/classBinary_1_1BinaryFormat.html | 926 +++++++ html/classBinary_1_1BinaryFormat.png | Bin 0 -> 4755 bytes html/classBinary_1_1CPM3Format-members.html | 175 ++ html/classBinary_1_1CPM3Format.html | 513 ++++ html/classBinary_1_1CPM3Format.png | Bin 0 -> 1778 bytes ...lassBinary_1_1CommodoreFormat-members.html | 172 ++ html/classBinary_1_1CommodoreFormat.html | 484 ++++ html/classBinary_1_1CommodoreFormat.png | Bin 0 -> 1876 bytes html/classBinary_1_1FLEXFormat-members.html | 170 ++ html/classBinary_1_1FLEXFormat.html | 480 ++++ html/classBinary_1_1FLEXFormat.png | Bin 0 -> 1758 bytes html/classBinary_1_1PRLFormat-members.html | 173 ++ html/classBinary_1_1PRLFormat.html | 487 ++++ html/classBinary_1_1PRLFormat.png | Bin 0 -> 1748 bytes html/classBinary_1_1UZI280Format-members.html | 171 ++ html/classBinary_1_1UZI280Format.html | 507 ++++ html/classBinary_1_1UZI280Format.png | Bin 0 -> 1780 bytes html/classBinary_1_1UZIFormat-members.html | 171 ++ html/classBinary_1_1UZIFormat.html | 507 ++++ html/classBinary_1_1UZIFormat.png | Bin 0 -> 1770 bytes html/classBrocaD3X_1_1D3X1Format-members.html | 105 + html/classBrocaD3X_1_1D3X1Format.html | 216 ++ html/classBrocaD3X_1_1D3X1Format.png | Bin 0 -> 718 bytes html/classCOFF_1_1COFFFormat-members.html | 227 ++ html/classCOFF_1_1COFFFormat.html | 1084 ++++++++ html/classCOFF_1_1COFFFormat.png | Bin 0 -> 3303 bytes ...F_1_1COFFFormat_1_1AOutHeader-members.html | 109 + ...classCOFF_1_1COFFFormat_1_1AOutHeader.html | 325 +++ .../classCOFF_1_1COFFFormat_1_1AOutHeader.png | Bin 0 -> 1611 bytes ...OFFFormat_1_1FlexOSAOutHeader-members.html | 112 + ...OFF_1_1COFFFormat_1_1FlexOSAOutHeader.html | 401 +++ ...COFF_1_1COFFFormat_1_1FlexOSAOutHeader.png | Bin 0 -> 1169 bytes ..._1COFFFormat_1_1GNUAOutHeader-members.html | 108 + ...ssCOFF_1_1COFFFormat_1_1GNUAOutHeader.html | 303 +++ ...assCOFF_1_1COFFFormat_1_1GNUAOutHeader.png | Bin 0 -> 797 bytes ...1COFFFormat_1_1MIPSAOutHeader-members.html | 113 + ...sCOFF_1_1COFFFormat_1_1MIPSAOutHeader.html | 230 ++ ...ssCOFF_1_1COFFFormat_1_1MIPSAOutHeader.png | Bin 0 -> 1149 bytes ...1COFFFormat_1_1OptionalHeader-members.html | 99 + ...sCOFF_1_1COFFFormat_1_1OptionalHeader.html | 236 ++ ...ssCOFF_1_1COFFFormat_1_1OptionalHeader.png | Bin 0 -> 2714 bytes ...F_1_1COFFFormat_1_1Relocation-members.html | 95 + ...classCOFF_1_1COFFFormat_1_1Relocation.html | 124 + .../classCOFF_1_1COFFFormat_1_1Relocation.png | Bin 0 -> 761 bytes ...COFF_1_1COFFFormat_1_1Section-members.html | 113 + html/classCOFF_1_1COFFFormat_1_1Section.html | 211 ++ ...sCOFF_1_1COFFFormat_1_1Symbol-members.html | 100 + html/classCOFF_1_1COFFFormat_1_1Symbol.html | 161 ++ ...rmat_1_1UnknownOptionalHeader-members.html | 102 + ..._1COFFFormat_1_1UnknownOptionalHeader.html | 285 +++ ...1_1COFFFormat_1_1UnknownOptionalHeader.png | Bin 0 -> 947 bytes ...COFFFormat_1_1ZilogRelocation-members.html | 118 + ...COFF_1_1COFFFormat_1_1ZilogRelocation.html | 285 +++ ...sCOFF_1_1COFFFormat_1_1ZilogRelocation.png | Bin 0 -> 752 bytes html/classDOS16M_1_1BWFormat-members.html | 207 ++ html/classDOS16M_1_1BWFormat.html | 795 ++++++ html/classDOS16M_1_1BWFormat.png | Bin 0 -> 2007 bytes ..._1BWFormat_1_1AbstractSegment-members.html | 107 + ...DOS16M_1_1BWFormat_1_1AbstractSegment.html | 246 ++ ...sDOS16M_1_1BWFormat_1_1AbstractSegment.png | Bin 0 -> 1542 bytes ...M_1_1BWFormat_1_1DummySegment-members.html | 108 + ...assDOS16M_1_1BWFormat_1_1DummySegment.html | 245 ++ ...lassDOS16M_1_1BWFormat_1_1DummySegment.png | Bin 0 -> 905 bytes ...BWFormat_1_1RelocationSegment-members.html | 110 + ...S16M_1_1BWFormat_1_1RelocationSegment.html | 255 ++ ...OS16M_1_1BWFormat_1_1RelocationSegment.png | Bin 0 -> 924 bytes ...DOS16M_1_1BWFormat_1_1Segment-members.html | 109 + html/classDOS16M_1_1BWFormat_1_1Segment.html | 252 ++ html/classDOS16M_1_1BWFormat_1_1Segment.png | Bin 0 -> 881 bytes html/classDX64_1_1FlatFormat-members.html | 99 + html/classDX64_1_1FlatFormat.html | 200 ++ html/classDX64_1_1FlatFormat.png | Bin 0 -> 638 bytes html/classDX64_1_1LVFormat-members.html | 99 + html/classDX64_1_1LVFormat.html | 200 ++ html/classDX64_1_1LVFormat.png | Bin 0 -> 623 bytes ...gitalResearch_1_1CPM68KFormat-members.html | 189 ++ .../classDigitalResearch_1_1CPM68KFormat.html | 876 +++++++ html/classDigitalResearch_1_1CPM68KFormat.png | Bin 0 -> 1824 bytes ...igitalResearch_1_1CPM86Format-members.html | 193 ++ html/classDigitalResearch_1_1CPM86Format.html | 984 ++++++++ html/classDigitalResearch_1_1CPM86Format.png | Bin 0 -> 1791 bytes ..._1_1CPM86Format_1_1Descriptor-members.html | 125 + ...Research_1_1CPM86Format_1_1Descriptor.html | 304 +++ ...lResearch_1_1CPM86Format_1_1Descriptor.png | Bin 0 -> 1618 bytes ...6Format_1_1FastLoadDescriptor-members.html | 130 + ..._1_1CPM86Format_1_1FastLoadDescriptor.html | 362 +++ ...h_1_1CPM86Format_1_1FastLoadDescriptor.png | Bin 0 -> 1149 bytes ...86Format_1_1LibraryDescriptor-members.html | 127 + ...h_1_1CPM86Format_1_1LibraryDescriptor.html | 319 +++ ...ch_1_1CPM86Format_1_1LibraryDescriptor.png | Bin 0 -> 1133 bytes ...igitalResearch_1_1CPM8KFormat-members.html | 177 ++ html/classDigitalResearch_1_1CPM8KFormat.html | 772 ++++++ html/classDigitalResearch_1_1CPM8KFormat.png | Bin 0 -> 1806 bytes ...rch_1_1CPM8KFormat_1_1Segment-members.html | 106 + ...talResearch_1_1CPM8KFormat_1_1Segment.html | 151 ++ ...lassDumper_1_1BitFieldDisplay-members.html | 101 + html/classDumper_1_1BitFieldDisplay.html | 165 ++ html/classDumper_1_1BitFieldDisplay.png | Bin 0 -> 1037 bytes ..._1BitFieldDisplay_1_1BitField-members.html | 98 + ...Dumper_1_1BitFieldDisplay_1_1BitField.html | 120 + html/classDumper_1_1Block-members.html | 119 + html/classDumper_1_1Block.html | 277 ++ html/classDumper_1_1Block.png | Bin 0 -> 751 bytes .../classDumper_1_1ChoiceDisplay-members.html | 103 + html/classDumper_1_1ChoiceDisplay.html | 164 ++ html/classDumper_1_1ChoiceDisplay.png | Bin 0 -> 726 bytes html/classDumper_1_1Container-members.html | 107 + html/classDumper_1_1Container.html | 173 ++ html/classDumper_1_1Container.png | Bin 0 -> 1027 bytes html/classDumper_1_1DecDisplay-members.html | 96 + html/classDumper_1_1DecDisplay.html | 137 + html/classDumper_1_1DecDisplay.png | Bin 0 -> 719 bytes html/classDumper_1_1Display-members.html | 94 + html/classDumper_1_1Display.html | 114 + html/classDumper_1_1Dumper-members.html | 102 + html/classDumper_1_1Dumper.html | 147 ++ html/classDumper_1_1Entry-members.html | 111 + html/classDumper_1_1Entry.html | 212 ++ html/classDumper_1_1Entry.png | Bin 0 -> 546 bytes html/classDumper_1_1Field-members.html | 98 + html/classDumper_1_1Field.html | 140 ++ html/classDumper_1_1Field.png | Bin 0 -> 622 bytes html/classDumper_1_1FieldOf-members.html | 102 + html/classDumper_1_1FieldOf.html | 209 ++ html/classDumper_1_1FieldOf.png | Bin 0 -> 616 bytes html/classDumper_1_1HexDisplay-members.html | 96 + html/classDumper_1_1HexDisplay.html | 138 + html/classDumper_1_1HexDisplay.png | Bin 0 -> 1037 bytes html/classDumper_1_1Region-members.html | 108 + html/classDumper_1_1Region.html | 175 ++ html/classDumper_1_1Region.png | Bin 0 -> 758 bytes ...assDumper_1_1SectionedDisplay-members.html | 99 + html/classDumper_1_1SectionedDisplay.html | 143 ++ html/classDumper_1_1SectionedDisplay.png | Bin 0 -> 833 bytes ...assDumper_1_1SegmentedDisplay-members.html | 96 + html/classDumper_1_1SegmentedDisplay.html | 137 + html/classDumper_1_1SegmentedDisplay.png | Bin 0 -> 817 bytes .../classDumper_1_1StringDisplay-members.html | 103 + html/classDumper_1_1StringDisplay.html | 159 ++ html/classDumper_1_1StringDisplay.png | Bin 0 -> 762 bytes ...classDumper_1_1VersionDisplay-members.html | 96 + html/classDumper_1_1VersionDisplay.html | 137 + html/classDumper_1_1VersionDisplay.png | Bin 0 -> 789 bytes html/classELF_1_1ELFFormat-members.html | 226 ++ html/classELF_1_1ELFFormat.html | 690 +++++ html/classELF_1_1ELFFormat.png | Bin 0 -> 2086 bytes ...LF_1_1ELFFormat_1_1Relocation-members.html | 98 + html/classELF_1_1ELFFormat_1_1Relocation.html | 119 + ...ssELF_1_1ELFFormat_1_1Section-members.html | 104 + html/classELF_1_1ELFFormat_1_1Section.html | 137 + ...assELF_1_1ELFFormat_1_1Symbol-members.html | 104 + html/classELF_1_1ELFFormat_1_1Symbol.html | 137 + html/classErgo_1_1XPFormat-members.html | 152 ++ html/classErgo_1_1XPFormat.html | 418 ++++ html/classErgo_1_1XPFormat.png | Bin 0 -> 1610 bytes html/classGEOS_1_1GeodeFormat-members.html | 151 ++ html/classGEOS_1_1GeodeFormat.html | 411 +++ html/classGEOS_1_1GeodeFormat.png | Bin 0 -> 1638 bytes html/classLinker_1_1Buffer-members.html | 103 + html/classLinker_1_1Buffer.html | 297 +++ html/classLinker_1_1Buffer.png | Bin 0 -> 720 bytes html/classLinker_1_1CommonSymbol-members.html | 95 + html/classLinker_1_1CommonSymbol.html | 121 + html/classLinker_1_1Exception-members.html | 93 + html/classLinker_1_1Exception.html | 108 + ...classLinker_1_1ExportedSymbol-members.html | 110 + html/classLinker_1_1ExportedSymbol.html | 214 ++ html/classLinker_1_1Format-members.html | 99 + html/classLinker_1_1Format.html | 341 +++ html/classLinker_1_1Format.png | Bin 0 -> 30062 bytes html/classLinker_1_1InputFormat-members.html | 101 + html/classLinker_1_1InputFormat.html | 228 ++ html/classLinker_1_1InputFormat.png | Bin 0 -> 2986 bytes .../classLinker_1_1LinkerManager-members.html | 125 + html/classLinker_1_1LinkerManager.html | 334 +++ html/classLinker_1_1LinkerManager.png | Bin 0 -> 10671 bytes html/classLinker_1_1Location-members.html | 100 + html/classLinker_1_1Location.html | 189 ++ html/classLinker_1_1Module-members.html | 134 + html/classLinker_1_1Module.html | 229 ++ html/classLinker_1_1OutputFormat-members.html | 117 + html/classLinker_1_1OutputFormat.html | 655 +++++ html/classLinker_1_1OutputFormat.png | Bin 0 -> 12521 bytes html/classLinker_1_1Position-members.html | 97 + html/classLinker_1_1Position.html | 134 + html/classLinker_1_1Reader-members.html | 105 + html/classLinker_1_1Reader.html | 165 ++ html/classLinker_1_1Reference-members.html | 96 + html/classLinker_1_1Reference.html | 127 + html/classLinker_1_1Relocation-members.html | 125 + html/classLinker_1_1Relocation.html | 375 +++ html/classLinker_1_1Resolution-members.html | 96 + html/classLinker_1_1Resolution.html | 142 ++ html/classLinker_1_1Section-members.html | 162 ++ html/classLinker_1_1Section.html | 665 +++++ html/classLinker_1_1Section.png | Bin 0 -> 715 bytes html/classLinker_1_1Segment-members.html | 117 + html/classLinker_1_1Segment.html | 394 +++ html/classLinker_1_1Segment.png | Bin 0 -> 545 bytes html/classLinker_1_1SymbolName-members.html | 107 + html/classLinker_1_1SymbolName.html | 240 ++ html/classLinker_1_1Target-members.html | 100 + html/classLinker_1_1Target.html | 233 ++ html/classLinker_1_1Writable-members.html | 96 + html/classLinker_1_1Writable.html | 227 ++ html/classLinker_1_1Writable.png | Bin 0 -> 1014 bytes html/classLinker_1_1Writer-members.html | 107 + html/classLinker_1_1Writer.html | 186 ++ html/classLinker_1_1Writer.png | Bin 0 -> 1034 bytes html/classMINIX_1_1MINIXFormat-members.html | 175 ++ html/classMINIX_1_1MINIXFormat.html | 663 +++++ html/classMINIX_1_1MINIXFormat.png | Bin 0 -> 1598 bytes html/classMachO_1_1MachOFormat-members.html | 151 ++ html/classMachO_1_1MachOFormat.html | 378 +++ html/classMachO_1_1MachOFormat.png | Bin 0 -> 1615 bytes html/classMicrosoft_1_1LEFormat-members.html | 257 ++ html/classMicrosoft_1_1LEFormat.html | 979 ++++++++ html/classMicrosoft_1_1LEFormat.png | Bin 0 -> 2011 bytes ...icrosoft_1_1LEFormat_1_1Entry-members.html | 127 + html/classMicrosoft_1_1LEFormat_1_1Entry.html | 228 ++ html/classMicrosoft_1_1LEFormat_1_1Entry.png | Bin 0 -> 631 bytes ...crosoft_1_1LEFormat_1_1Object-members.html | 114 + .../classMicrosoft_1_1LEFormat_1_1Object.html | 147 ++ ...Microsoft_1_1LEFormat_1_1Page-members.html | 112 + html/classMicrosoft_1_1LEFormat_1_1Page.html | 177 ++ ...EFormat_1_1Page_1_1Relocation-members.html | 151 ++ ...oft_1_1LEFormat_1_1Page_1_1Relocation.html | 283 +++ ...soft_1_1LEFormat_1_1Page_1_1Relocation.png | Bin 0 -> 729 bytes ...lassMicrosoft_1_1LEFormat_1_1Resource.html | 91 + html/classMicrosoft_1_1MZFormat-members.html | 195 ++ html/classMicrosoft_1_1MZFormat.html | 983 ++++++++ html/classMicrosoft_1_1MZFormat.png | Bin 0 -> 1625 bytes ...crosoft_1_1MZSimpleStubWriter-members.html | 101 + .../classMicrosoft_1_1MZSimpleStubWriter.html | 141 ++ html/classMicrosoft_1_1MZSimpleStubWriter.png | Bin 0 -> 1409 bytes ...lassMicrosoft_1_1MZStubWriter-members.html | 107 + html/classMicrosoft_1_1MZStubWriter.html | 164 ++ html/classMicrosoft_1_1MZStubWriter.png | Bin 0 -> 2910 bytes html/classMicrosoft_1_1NEFormat-members.html | 267 ++ html/classMicrosoft_1_1NEFormat.html | 1045 ++++++++ html/classMicrosoft_1_1NEFormat.png | Bin 0 -> 2026 bytes ...icrosoft_1_1NEFormat_1_1Entry-members.html | 109 + html/classMicrosoft_1_1NEFormat_1_1Entry.html | 144 ++ ...lassMicrosoft_1_1NEFormat_1_1Resource.html | 91 + ...rosoft_1_1NEFormat_1_1Segment-members.html | 115 + ...classMicrosoft_1_1NEFormat_1_1Segment.html | 159 ++ ...rmat_1_1Segment_1_1Relocation-members.html | 121 + ..._1_1NEFormat_1_1Segment_1_1Relocation.html | 173 ++ html/classMicrosoft_1_1PEFormat-members.html | 243 ++ html/classMicrosoft_1_1PEFormat.html | 673 +++++ html/classMicrosoft_1_1PEFormat.png | Bin 0 -> 3610 bytes html/classO65_1_1O65Format-members.html | 101 + html/classO65_1_1O65Format.html | 241 ++ html/classO65_1_1O65Format.png | Bin 0 -> 981 bytes html/classOMF_1_1OMFFormat-members.html | 101 + html/classOMF_1_1OMFFormat.html | 241 ++ html/classOMF_1_1OMFFormat.png | Bin 0 -> 988 bytes html/classPMODE_1_1PMW1Format-members.html | 151 ++ html/classPMODE_1_1PMW1Format.html | 411 +++ html/classPMODE_1_1PMW1Format.png | Bin 0 -> 1606 bytes html/classPharLap_1_1MPFormat-members.html | 180 ++ html/classPharLap_1_1MPFormat.html | 660 +++++ html/classPharLap_1_1MPFormat.png | Bin 0 -> 2029 bytes html/classPharLap_1_1P3Format-members.html | 204 ++ html/classPharLap_1_1P3Format.html | 651 +++++ html/classPharLap_1_1P3Format.png | Bin 0 -> 2782 bytes ...ssPharLap_1_1P3Format_1_1Flat-members.html | 207 ++ html/classPharLap_1_1P3Format_1_1Flat.html | 609 +++++ html/classPharLap_1_1P3Format_1_1Flat.png | Bin 0 -> 2259 bytes ...1_1P3Format_1_1MultiSegmented-members.html | 215 ++ ...PharLap_1_1P3Format_1_1MultiSegmented.html | 649 +++++ ...sPharLap_1_1P3Format_1_1MultiSegmented.png | Bin 0 -> 2661 bytes ...iSegmented_1_1AbstractSegment-members.html | 96 + ..._1_1MultiSegmented_1_1AbstractSegment.html | 126 + ...t_1_1MultiSegmented_1_1AbstractSegment.png | Bin 0 -> 2067 bytes ...1MultiSegmented_1_1Descriptor-members.html | 106 + ...ormat_1_1MultiSegmented_1_1Descriptor.html | 150 ++ ...Format_1_1MultiSegmented_1_1Descriptor.png | Bin 0 -> 1129 bytes ...iSegmented_1_1DescriptorTable-members.html | 98 + ..._1_1MultiSegmented_1_1DescriptorTable.html | 210 ++ ...t_1_1MultiSegmented_1_1DescriptorTable.png | Bin 0 -> 1239 bytes ...1MultiSegmented_1_1Relocation-members.html | 97 + ...ormat_1_1MultiSegmented_1_1Relocation.html | 121 + ..._1_1MultiSegmented_1_1Segment-members.html | 117 + ...P3Format_1_1MultiSegmented_1_1Segment.html | 263 ++ ...1P3Format_1_1MultiSegmented_1_1Segment.png | Bin 0 -> 1652 bytes ...Segmented_1_1TaskStateSegment-members.html | 124 + ...1_1MultiSegmented_1_1TaskStateSegment.html | 288 +++ ..._1_1MultiSegmented_1_1TaskStateSegment.png | Bin 0 -> 1243 bytes ...rmat_1_1RunTimeParameterBlock-members.html | 103 + ..._1_1P3Format_1_1RunTimeParameterBlock.html | 139 + html/classScript_1_1List-members.html | 96 + html/classScript_1_1List.html | 123 + html/classScript_1_1Node-members.html | 147 ++ html/classScript_1_1Node.html | 194 ++ html/classScript_1_1Value-members.html | 94 + html/classScript_1_1Value.html | 115 + ...Script_1_1Value_3_01void_01_4-members.html | 95 + html/classScript_1_1Value_3_01void_01_4.html | 113 + ...ssSeychellDOS32_1_1AdamFormat-members.html | 114 + html/classSeychellDOS32_1_1AdamFormat.html | 248 ++ html/classSeychellDOS32_1_1AdamFormat.png | Bin 0 -> 813 bytes ...itTests_1_1TestExportedSymbol-members.html | 93 + .../classUnitTests_1_1TestExportedSymbol.html | 110 + html/classUnitTests_1_1TestExportedSymbol.png | Bin 0 -> 736 bytes ...lassUnitTests_1_1TestLocation-members.html | 93 + html/classUnitTests_1_1TestLocation.html | 110 + html/classUnitTests_1_1TestLocation.png | Bin 0 -> 628 bytes ...lassUnitTests_1_1TestMZFormat-members.html | 93 + html/classUnitTests_1_1TestMZFormat.html | 110 + html/classUnitTests_1_1TestMZFormat.png | Bin 0 -> 672 bytes .../classUnitTests_1_1TestReader-members.html | 93 + html/classUnitTests_1_1TestReader.html | 110 + html/classUnitTests_1_1TestReader.png | Bin 0 -> 589 bytes ...classUnitTests_1_1TestSection-members.html | 93 + html/classUnitTests_1_1TestSection.html | 110 + html/classUnitTests_1_1TestSection.png | Bin 0 -> 595 bytes ...ssUnitTests_1_1TestSymbolName-members.html | 93 + html/classUnitTests_1_1TestSymbolName.html | 110 + html/classUnitTests_1_1TestSymbolName.png | Bin 0 -> 715 bytes html/classX68000_1_1HUFormat-members.html | 165 ++ html/classX68000_1_1HUFormat.html | 606 +++++ html/classX68000_1_1HUFormat.png | Bin 0 -> 1598 bytes html/classXenix_1_1BOutFormat-members.html | 151 ++ html/classXenix_1_1BOutFormat.html | 377 +++ html/classXenix_1_1BOutFormat.png | Bin 0 -> 1637 bytes html/classXenix_1_1XOutFormat-members.html | 151 ++ html/classXenix_1_1XOutFormat.html | 377 +++ html/classXenix_1_1XOutFormat.png | Bin 0 -> 1636 bytes html/classdump_1_1AOutReader-members.html | 94 + html/classdump_1_1AOutReader.html | 165 ++ html/classdump_1_1AOutReader.png | Bin 0 -> 561 bytes html/classdump_1_1AppleReader-members.html | 94 + html/classdump_1_1AppleReader.html | 160 ++ html/classdump_1_1AppleReader.png | Bin 0 -> 566 bytes html/classdump_1_1COFFReader-members.html | 93 + html/classdump_1_1COFFReader.html | 156 ++ html/classdump_1_1COFFReader.png | Bin 0 -> 553 bytes html/classdump_1_1CPM68KReader-members.html | 94 + html/classdump_1_1CPM68KReader.html | 165 ++ html/classdump_1_1CPM68KReader.png | Bin 0 -> 632 bytes html/classdump_1_1CPM8000Reader-members.html | 93 + html/classdump_1_1CPM8000Reader.html | 152 ++ html/classdump_1_1CPM8000Reader.png | Bin 0 -> 617 bytes html/classdump_1_1CPM86Reader-members.html | 94 + html/classdump_1_1CPM86Reader.html | 159 ++ html/classdump_1_1CPM86Reader.png | Bin 0 -> 556 bytes html/classdump_1_1Determiner-members.html | 119 + html/classdump_1_1Determiner.html | 190 ++ html/classdump_1_1ELFReader-members.html | 93 + html/classdump_1_1ELFReader.html | 156 ++ html/classdump_1_1ELFReader.png | Bin 0 -> 532 bytes html/classdump_1_1FileReader-members.html | 97 + html/classdump_1_1FileReader.html | 146 ++ html/classdump_1_1FileReader.png | Bin 0 -> 7918 bytes html/classdump_1_1GSOSOMFReader-members.html | 95 + html/classdump_1_1GSOSOMFReader.html | 163 ++ html/classdump_1_1GSOSOMFReader.png | Bin 0 -> 658 bytes html/classdump_1_1HUReader-members.html | 93 + html/classdump_1_1HUReader.html | 156 ++ html/classdump_1_1HUReader.png | Bin 0 -> 536 bytes html/classdump_1_1HunkReader-members.html | 103 + html/classdump_1_1HunkReader.html | 187 ++ html/classdump_1_1HunkReader.png | Bin 0 -> 556 bytes html/classdump_1_1LEReader-members.html | 96 + html/classdump_1_1LEReader.html | 169 ++ html/classdump_1_1LEReader.png | Bin 0 -> 529 bytes .../classdump_1_1MINIXAOutReader-members.html | 93 + html/classdump_1_1MINIXAOutReader.html | 156 ++ html/classdump_1_1MINIXAOutReader.png | Bin 0 -> 661 bytes html/classdump_1_1MZReader-members.html | 93 + html/classdump_1_1MZReader.html | 156 ++ html/classdump_1_1MZReader.png | Bin 0 -> 551 bytes html/classdump_1_1MachOReader-members.html | 93 + html/classdump_1_1MachOReader.html | 156 ++ html/classdump_1_1MachOReader.png | Bin 0 -> 566 bytes ...mp_1_1MacintoshResourceReader-members.html | 96 + .../classdump_1_1MacintoshResourceReader.html | 175 ++ html/classdump_1_1MacintoshResourceReader.png | Bin 0 -> 732 bytes html/classdump_1_1NEReader-members.html | 95 + html/classdump_1_1NEReader.html | 162 ++ html/classdump_1_1NEReader.png | Bin 0 -> 540 bytes html/classdump_1_1PEFReader-members.html | 94 + html/classdump_1_1PEFReader.html | 160 ++ html/classdump_1_1PEFReader.png | Bin 0 -> 538 bytes html/classdump_1_1PEReader-members.html | 99 + html/classdump_1_1PEReader.html | 175 ++ html/classdump_1_1PEReader.png | Bin 0 -> 537 bytes html/classdump_1_1Reader-members.html | 107 + html/classdump_1_1Reader.html | 154 ++ html/classes.html | 159 ++ html/clipboard.js | 61 + html/closed.png | Bin 0 -> 132 bytes html/coff_8h_source.html | 709 ++++++ html/common_8h_source.html | 175 ++ html/cookie.js | 58 + html/cpm68k_8h_source.html | 311 +++ html/cpm86_8h_source.html | 589 +++++ html/cpm8k_8h_source.html | 294 +++ .../dir_244674c763b96fdad0a6ffe8d0250e08.html | 96 + .../dir_24c049936c2e162b277227e4c6675044.html | 150 ++ .../dir_33e3a8b77e98edc0abf3724e73dcab00.html | 94 + .../dir_41b844c4f7b9bcc409e1bbd7bd44feef.html | 120 + .../dir_4ef497cb82522960ed42bfda41084510.html | 94 + .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 105 + .../dir_bc4706af0fd62d102425849105df0478.html | 100 + .../dir_fe414d616bd0c4668e6515f48824338f.html | 96 + html/doc.svg | 12 + html/docd.svg | 12 + html/dosexe_8h_source.html | 211 ++ html/doxygen.css | 2225 +++++++++++++++++ html/doxygen.svg | 28 + html/doxygen_crawl.html | 571 +++++ html/dumper_8h_source.html | 743 ++++++ html/dynsections.js | 194 ++ html/elf_8h_source.html | 301 +++ html/files.html | 148 ++ html/folderclosed.svg | 11 + html/folderclosedd.svg | 11 + html/folderopen.svg | 17 + html/folderopend.svg | 12 + html/format_8h_source.html | 204 ++ html/functions.html | 115 + html/functions_b.html | 93 + html/functions_c.html | 106 + html/functions_d.html | 100 + html/functions_e.html | 98 + html/functions_enum.html | 95 + html/functions_eval.html | 217 ++ html/functions_f.html | 124 + html/functions_func.html | 103 + html/functions_func_b.html | 87 + html/functions_func_c.html | 90 + html/functions_func_d.html | 90 + html/functions_func_e.html | 89 + html/functions_func_f.html | 100 + html/functions_func_g.html | 107 + html/functions_func_i.html | 89 + html/functions_func_l.html | 91 + html/functions_func_o.html | 96 + html/functions_func_p.html | 96 + html/functions_func_r.html | 98 + html/functions_func_s.html | 108 + html/functions_func_t.html | 88 + html/functions_func_w.html | 90 + html/functions_g.html | 110 + html/functions_h.html | 87 + html/functions_i.html | 94 + html/functions_l.html | 104 + html/functions_m.html | 111 + html/functions_n.html | 89 + html/functions_o.html | 110 + html/functions_p.html | 101 + html/functions_r.html | 113 + html/functions_s.html | 153 ++ html/functions_t.html | 93 + html/functions_u.html | 87 + html/functions_v.html | 87 + html/functions_vars.html | 91 + html/functions_vars_b.html | 90 + html/functions_vars_c.html | 95 + html/functions_vars_d.html | 92 + html/functions_vars_e.html | 89 + html/functions_vars_f.html | 94 + html/functions_vars_g.html | 86 + html/functions_vars_h.html | 86 + html/functions_vars_i.html | 90 + html/functions_vars_l.html | 97 + html/functions_vars_m.html | 97 + html/functions_vars_n.html | 89 + html/functions_vars_o.html | 97 + html/functions_vars_p.html | 90 + html/functions_vars_r.html | 96 + html/functions_vars_s.html | 114 + html/functions_vars_t.html | 89 + html/functions_vars_u.html | 86 + html/functions_vars_v.html | 87 + html/functions_vars_w.html | 86 + html/functions_vars_y.html | 87 + html/functions_vars_z.html | 86 + html/functions_w.html | 92 + html/functions_y.html | 87 + html/functions_z.html | 88 + html/geos_8h_source.html | 128 + html/gsos_8h_source.html | 123 + html/hierarchy.html | 339 +++ html/huexe_8h_source.html | 172 ++ html/hunk_8h_source.html | 226 ++ html/index.html | 377 +++ html/jquery.js | 34 + html/leexe_8h_source.html | 502 ++++ html/linker_8h_source.html | 240 ++ html/location_8h_source.html | 152 ++ html/macho_8h_source.html | 124 + html/macos_8h_source.html | 1037 ++++++++ html/menu.js | 134 + html/menudata.js | 114 + html/minix_8h_source.html | 194 ++ html/minus.svg | 8 + html/minusd.svg | 8 + html/module_8h_source.html | 221 ++ html/mzexe_8h_source.html | 431 ++++ html/nav_f.png | Bin 0 -> 153 bytes html/nav_fd.png | Bin 0 -> 169 bytes html/nav_g.png | Bin 0 -> 95 bytes html/nav_h.png | Bin 0 -> 98 bytes html/nav_hd.png | Bin 0 -> 114 bytes html/neexe_8h_source.html | 451 ++++ html/o65_8h_source.html | 126 + html/omf_8h_source.html | 127 + html/open.png | Bin 0 -> 123 bytes html/parse_8tab_8hh_source.html | 212 ++ html/peexe_8h_source.html | 128 + html/pefexe_8h_source.html | 122 + html/pharlap_8h_source.html | 491 ++++ html/plus.svg | 9 + html/plusd.svg | 9 + html/pmode_8h_source.html | 128 + html/position_8h_source.html | 141 ++ html/reader_8h_source.html | 152 ++ html/relocation_8h_source.html | 211 ++ html/resolution_8h_source.html | 134 + html/script_8h_source.html | 291 +++ html/search/all_0.js | 4 + html/search/all_1.js | 4 + html/search/all_10.js | 34 + html/search/all_11.js | 32 + html/search/all_12.js | 43 + html/search/all_13.js | 76 + html/search/all_14.js | 19 + html/search/all_15.js | 8 + html/search/all_16.js | 9 + html/search/all_17.js | 11 + html/search/all_18.js | 5 + html/search/all_19.js | 9 + html/search/all_1a.js | 7 + html/search/all_2.js | 4 + html/search/all_3.js | 49 + html/search/all_4.js | 19 + html/search/all_5.js | 38 + html/search/all_6.js | 32 + html/search/all_7.js | 21 + html/search/all_8.js | 59 + html/search/all_9.js | 32 + html/search/all_a.js | 11 + html/search/all_b.js | 16 + html/search/all_c.js | 4 + html/search/all_d.js | 32 + html/search/all_e.js | 50 + html/search/all_f.js | 11 + html/search/classes_0.js | 17 + html/search/classes_1.js | 10 + html/search/classes_10.js | 10 + html/search/classes_11.js | 11 + html/search/classes_12.js | 6 + html/search/classes_13.js | 7 + html/search/classes_14.js | 5 + html/search/classes_15.js | 5 + html/search/classes_16.js | 7 + html/search/classes_17.js | 4 + html/search/classes_2.js | 18 + html/search/classes_3.js | 17 + html/search/classes_4.js | 8 + html/search/classes_5.js | 17 + html/search/classes_6.js | 7 + html/search/classes_7.js | 9 + html/search/classes_8.js | 6 + html/search/classes_9.js | 4 + html/search/classes_a.js | 13 + html/search/classes_b.js | 23 + html/search/classes_c.js | 7 + html/search/classes_d.js | 9 + html/search/classes_e.js | 16 + html/search/classes_f.js | 15 + html/search/close.svg | 18 + html/search/enums_0.js | 5 + html/search/enums_1.js | 5 + html/search/enums_2.js | 4 + html/search/enums_3.js | 5 + html/search/enums_4.js | 5 + html/search/enums_5.js | 6 + html/search/enumvalues_0.js | 9 + html/search/enumvalues_1.js | 4 + html/search/enumvalues_10.js | 5 + html/search/enumvalues_2.js | 8 + html/search/enumvalues_3.js | 6 + html/search/enumvalues_4.js | 8 + html/search/enumvalues_5.js | 17 + html/search/enumvalues_6.js | 4 + html/search/enumvalues_7.js | 4 + html/search/enumvalues_8.js | 4 + html/search/enumvalues_9.js | 15 + html/search/enumvalues_a.js | 4 + html/search/enumvalues_b.js | 5 + html/search/enumvalues_c.js | 14 + html/search/enumvalues_d.js | 4 + html/search/enumvalues_e.js | 4 + html/search/enumvalues_f.js | 4 + html/search/functions_0.js | 21 + html/search/functions_1.js | 5 + html/search/functions_2.js | 8 + html/search/functions_3.js | 8 + html/search/functions_4.js | 7 + html/search/functions_5.js | 18 + html/search/functions_6.js | 25 + html/search/functions_7.js | 7 + html/search/functions_8.js | 9 + html/search/functions_9.js | 14 + html/search/functions_a.js | 14 + html/search/functions_b.js | 16 + html/search/functions_c.js | 26 + html/search/functions_d.js | 6 + html/search/functions_e.js | 8 + html/search/mag.svg | 24 + html/search/mag_d.svg | 24 + html/search/mag_sel.svg | 31 + html/search/mag_seld.svg | 31 + html/search/pages_0.js | 4 + html/search/pages_1.js | 4 + html/search/pages_2.js | 4 + html/search/pages_3.js | 5 + html/search/pages_4.js | 4 + html/search/pages_5.js | 4 + html/search/pages_6.js | 5 + html/search/pages_7.js | 4 + html/search/pages_8.js | 4 + html/search/pages_9.js | 4 + html/search/search.css | 291 +++ html/search/search.js | 694 +++++ html/search/searchdata.js | 33 + html/search/variables_0.js | 9 + html/search/variables_1.js | 8 + html/search/variables_10.js | 7 + html/search/variables_11.js | 4 + html/search/variables_12.js | 5 + html/search/variables_13.js | 4 + html/search/variables_14.js | 5 + html/search/variables_15.js | 4 + html/search/variables_2.js | 13 + html/search/variables_3.js | 10 + html/search/variables_4.js | 7 + html/search/variables_5.js | 12 + html/search/variables_6.js | 4 + html/search/variables_7.js | 4 + html/search/variables_8.js | 8 + html/search/variables_9.js | 15 + html/search/variables_a.js | 15 + html/search/variables_b.js | 7 + html/search/variables_c.js | 15 + html/search/variables_d.js | 8 + html/search/variables_e.js | 14 + html/search/variables_f.js | 32 + html/section_8h_source.html | 318 +++ html/segment_8h_source.html | 175 ++ html/splitbar.png | Bin 0 -> 314 bytes html/splitbard.png | Bin 0 -> 282 bytes ...tApple_1_1FinderInfo_1_1Point-members.html | 93 + html/structApple_1_1FinderInfo_1_1Point.html | 104 + ...umpTableCodeResource_1_1Entry-members.html | 93 + ...ork_1_1JumpTableCodeResource_1_1Entry.html | 104 + ...ary_1_1AtariFormat_1_1Segment-members.html | 100 + ...tructBinary_1_1AtariFormat_1_1Segment.html | 127 + ..._1_1CPM3Format_1_1rsx__record-members.html | 95 + ...ctBinary_1_1CPM3Format_1_1rsx__record.html | 110 + ...nary_1_1FLEXFormat_1_1Segment-members.html | 95 + ...structBinary_1_1FLEXFormat_1_1Segment.html | 115 + ..._1_1COFFFormat_1_1MachineType-members.html | 93 + ...ructCOFF_1_1COFFFormat_1_1MachineType.html | 104 + ...1_1CPM68KFormat_1_1Relocation-members.html | 94 + ...esearch_1_1CPM68KFormat_1_1Relocation.html | 114 + ...Descriptor_1_1ldt__descriptor-members.html | 97 + ...FastLoadDescriptor_1_1ldt__descriptor.html | 124 + ..._1_1CPM86Format_1_1Relocation-members.html | 102 + ...Research_1_1CPM86Format_1_1Relocation.html | 140 ++ ...rch_1_1CPM86Format_1_1library-members.html | 107 + ...talResearch_1_1CPM86Format_1_1library.html | 178 ++ ...italResearch_1_1CPM86Format_1_1library.png | Bin 0 -> 951 bytes ...1_1CPM86Format_1_1library__id-members.html | 99 + ...esearch_1_1CPM86Format_1_1library__id.html | 145 ++ ...Research_1_1CPM86Format_1_1library__id.png | Bin 0 -> 954 bytes ...6Format_1_1relocation__source-members.html | 96 + ..._1_1CPM86Format_1_1relocation__source.html | 124 + ...1_1CPM86Format_1_1rsx__record-members.html | 99 + ...esearch_1_1CPM86Format_1_1rsx__record.html | 154 ++ ..._1_1CPM8KFormat_1_1Relocation-members.html | 102 + ...Research_1_1CPM8KFormat_1_1Relocation.html | 157 ++ ...italResearch_1_1CPM8KFormat_1_1Symbol.html | 91 + ...Microsoft_1_1LEFormat_1_1Name-members.html | 93 + html/structMicrosoft_1_1LEFormat_1_1Name.html | 104 + ...tMicrosoft_1_1MZFormat_1_1PIF-members.html | 106 + html/structMicrosoft_1_1MZFormat_1_1PIF.html | 159 ++ ...oft_1_1MZFormat_1_1Relocation-members.html | 98 + ...ctMicrosoft_1_1MZFormat_1_1Relocation.html | 138 + ...Microsoft_1_1NEFormat_1_1Name-members.html | 93 + html/structMicrosoft_1_1NEFormat_1_1Name.html | 104 + ...rosoft_1_1NEFormat_1_1version-members.html | 93 + ...tructMicrosoft_1_1NEFormat_1_1version.html | 111 + html/structformat__description-members.html | 89 + html/structformat__description.html | 100 + html/structformat__magic-members.html | 92 + html/structformat__magic.html | 109 + html/structoutput__format__type-members.html | 90 + html/structoutput__format__type.html | 103 + html/structyy__buffer__state-members.html | 99 + html/structyy__buffer__state.html | 159 ++ html/structyy__trans__info-members.html | 89 + html/structyy__trans__info.html | 100 + html/symbol_8h_source.html | 271 ++ html/sync_off.png | Bin 0 -> 853 bytes html/sync_on.png | Bin 0 -> 845 bytes html/tab_a.png | Bin 0 -> 142 bytes html/tab_ad.png | Bin 0 -> 135 bytes html/tab_b.png | Bin 0 -> 169 bytes html/tab_bd.png | Bin 0 -> 173 bytes html/tab_h.png | Bin 0 -> 177 bytes html/tab_hd.png | Bin 0 -> 180 bytes html/tab_s.png | Bin 0 -> 184 bytes html/tab_sd.png | Bin 0 -> 188 bytes html/tabs.css | 1 + html/target_8h_source.html | 155 ++ ...Lap_1_1MPFormat_1_1Relocation-members.html | 97 + ...nionPharLap_1_1MPFormat_1_1Relocation.html | 126 + html/unionYYSTYPE-members.html | 91 + html/unionYYSTYPE.html | 107 + html/unionyyalloc-members.html | 89 + html/unionyyalloc.html | 100 + html/unittest_2format_2mzexe_8cc_source.html | 535 ++++ ...unittest_2linker_2location_8cc_source.html | 210 ++ html/unittest_2linker_2reader_8cc_source.html | 281 +++ .../unittest_2linker_2section_8cc_source.html | 181 ++ html/unittest_2linker_2symbol_8cc_source.html | 496 ++++ html/writable_8h_source.html | 128 + html/writer_8h_source.html | 158 ++ html/xenix_8h_source.html | 138 + html/xpexp_8h_source.html | 130 + 851 files changed, 109074 insertions(+), 1 deletion(-) create mode 100644 html/8bitexe_8h_source.html create mode 100644 html/annotated.html create mode 100644 html/aout_8h_source.html create mode 100644 html/as86obj_8h_source.html create mode 100644 html/bc_s.png create mode 100644 html/bc_sd.png create mode 100644 html/binary_8h_source.html create mode 100644 html/bwexp_8h_source.html create mode 100644 html/classAOut_1_1AOutFormat-members.html create mode 100644 html/classAOut_1_1AOutFormat.html create mode 100644 html/classAOut_1_1AOutFormat.png create mode 100644 html/classAOut_1_1AOutFormat_1_1Symbol-members.html create mode 100644 html/classAOut_1_1AOutFormat_1_1Symbol.html create mode 100644 html/classAS86Obj_1_1AS86ObjFormat-members.html create mode 100644 html/classAS86Obj_1_1AS86ObjFormat.html create mode 100644 html/classAS86Obj_1_1AS86ObjFormat.png create mode 100644 html/classAmiga_1_1HunkFormat-members.html create mode 100644 html/classAmiga_1_1HunkFormat.html create mode 100644 html/classAmiga_1_1HunkFormat.png create mode 100644 html/classAmiga_1_1HunkFormat_1_1Hunk-members.html create mode 100644 html/classAmiga_1_1HunkFormat_1_1Hunk.html create mode 100644 html/classApple_1_1AFPDirectoryID-members.html create mode 100644 html/classApple_1_1AFPDirectoryID.html create mode 100644 html/classApple_1_1AFPDirectoryID.png create mode 100644 html/classApple_1_1AFPFileInfo-members.html create mode 100644 html/classApple_1_1AFPFileInfo.html create mode 100644 html/classApple_1_1AFPFileInfo.png create mode 100644 html/classApple_1_1AFPShortName-members.html create mode 100644 html/classApple_1_1AFPShortName.html create mode 100644 html/classApple_1_1AFPShortName.png create mode 100644 html/classApple_1_1AppleSingleDouble-members.html create mode 100644 html/classApple_1_1AppleSingleDouble.html create mode 100644 html/classApple_1_1AppleSingleDouble.png create mode 100644 html/classApple_1_1AppleSingleDouble_1_1Entry-members.html create mode 100644 html/classApple_1_1AppleSingleDouble_1_1Entry.html create mode 100644 html/classApple_1_1AppleSingleDouble_1_1Entry.png create mode 100644 html/classApple_1_1Comment-members.html create mode 100644 html/classApple_1_1Comment.html create mode 100644 html/classApple_1_1Comment.png create mode 100644 html/classApple_1_1DataFork-members.html create mode 100644 html/classApple_1_1DataFork.html create mode 100644 html/classApple_1_1DataFork.png create mode 100644 html/classApple_1_1FileDatesInfo-members.html create mode 100644 html/classApple_1_1FileDatesInfo.html create mode 100644 html/classApple_1_1FileDatesInfo.png create mode 100644 html/classApple_1_1FileInfo-members.html create mode 100644 html/classApple_1_1FileInfo.html create mode 100644 html/classApple_1_1FileInfo.png create mode 100644 html/classApple_1_1FileInfo_1_1AUX-members.html create mode 100644 html/classApple_1_1FileInfo_1_1AUX.html create mode 100644 html/classApple_1_1FileInfo_1_1AUX.png create mode 100644 html/classApple_1_1FileInfo_1_1MSDOS-members.html create mode 100644 html/classApple_1_1FileInfo_1_1MSDOS.html create mode 100644 html/classApple_1_1FileInfo_1_1MSDOS.png create mode 100644 html/classApple_1_1FileInfo_1_1Macintosh-members.html create mode 100644 html/classApple_1_1FileInfo_1_1Macintosh.html create mode 100644 html/classApple_1_1FileInfo_1_1Macintosh.png create mode 100644 html/classApple_1_1FileInfo_1_1ProDOS-members.html create mode 100644 html/classApple_1_1FileInfo_1_1ProDOS.html create mode 100644 html/classApple_1_1FileInfo_1_1ProDOS.png create mode 100644 html/classApple_1_1FinderInfo-members.html create mode 100644 html/classApple_1_1FinderInfo.html create mode 100644 html/classApple_1_1FinderInfo.png create mode 100644 html/classApple_1_1IconBW-members.html create mode 100644 html/classApple_1_1IconBW.html create mode 100644 html/classApple_1_1IconBW.png create mode 100644 html/classApple_1_1IconColor-members.html create mode 100644 html/classApple_1_1IconColor.html create mode 100644 html/classApple_1_1IconColor.png create mode 100644 html/classApple_1_1MSDOSFileInfo-members.html create mode 100644 html/classApple_1_1MSDOSFileInfo.html create mode 100644 html/classApple_1_1MSDOSFileInfo.png create mode 100644 html/classApple_1_1MacBinary-members.html create mode 100644 html/classApple_1_1MacBinary.html create mode 100644 html/classApple_1_1MacBinary.png create mode 100644 html/classApple_1_1MacDriver-members.html create mode 100644 html/classApple_1_1MacDriver.html create mode 100644 html/classApple_1_1MacDriver.png create mode 100644 html/classApple_1_1MacintoshFileInfo-members.html create mode 100644 html/classApple_1_1MacintoshFileInfo.html create mode 100644 html/classApple_1_1MacintoshFileInfo.png create mode 100644 html/classApple_1_1OMFFormat-members.html create mode 100644 html/classApple_1_1OMFFormat.html create mode 100644 html/classApple_1_1OMFFormat.png create mode 100644 html/classApple_1_1PEFFormat-members.html create mode 100644 html/classApple_1_1PEFFormat.html create mode 100644 html/classApple_1_1PEFFormat.png create mode 100644 html/classApple_1_1ProDOSFileInfo-members.html create mode 100644 html/classApple_1_1ProDOSFileInfo.html create mode 100644 html/classApple_1_1ProDOSFileInfo.png create mode 100644 html/classApple_1_1RealName-members.html create mode 100644 html/classApple_1_1RealName.html create mode 100644 html/classApple_1_1RealName.png create mode 100644 html/classApple_1_1ResourceFork-members.html create mode 100644 html/classApple_1_1ResourceFork.html create mode 100644 html/classApple_1_1ResourceFork.png create mode 100644 html/classApple_1_1ResourceFork_1_1CodeResource-members.html create mode 100644 html/classApple_1_1ResourceFork_1_1CodeResource.html create mode 100644 html/classApple_1_1ResourceFork_1_1CodeResource.png create mode 100644 html/classApple_1_1ResourceFork_1_1GenericResource-members.html create mode 100644 html/classApple_1_1ResourceFork_1_1GenericResource.html create mode 100644 html/classApple_1_1ResourceFork_1_1GenericResource.png create mode 100644 html/classApple_1_1ResourceFork_1_1JumpTableCodeResource-members.html create mode 100644 html/classApple_1_1ResourceFork_1_1JumpTableCodeResource.html create mode 100644 html/classApple_1_1ResourceFork_1_1JumpTableCodeResource.png create mode 100644 html/classApple_1_1ResourceFork_1_1Resource-members.html create mode 100644 html/classApple_1_1ResourceFork_1_1Resource.html create mode 100644 html/classApple_1_1ResourceFork_1_1Resource.png create mode 100644 html/classBinary_1_1AppleFormat-members.html create mode 100644 html/classBinary_1_1AppleFormat.html create mode 100644 html/classBinary_1_1AppleFormat.png create mode 100644 html/classBinary_1_1AtariFormat-members.html create mode 100644 html/classBinary_1_1AtariFormat.html create mode 100644 html/classBinary_1_1AtariFormat.png create mode 100644 html/classBinary_1_1BinaryFormat-members.html create mode 100644 html/classBinary_1_1BinaryFormat.html create mode 100644 html/classBinary_1_1BinaryFormat.png create mode 100644 html/classBinary_1_1CPM3Format-members.html create mode 100644 html/classBinary_1_1CPM3Format.html create mode 100644 html/classBinary_1_1CPM3Format.png create mode 100644 html/classBinary_1_1CommodoreFormat-members.html create mode 100644 html/classBinary_1_1CommodoreFormat.html create mode 100644 html/classBinary_1_1CommodoreFormat.png create mode 100644 html/classBinary_1_1FLEXFormat-members.html create mode 100644 html/classBinary_1_1FLEXFormat.html create mode 100644 html/classBinary_1_1FLEXFormat.png create mode 100644 html/classBinary_1_1PRLFormat-members.html create mode 100644 html/classBinary_1_1PRLFormat.html create mode 100644 html/classBinary_1_1PRLFormat.png create mode 100644 html/classBinary_1_1UZI280Format-members.html create mode 100644 html/classBinary_1_1UZI280Format.html create mode 100644 html/classBinary_1_1UZI280Format.png create mode 100644 html/classBinary_1_1UZIFormat-members.html create mode 100644 html/classBinary_1_1UZIFormat.html create mode 100644 html/classBinary_1_1UZIFormat.png create mode 100644 html/classBrocaD3X_1_1D3X1Format-members.html create mode 100644 html/classBrocaD3X_1_1D3X1Format.html create mode 100644 html/classBrocaD3X_1_1D3X1Format.png create mode 100644 html/classCOFF_1_1COFFFormat-members.html create mode 100644 html/classCOFF_1_1COFFFormat.html create mode 100644 html/classCOFF_1_1COFFFormat.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1AOutHeader-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1AOutHeader.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1AOutHeader.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1OptionalHeader-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1OptionalHeader.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1OptionalHeader.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1Relocation-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1Relocation.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1Relocation.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1Section-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1Section.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1Symbol-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1Symbol.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.png create mode 100644 html/classCOFF_1_1COFFFormat_1_1ZilogRelocation-members.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1ZilogRelocation.html create mode 100644 html/classCOFF_1_1COFFFormat_1_1ZilogRelocation.png create mode 100644 html/classDOS16M_1_1BWFormat-members.html create mode 100644 html/classDOS16M_1_1BWFormat.html create mode 100644 html/classDOS16M_1_1BWFormat.png create mode 100644 html/classDOS16M_1_1BWFormat_1_1AbstractSegment-members.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1AbstractSegment.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1AbstractSegment.png create mode 100644 html/classDOS16M_1_1BWFormat_1_1DummySegment-members.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1DummySegment.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1DummySegment.png create mode 100644 html/classDOS16M_1_1BWFormat_1_1RelocationSegment-members.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1RelocationSegment.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1RelocationSegment.png create mode 100644 html/classDOS16M_1_1BWFormat_1_1Segment-members.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1Segment.html create mode 100644 html/classDOS16M_1_1BWFormat_1_1Segment.png create mode 100644 html/classDX64_1_1FlatFormat-members.html create mode 100644 html/classDX64_1_1FlatFormat.html create mode 100644 html/classDX64_1_1FlatFormat.png create mode 100644 html/classDX64_1_1LVFormat-members.html create mode 100644 html/classDX64_1_1LVFormat.html create mode 100644 html/classDX64_1_1LVFormat.png create mode 100644 html/classDigitalResearch_1_1CPM68KFormat-members.html create mode 100644 html/classDigitalResearch_1_1CPM68KFormat.html create mode 100644 html/classDigitalResearch_1_1CPM68KFormat.png create mode 100644 html/classDigitalResearch_1_1CPM86Format-members.html create mode 100644 html/classDigitalResearch_1_1CPM86Format.html create mode 100644 html/classDigitalResearch_1_1CPM86Format.png create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1Descriptor-members.html create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1Descriptor.html create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1Descriptor.png create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor-members.html create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.png create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor-members.html create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html create mode 100644 html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.png create mode 100644 html/classDigitalResearch_1_1CPM8KFormat-members.html create mode 100644 html/classDigitalResearch_1_1CPM8KFormat.html create mode 100644 html/classDigitalResearch_1_1CPM8KFormat.png create mode 100644 html/classDigitalResearch_1_1CPM8KFormat_1_1Segment-members.html create mode 100644 html/classDigitalResearch_1_1CPM8KFormat_1_1Segment.html create mode 100644 html/classDumper_1_1BitFieldDisplay-members.html create mode 100644 html/classDumper_1_1BitFieldDisplay.html create mode 100644 html/classDumper_1_1BitFieldDisplay.png create mode 100644 html/classDumper_1_1BitFieldDisplay_1_1BitField-members.html create mode 100644 html/classDumper_1_1BitFieldDisplay_1_1BitField.html create mode 100644 html/classDumper_1_1Block-members.html create mode 100644 html/classDumper_1_1Block.html create mode 100644 html/classDumper_1_1Block.png create mode 100644 html/classDumper_1_1ChoiceDisplay-members.html create mode 100644 html/classDumper_1_1ChoiceDisplay.html create mode 100644 html/classDumper_1_1ChoiceDisplay.png create mode 100644 html/classDumper_1_1Container-members.html create mode 100644 html/classDumper_1_1Container.html create mode 100644 html/classDumper_1_1Container.png create mode 100644 html/classDumper_1_1DecDisplay-members.html create mode 100644 html/classDumper_1_1DecDisplay.html create mode 100644 html/classDumper_1_1DecDisplay.png create mode 100644 html/classDumper_1_1Display-members.html create mode 100644 html/classDumper_1_1Display.html create mode 100644 html/classDumper_1_1Dumper-members.html create mode 100644 html/classDumper_1_1Dumper.html create mode 100644 html/classDumper_1_1Entry-members.html create mode 100644 html/classDumper_1_1Entry.html create mode 100644 html/classDumper_1_1Entry.png create mode 100644 html/classDumper_1_1Field-members.html create mode 100644 html/classDumper_1_1Field.html create mode 100644 html/classDumper_1_1Field.png create mode 100644 html/classDumper_1_1FieldOf-members.html create mode 100644 html/classDumper_1_1FieldOf.html create mode 100644 html/classDumper_1_1FieldOf.png create mode 100644 html/classDumper_1_1HexDisplay-members.html create mode 100644 html/classDumper_1_1HexDisplay.html create mode 100644 html/classDumper_1_1HexDisplay.png create mode 100644 html/classDumper_1_1Region-members.html create mode 100644 html/classDumper_1_1Region.html create mode 100644 html/classDumper_1_1Region.png create mode 100644 html/classDumper_1_1SectionedDisplay-members.html create mode 100644 html/classDumper_1_1SectionedDisplay.html create mode 100644 html/classDumper_1_1SectionedDisplay.png create mode 100644 html/classDumper_1_1SegmentedDisplay-members.html create mode 100644 html/classDumper_1_1SegmentedDisplay.html create mode 100644 html/classDumper_1_1SegmentedDisplay.png create mode 100644 html/classDumper_1_1StringDisplay-members.html create mode 100644 html/classDumper_1_1StringDisplay.html create mode 100644 html/classDumper_1_1StringDisplay.png create mode 100644 html/classDumper_1_1VersionDisplay-members.html create mode 100644 html/classDumper_1_1VersionDisplay.html create mode 100644 html/classDumper_1_1VersionDisplay.png create mode 100644 html/classELF_1_1ELFFormat-members.html create mode 100644 html/classELF_1_1ELFFormat.html create mode 100644 html/classELF_1_1ELFFormat.png create mode 100644 html/classELF_1_1ELFFormat_1_1Relocation-members.html create mode 100644 html/classELF_1_1ELFFormat_1_1Relocation.html create mode 100644 html/classELF_1_1ELFFormat_1_1Section-members.html create mode 100644 html/classELF_1_1ELFFormat_1_1Section.html create mode 100644 html/classELF_1_1ELFFormat_1_1Symbol-members.html create mode 100644 html/classELF_1_1ELFFormat_1_1Symbol.html create mode 100644 html/classErgo_1_1XPFormat-members.html create mode 100644 html/classErgo_1_1XPFormat.html create mode 100644 html/classErgo_1_1XPFormat.png create mode 100644 html/classGEOS_1_1GeodeFormat-members.html create mode 100644 html/classGEOS_1_1GeodeFormat.html create mode 100644 html/classGEOS_1_1GeodeFormat.png create mode 100644 html/classLinker_1_1Buffer-members.html create mode 100644 html/classLinker_1_1Buffer.html create mode 100644 html/classLinker_1_1Buffer.png create mode 100644 html/classLinker_1_1CommonSymbol-members.html create mode 100644 html/classLinker_1_1CommonSymbol.html create mode 100644 html/classLinker_1_1Exception-members.html create mode 100644 html/classLinker_1_1Exception.html create mode 100644 html/classLinker_1_1ExportedSymbol-members.html create mode 100644 html/classLinker_1_1ExportedSymbol.html create mode 100644 html/classLinker_1_1Format-members.html create mode 100644 html/classLinker_1_1Format.html create mode 100644 html/classLinker_1_1Format.png create mode 100644 html/classLinker_1_1InputFormat-members.html create mode 100644 html/classLinker_1_1InputFormat.html create mode 100644 html/classLinker_1_1InputFormat.png create mode 100644 html/classLinker_1_1LinkerManager-members.html create mode 100644 html/classLinker_1_1LinkerManager.html create mode 100644 html/classLinker_1_1LinkerManager.png create mode 100644 html/classLinker_1_1Location-members.html create mode 100644 html/classLinker_1_1Location.html create mode 100644 html/classLinker_1_1Module-members.html create mode 100644 html/classLinker_1_1Module.html create mode 100644 html/classLinker_1_1OutputFormat-members.html create mode 100644 html/classLinker_1_1OutputFormat.html create mode 100644 html/classLinker_1_1OutputFormat.png create mode 100644 html/classLinker_1_1Position-members.html create mode 100644 html/classLinker_1_1Position.html create mode 100644 html/classLinker_1_1Reader-members.html create mode 100644 html/classLinker_1_1Reader.html create mode 100644 html/classLinker_1_1Reference-members.html create mode 100644 html/classLinker_1_1Reference.html create mode 100644 html/classLinker_1_1Relocation-members.html create mode 100644 html/classLinker_1_1Relocation.html create mode 100644 html/classLinker_1_1Resolution-members.html create mode 100644 html/classLinker_1_1Resolution.html create mode 100644 html/classLinker_1_1Section-members.html create mode 100644 html/classLinker_1_1Section.html create mode 100644 html/classLinker_1_1Section.png create mode 100644 html/classLinker_1_1Segment-members.html create mode 100644 html/classLinker_1_1Segment.html create mode 100644 html/classLinker_1_1Segment.png create mode 100644 html/classLinker_1_1SymbolName-members.html create mode 100644 html/classLinker_1_1SymbolName.html create mode 100644 html/classLinker_1_1Target-members.html create mode 100644 html/classLinker_1_1Target.html create mode 100644 html/classLinker_1_1Writable-members.html create mode 100644 html/classLinker_1_1Writable.html create mode 100644 html/classLinker_1_1Writable.png create mode 100644 html/classLinker_1_1Writer-members.html create mode 100644 html/classLinker_1_1Writer.html create mode 100644 html/classLinker_1_1Writer.png create mode 100644 html/classMINIX_1_1MINIXFormat-members.html create mode 100644 html/classMINIX_1_1MINIXFormat.html create mode 100644 html/classMINIX_1_1MINIXFormat.png create mode 100644 html/classMachO_1_1MachOFormat-members.html create mode 100644 html/classMachO_1_1MachOFormat.html create mode 100644 html/classMachO_1_1MachOFormat.png create mode 100644 html/classMicrosoft_1_1LEFormat-members.html create mode 100644 html/classMicrosoft_1_1LEFormat.html create mode 100644 html/classMicrosoft_1_1LEFormat.png create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Entry-members.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Entry.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Entry.png create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Object-members.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Object.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Page-members.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Page.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation-members.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.html create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.png create mode 100644 html/classMicrosoft_1_1LEFormat_1_1Resource.html create mode 100644 html/classMicrosoft_1_1MZFormat-members.html create mode 100644 html/classMicrosoft_1_1MZFormat.html create mode 100644 html/classMicrosoft_1_1MZFormat.png create mode 100644 html/classMicrosoft_1_1MZSimpleStubWriter-members.html create mode 100644 html/classMicrosoft_1_1MZSimpleStubWriter.html create mode 100644 html/classMicrosoft_1_1MZSimpleStubWriter.png create mode 100644 html/classMicrosoft_1_1MZStubWriter-members.html create mode 100644 html/classMicrosoft_1_1MZStubWriter.html create mode 100644 html/classMicrosoft_1_1MZStubWriter.png create mode 100644 html/classMicrosoft_1_1NEFormat-members.html create mode 100644 html/classMicrosoft_1_1NEFormat.html create mode 100644 html/classMicrosoft_1_1NEFormat.png create mode 100644 html/classMicrosoft_1_1NEFormat_1_1Entry-members.html create mode 100644 html/classMicrosoft_1_1NEFormat_1_1Entry.html create mode 100644 html/classMicrosoft_1_1NEFormat_1_1Resource.html create mode 100644 html/classMicrosoft_1_1NEFormat_1_1Segment-members.html create mode 100644 html/classMicrosoft_1_1NEFormat_1_1Segment.html create mode 100644 html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation-members.html create mode 100644 html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation.html create mode 100644 html/classMicrosoft_1_1PEFormat-members.html create mode 100644 html/classMicrosoft_1_1PEFormat.html create mode 100644 html/classMicrosoft_1_1PEFormat.png create mode 100644 html/classO65_1_1O65Format-members.html create mode 100644 html/classO65_1_1O65Format.html create mode 100644 html/classO65_1_1O65Format.png create mode 100644 html/classOMF_1_1OMFFormat-members.html create mode 100644 html/classOMF_1_1OMFFormat.html create mode 100644 html/classOMF_1_1OMFFormat.png create mode 100644 html/classPMODE_1_1PMW1Format-members.html create mode 100644 html/classPMODE_1_1PMW1Format.html create mode 100644 html/classPMODE_1_1PMW1Format.png create mode 100644 html/classPharLap_1_1MPFormat-members.html create mode 100644 html/classPharLap_1_1MPFormat.html create mode 100644 html/classPharLap_1_1MPFormat.png create mode 100644 html/classPharLap_1_1P3Format-members.html create mode 100644 html/classPharLap_1_1P3Format.html create mode 100644 html/classPharLap_1_1P3Format.png create mode 100644 html/classPharLap_1_1P3Format_1_1Flat-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1Flat.html create mode 100644 html/classPharLap_1_1P3Format_1_1Flat.png create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented.png create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.png create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.png create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.png create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Relocation-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Relocation.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.png create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.html create mode 100644 html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.png create mode 100644 html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock-members.html create mode 100644 html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock.html create mode 100644 html/classScript_1_1List-members.html create mode 100644 html/classScript_1_1List.html create mode 100644 html/classScript_1_1Node-members.html create mode 100644 html/classScript_1_1Node.html create mode 100644 html/classScript_1_1Value-members.html create mode 100644 html/classScript_1_1Value.html create mode 100644 html/classScript_1_1Value_3_01void_01_4-members.html create mode 100644 html/classScript_1_1Value_3_01void_01_4.html create mode 100644 html/classSeychellDOS32_1_1AdamFormat-members.html create mode 100644 html/classSeychellDOS32_1_1AdamFormat.html create mode 100644 html/classSeychellDOS32_1_1AdamFormat.png create mode 100644 html/classUnitTests_1_1TestExportedSymbol-members.html create mode 100644 html/classUnitTests_1_1TestExportedSymbol.html create mode 100644 html/classUnitTests_1_1TestExportedSymbol.png create mode 100644 html/classUnitTests_1_1TestLocation-members.html create mode 100644 html/classUnitTests_1_1TestLocation.html create mode 100644 html/classUnitTests_1_1TestLocation.png create mode 100644 html/classUnitTests_1_1TestMZFormat-members.html create mode 100644 html/classUnitTests_1_1TestMZFormat.html create mode 100644 html/classUnitTests_1_1TestMZFormat.png create mode 100644 html/classUnitTests_1_1TestReader-members.html create mode 100644 html/classUnitTests_1_1TestReader.html create mode 100644 html/classUnitTests_1_1TestReader.png create mode 100644 html/classUnitTests_1_1TestSection-members.html create mode 100644 html/classUnitTests_1_1TestSection.html create mode 100644 html/classUnitTests_1_1TestSection.png create mode 100644 html/classUnitTests_1_1TestSymbolName-members.html create mode 100644 html/classUnitTests_1_1TestSymbolName.html create mode 100644 html/classUnitTests_1_1TestSymbolName.png create mode 100644 html/classX68000_1_1HUFormat-members.html create mode 100644 html/classX68000_1_1HUFormat.html create mode 100644 html/classX68000_1_1HUFormat.png create mode 100644 html/classXenix_1_1BOutFormat-members.html create mode 100644 html/classXenix_1_1BOutFormat.html create mode 100644 html/classXenix_1_1BOutFormat.png create mode 100644 html/classXenix_1_1XOutFormat-members.html create mode 100644 html/classXenix_1_1XOutFormat.html create mode 100644 html/classXenix_1_1XOutFormat.png create mode 100644 html/classdump_1_1AOutReader-members.html create mode 100644 html/classdump_1_1AOutReader.html create mode 100644 html/classdump_1_1AOutReader.png create mode 100644 html/classdump_1_1AppleReader-members.html create mode 100644 html/classdump_1_1AppleReader.html create mode 100644 html/classdump_1_1AppleReader.png create mode 100644 html/classdump_1_1COFFReader-members.html create mode 100644 html/classdump_1_1COFFReader.html create mode 100644 html/classdump_1_1COFFReader.png create mode 100644 html/classdump_1_1CPM68KReader-members.html create mode 100644 html/classdump_1_1CPM68KReader.html create mode 100644 html/classdump_1_1CPM68KReader.png create mode 100644 html/classdump_1_1CPM8000Reader-members.html create mode 100644 html/classdump_1_1CPM8000Reader.html create mode 100644 html/classdump_1_1CPM8000Reader.png create mode 100644 html/classdump_1_1CPM86Reader-members.html create mode 100644 html/classdump_1_1CPM86Reader.html create mode 100644 html/classdump_1_1CPM86Reader.png create mode 100644 html/classdump_1_1Determiner-members.html create mode 100644 html/classdump_1_1Determiner.html create mode 100644 html/classdump_1_1ELFReader-members.html create mode 100644 html/classdump_1_1ELFReader.html create mode 100644 html/classdump_1_1ELFReader.png create mode 100644 html/classdump_1_1FileReader-members.html create mode 100644 html/classdump_1_1FileReader.html create mode 100644 html/classdump_1_1FileReader.png create mode 100644 html/classdump_1_1GSOSOMFReader-members.html create mode 100644 html/classdump_1_1GSOSOMFReader.html create mode 100644 html/classdump_1_1GSOSOMFReader.png create mode 100644 html/classdump_1_1HUReader-members.html create mode 100644 html/classdump_1_1HUReader.html create mode 100644 html/classdump_1_1HUReader.png create mode 100644 html/classdump_1_1HunkReader-members.html create mode 100644 html/classdump_1_1HunkReader.html create mode 100644 html/classdump_1_1HunkReader.png create mode 100644 html/classdump_1_1LEReader-members.html create mode 100644 html/classdump_1_1LEReader.html create mode 100644 html/classdump_1_1LEReader.png create mode 100644 html/classdump_1_1MINIXAOutReader-members.html create mode 100644 html/classdump_1_1MINIXAOutReader.html create mode 100644 html/classdump_1_1MINIXAOutReader.png create mode 100644 html/classdump_1_1MZReader-members.html create mode 100644 html/classdump_1_1MZReader.html create mode 100644 html/classdump_1_1MZReader.png create mode 100644 html/classdump_1_1MachOReader-members.html create mode 100644 html/classdump_1_1MachOReader.html create mode 100644 html/classdump_1_1MachOReader.png create mode 100644 html/classdump_1_1MacintoshResourceReader-members.html create mode 100644 html/classdump_1_1MacintoshResourceReader.html create mode 100644 html/classdump_1_1MacintoshResourceReader.png create mode 100644 html/classdump_1_1NEReader-members.html create mode 100644 html/classdump_1_1NEReader.html create mode 100644 html/classdump_1_1NEReader.png create mode 100644 html/classdump_1_1PEFReader-members.html create mode 100644 html/classdump_1_1PEFReader.html create mode 100644 html/classdump_1_1PEFReader.png create mode 100644 html/classdump_1_1PEReader-members.html create mode 100644 html/classdump_1_1PEReader.html create mode 100644 html/classdump_1_1PEReader.png create mode 100644 html/classdump_1_1Reader-members.html create mode 100644 html/classdump_1_1Reader.html create mode 100644 html/classes.html create mode 100644 html/clipboard.js create mode 100644 html/closed.png create mode 100644 html/coff_8h_source.html create mode 100644 html/common_8h_source.html create mode 100644 html/cookie.js create mode 100644 html/cpm68k_8h_source.html create mode 100644 html/cpm86_8h_source.html create mode 100644 html/cpm8k_8h_source.html create mode 100644 html/dir_244674c763b96fdad0a6ffe8d0250e08.html create mode 100644 html/dir_24c049936c2e162b277227e4c6675044.html create mode 100644 html/dir_33e3a8b77e98edc0abf3724e73dcab00.html create mode 100644 html/dir_41b844c4f7b9bcc409e1bbd7bd44feef.html create mode 100644 html/dir_4ef497cb82522960ed42bfda41084510.html create mode 100644 html/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 html/dir_bc4706af0fd62d102425849105df0478.html create mode 100644 html/dir_fe414d616bd0c4668e6515f48824338f.html create mode 100644 html/doc.svg create mode 100644 html/docd.svg create mode 100644 html/dosexe_8h_source.html create mode 100644 html/doxygen.css create mode 100644 html/doxygen.svg create mode 100644 html/doxygen_crawl.html create mode 100644 html/dumper_8h_source.html create mode 100644 html/dynsections.js create mode 100644 html/elf_8h_source.html create mode 100644 html/files.html create mode 100644 html/folderclosed.svg create mode 100644 html/folderclosedd.svg create mode 100644 html/folderopen.svg create mode 100644 html/folderopend.svg create mode 100644 html/format_8h_source.html create mode 100644 html/functions.html create mode 100644 html/functions_b.html create mode 100644 html/functions_c.html create mode 100644 html/functions_d.html create mode 100644 html/functions_e.html create mode 100644 html/functions_enum.html create mode 100644 html/functions_eval.html create mode 100644 html/functions_f.html create mode 100644 html/functions_func.html create mode 100644 html/functions_func_b.html create mode 100644 html/functions_func_c.html create mode 100644 html/functions_func_d.html create mode 100644 html/functions_func_e.html create mode 100644 html/functions_func_f.html create mode 100644 html/functions_func_g.html create mode 100644 html/functions_func_i.html create mode 100644 html/functions_func_l.html create mode 100644 html/functions_func_o.html create mode 100644 html/functions_func_p.html create mode 100644 html/functions_func_r.html create mode 100644 html/functions_func_s.html create mode 100644 html/functions_func_t.html create mode 100644 html/functions_func_w.html create mode 100644 html/functions_g.html create mode 100644 html/functions_h.html create mode 100644 html/functions_i.html create mode 100644 html/functions_l.html create mode 100644 html/functions_m.html create mode 100644 html/functions_n.html create mode 100644 html/functions_o.html create mode 100644 html/functions_p.html create mode 100644 html/functions_r.html create mode 100644 html/functions_s.html create mode 100644 html/functions_t.html create mode 100644 html/functions_u.html create mode 100644 html/functions_v.html create mode 100644 html/functions_vars.html create mode 100644 html/functions_vars_b.html create mode 100644 html/functions_vars_c.html create mode 100644 html/functions_vars_d.html create mode 100644 html/functions_vars_e.html create mode 100644 html/functions_vars_f.html create mode 100644 html/functions_vars_g.html create mode 100644 html/functions_vars_h.html create mode 100644 html/functions_vars_i.html create mode 100644 html/functions_vars_l.html create mode 100644 html/functions_vars_m.html create mode 100644 html/functions_vars_n.html create mode 100644 html/functions_vars_o.html create mode 100644 html/functions_vars_p.html create mode 100644 html/functions_vars_r.html create mode 100644 html/functions_vars_s.html create mode 100644 html/functions_vars_t.html create mode 100644 html/functions_vars_u.html create mode 100644 html/functions_vars_v.html create mode 100644 html/functions_vars_w.html create mode 100644 html/functions_vars_y.html create mode 100644 html/functions_vars_z.html create mode 100644 html/functions_w.html create mode 100644 html/functions_y.html create mode 100644 html/functions_z.html create mode 100644 html/geos_8h_source.html create mode 100644 html/gsos_8h_source.html create mode 100644 html/hierarchy.html create mode 100644 html/huexe_8h_source.html create mode 100644 html/hunk_8h_source.html create mode 100644 html/index.html create mode 100644 html/jquery.js create mode 100644 html/leexe_8h_source.html create mode 100644 html/linker_8h_source.html create mode 100644 html/location_8h_source.html create mode 100644 html/macho_8h_source.html create mode 100644 html/macos_8h_source.html create mode 100644 html/menu.js create mode 100644 html/menudata.js create mode 100644 html/minix_8h_source.html create mode 100644 html/minus.svg create mode 100644 html/minusd.svg create mode 100644 html/module_8h_source.html create mode 100644 html/mzexe_8h_source.html create mode 100644 html/nav_f.png create mode 100644 html/nav_fd.png create mode 100644 html/nav_g.png create mode 100644 html/nav_h.png create mode 100644 html/nav_hd.png create mode 100644 html/neexe_8h_source.html create mode 100644 html/o65_8h_source.html create mode 100644 html/omf_8h_source.html create mode 100644 html/open.png create mode 100644 html/parse_8tab_8hh_source.html create mode 100644 html/peexe_8h_source.html create mode 100644 html/pefexe_8h_source.html create mode 100644 html/pharlap_8h_source.html create mode 100644 html/plus.svg create mode 100644 html/plusd.svg create mode 100644 html/pmode_8h_source.html create mode 100644 html/position_8h_source.html create mode 100644 html/reader_8h_source.html create mode 100644 html/relocation_8h_source.html create mode 100644 html/resolution_8h_source.html create mode 100644 html/script_8h_source.html create mode 100644 html/search/all_0.js create mode 100644 html/search/all_1.js create mode 100644 html/search/all_10.js create mode 100644 html/search/all_11.js create mode 100644 html/search/all_12.js create mode 100644 html/search/all_13.js create mode 100644 html/search/all_14.js create mode 100644 html/search/all_15.js create mode 100644 html/search/all_16.js create mode 100644 html/search/all_17.js create mode 100644 html/search/all_18.js create mode 100644 html/search/all_19.js create mode 100644 html/search/all_1a.js create mode 100644 html/search/all_2.js create mode 100644 html/search/all_3.js create mode 100644 html/search/all_4.js create mode 100644 html/search/all_5.js create mode 100644 html/search/all_6.js create mode 100644 html/search/all_7.js create mode 100644 html/search/all_8.js create mode 100644 html/search/all_9.js create mode 100644 html/search/all_a.js create mode 100644 html/search/all_b.js create mode 100644 html/search/all_c.js create mode 100644 html/search/all_d.js create mode 100644 html/search/all_e.js create mode 100644 html/search/all_f.js create mode 100644 html/search/classes_0.js create mode 100644 html/search/classes_1.js create mode 100644 html/search/classes_10.js create mode 100644 html/search/classes_11.js create mode 100644 html/search/classes_12.js create mode 100644 html/search/classes_13.js create mode 100644 html/search/classes_14.js create mode 100644 html/search/classes_15.js create mode 100644 html/search/classes_16.js create mode 100644 html/search/classes_17.js create mode 100644 html/search/classes_2.js create mode 100644 html/search/classes_3.js create mode 100644 html/search/classes_4.js create mode 100644 html/search/classes_5.js create mode 100644 html/search/classes_6.js create mode 100644 html/search/classes_7.js create mode 100644 html/search/classes_8.js create mode 100644 html/search/classes_9.js create mode 100644 html/search/classes_a.js create mode 100644 html/search/classes_b.js create mode 100644 html/search/classes_c.js create mode 100644 html/search/classes_d.js create mode 100644 html/search/classes_e.js create mode 100644 html/search/classes_f.js create mode 100644 html/search/close.svg create mode 100644 html/search/enums_0.js create mode 100644 html/search/enums_1.js create mode 100644 html/search/enums_2.js create mode 100644 html/search/enums_3.js create mode 100644 html/search/enums_4.js create mode 100644 html/search/enums_5.js create mode 100644 html/search/enumvalues_0.js create mode 100644 html/search/enumvalues_1.js create mode 100644 html/search/enumvalues_10.js create mode 100644 html/search/enumvalues_2.js create mode 100644 html/search/enumvalues_3.js create mode 100644 html/search/enumvalues_4.js create mode 100644 html/search/enumvalues_5.js create mode 100644 html/search/enumvalues_6.js create mode 100644 html/search/enumvalues_7.js create mode 100644 html/search/enumvalues_8.js create mode 100644 html/search/enumvalues_9.js create mode 100644 html/search/enumvalues_a.js create mode 100644 html/search/enumvalues_b.js create mode 100644 html/search/enumvalues_c.js create mode 100644 html/search/enumvalues_d.js create mode 100644 html/search/enumvalues_e.js create mode 100644 html/search/enumvalues_f.js create mode 100644 html/search/functions_0.js create mode 100644 html/search/functions_1.js create mode 100644 html/search/functions_2.js create mode 100644 html/search/functions_3.js create mode 100644 html/search/functions_4.js create mode 100644 html/search/functions_5.js create mode 100644 html/search/functions_6.js create mode 100644 html/search/functions_7.js create mode 100644 html/search/functions_8.js create mode 100644 html/search/functions_9.js create mode 100644 html/search/functions_a.js create mode 100644 html/search/functions_b.js create mode 100644 html/search/functions_c.js create mode 100644 html/search/functions_d.js create mode 100644 html/search/functions_e.js create mode 100644 html/search/mag.svg create mode 100644 html/search/mag_d.svg create mode 100644 html/search/mag_sel.svg create mode 100644 html/search/mag_seld.svg create mode 100644 html/search/pages_0.js create mode 100644 html/search/pages_1.js create mode 100644 html/search/pages_2.js create mode 100644 html/search/pages_3.js create mode 100644 html/search/pages_4.js create mode 100644 html/search/pages_5.js create mode 100644 html/search/pages_6.js create mode 100644 html/search/pages_7.js create mode 100644 html/search/pages_8.js create mode 100644 html/search/pages_9.js create mode 100644 html/search/search.css create mode 100644 html/search/search.js create mode 100644 html/search/searchdata.js create mode 100644 html/search/variables_0.js create mode 100644 html/search/variables_1.js create mode 100644 html/search/variables_10.js create mode 100644 html/search/variables_11.js create mode 100644 html/search/variables_12.js create mode 100644 html/search/variables_13.js create mode 100644 html/search/variables_14.js create mode 100644 html/search/variables_15.js create mode 100644 html/search/variables_2.js create mode 100644 html/search/variables_3.js create mode 100644 html/search/variables_4.js create mode 100644 html/search/variables_5.js create mode 100644 html/search/variables_6.js create mode 100644 html/search/variables_7.js create mode 100644 html/search/variables_8.js create mode 100644 html/search/variables_9.js create mode 100644 html/search/variables_a.js create mode 100644 html/search/variables_b.js create mode 100644 html/search/variables_c.js create mode 100644 html/search/variables_d.js create mode 100644 html/search/variables_e.js create mode 100644 html/search/variables_f.js create mode 100644 html/section_8h_source.html create mode 100644 html/segment_8h_source.html create mode 100644 html/splitbar.png create mode 100644 html/splitbard.png create mode 100644 html/structApple_1_1FinderInfo_1_1Point-members.html create mode 100644 html/structApple_1_1FinderInfo_1_1Point.html create mode 100644 html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry-members.html create mode 100644 html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry.html create mode 100644 html/structBinary_1_1AtariFormat_1_1Segment-members.html create mode 100644 html/structBinary_1_1AtariFormat_1_1Segment.html create mode 100644 html/structBinary_1_1CPM3Format_1_1rsx__record-members.html create mode 100644 html/structBinary_1_1CPM3Format_1_1rsx__record.html create mode 100644 html/structBinary_1_1FLEXFormat_1_1Segment-members.html create mode 100644 html/structBinary_1_1FLEXFormat_1_1Segment.html create mode 100644 html/structCOFF_1_1COFFFormat_1_1MachineType-members.html create mode 100644 html/structCOFF_1_1COFFFormat_1_1MachineType.html create mode 100644 html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation-members.html create mode 100644 html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor-members.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1Relocation-members.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1Relocation.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1library-members.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1library.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1library.png create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1library__id-members.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1library__id.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1library__id.png create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1relocation__source-members.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1relocation__source.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1rsx__record-members.html create mode 100644 html/structDigitalResearch_1_1CPM86Format_1_1rsx__record.html create mode 100644 html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation-members.html create mode 100644 html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html create mode 100644 html/structDigitalResearch_1_1CPM8KFormat_1_1Symbol.html create mode 100644 html/structMicrosoft_1_1LEFormat_1_1Name-members.html create mode 100644 html/structMicrosoft_1_1LEFormat_1_1Name.html create mode 100644 html/structMicrosoft_1_1MZFormat_1_1PIF-members.html create mode 100644 html/structMicrosoft_1_1MZFormat_1_1PIF.html create mode 100644 html/structMicrosoft_1_1MZFormat_1_1Relocation-members.html create mode 100644 html/structMicrosoft_1_1MZFormat_1_1Relocation.html create mode 100644 html/structMicrosoft_1_1NEFormat_1_1Name-members.html create mode 100644 html/structMicrosoft_1_1NEFormat_1_1Name.html create mode 100644 html/structMicrosoft_1_1NEFormat_1_1version-members.html create mode 100644 html/structMicrosoft_1_1NEFormat_1_1version.html create mode 100644 html/structformat__description-members.html create mode 100644 html/structformat__description.html create mode 100644 html/structformat__magic-members.html create mode 100644 html/structformat__magic.html create mode 100644 html/structoutput__format__type-members.html create mode 100644 html/structoutput__format__type.html create mode 100644 html/structyy__buffer__state-members.html create mode 100644 html/structyy__buffer__state.html create mode 100644 html/structyy__trans__info-members.html create mode 100644 html/structyy__trans__info.html create mode 100644 html/symbol_8h_source.html create mode 100644 html/sync_off.png create mode 100644 html/sync_on.png create mode 100644 html/tab_a.png create mode 100644 html/tab_ad.png create mode 100644 html/tab_b.png create mode 100644 html/tab_bd.png create mode 100644 html/tab_h.png create mode 100644 html/tab_hd.png create mode 100644 html/tab_s.png create mode 100644 html/tab_sd.png create mode 100644 html/tabs.css create mode 100644 html/target_8h_source.html create mode 100644 html/unionPharLap_1_1MPFormat_1_1Relocation-members.html create mode 100644 html/unionPharLap_1_1MPFormat_1_1Relocation.html create mode 100644 html/unionYYSTYPE-members.html create mode 100644 html/unionYYSTYPE.html create mode 100644 html/unionyyalloc-members.html create mode 100644 html/unionyyalloc.html create mode 100644 html/unittest_2format_2mzexe_8cc_source.html create mode 100644 html/unittest_2linker_2location_8cc_source.html create mode 100644 html/unittest_2linker_2reader_8cc_source.html create mode 100644 html/unittest_2linker_2section_8cc_source.html create mode 100644 html/unittest_2linker_2symbol_8cc_source.html create mode 100644 html/writable_8h_source.html create mode 100644 html/writer_8h_source.html create mode 100644 html/xenix_8h_source.html create mode 100644 html/xpexp_8h_source.html diff --git a/.gitignore b/.gitignore index 4e8b0ea5..24fbceef 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ src/script/scan.cc link unittest/main results.xml -/html /latex tests/1_hello/* !tests/1_hello/*.s diff --git a/html/8bitexe_8h_source.html b/html/8bitexe_8h_source.html new file mode 100644 index 00000000..02765e54 --- /dev/null +++ b/html/8bitexe_8h_source.html @@ -0,0 +1,384 @@ + + + + + + + +RetroLinker: src/format/8bitexe.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
8bitexe.h
+
+
+
1#ifndef _8BITEXE_H
+
2#define _8BITEXE_H
+
3
+
4#include <algorithm>
+
5#include "binary.h"
+
6#include "../common.h"
+
7#include "../linker/module.h"
+
8#include "../linker/reader.h"
+
9#include "../linker/segment.h"
+
10#include "../linker/writer.h"
+
11
+
12/* TODO: this is all pretty much preliminary */
+
13/* TODO: combine into binary.h? */
+
14
+
15namespace Binary
+
16{
+
+ +
21 {
+
22 public:
+
23 /* TODO: untested */
+
24
+
25 /* TODO: enable setting the base address as a parameter */
+
26 /* TODO: SYS files are pure binary loaded at 0x2000 */
+
27
+
28 AppleFormat(uint64_t default_base_address = 0x0803, std::string default_extension = ".bin")
+
29 : BinaryFormat(default_base_address, default_extension)
+
30 {
+
31 }
+
32
+
33 void ReadFile(Linker::Reader& rd) override;
+
34
+
35 void WriteFile(Linker::Writer& wr) override;
+
36 };
+
+
37
+
+ +
42 {
+
43 public:
+
44 /* TODO: untested */
+
45
+
46 /* TODO: enable setting the base address, default should be ??? */
+
47
+
48 /* exe, obj, com are also used */
+
49 AtariFormat(uint64_t default_base_address = 0, std::string default_extension = ".xex")
+
50 : BinaryFormat(default_base_address, default_extension)
+
51 {
+
52 }
+
53
+
+
54 struct Segment
+
55 {
+
56 public:
+
57 uint16_t header;
+
58 bool header_optional;
+
59 uint16_t address;
+
60 Linker::Writable * image;
+
61
+
62 Segment(bool header_optional = true)
+
63 : header(0xFFFF), header_optional(header_optional), address(0), image(nullptr)
+
64 {
+
65 }
+
66
+
67 Segment(uint16_t header)
+
68 : header(header), header_optional(false), address(0), image(nullptr)
+
69 {
+
70 }
+
71
+
72 ~Segment()
+
73 {
+
74 if(image)
+
75 delete image;
+
76 }
+
77
+
78 void ReadFile(Linker::Reader& rd);
+
79
+
80 void WriteFile(Linker::Writer& wr);
+
81 };
+
+
82
+
83 std::vector<Segment *> segments;
+
84
+
85 void OnNewSegment(Linker::Segment * segment) override;
+
86
+
87 void ProcessModule(Linker::Module& module) override;
+
88
+
89 void ReadFile(Linker::Reader& rd) override;
+
90
+
91 void WriteFile(Linker::Writer& wr) override;
+
92 };
+
+
93
+
+ +
98 {
+
99 public:
+
100 /* TODO */
+
101
+
102 enum
+
103 {
+
104 BASIC_SYS = 0x9E, /* BASIC token */
+
105 };
+
106
+
107 Linker::Segment * loader; /* loader routine in BASIC */
+
108
+
109 void SetupDefaultLoader();
+
110
+
111 void ProcessModule(Linker::Module& module) override;
+
112
+
113 void WriteFile(Linker::Writer& wr) override;
+
114
+
115 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
116 };
+
+
117
+
+ +
122 {
+
123 public:
+
124 /* TODO: untested */
+
125
+
126 uint8_t preinit_code[10];
+
127 bool loader_active;
+
128 uint8_t rsx_count;
+
+ +
130 {
+
131 std::string name;
+
132 uint16_t offset;
+
133 uint16_t length; /* only used for reading */
+
134 bool nonbanked_only;
+
135 BinaryFormat * module;
+
136 };
+
+
137 std::vector<rsx_record> rsx_table;
+
138
+
139 void Initialize() override;
+
140
+
141 void Clear() override;
+
142
+
143 CPM3Format()
+
144 {
+
145 Initialize();
+
146 }
+
147
+ +
149 {
+
150 Clear();
+
151 }
+
152
+
153 void ReadFile(Linker::Reader& rd) override;
+
154
+
155 void WriteFile(Linker::Writer& wr) override;
+
156 };
+
+
157
+
+ +
162 {
+
163 public:
+
164 /* TODO: enable setting the base address, default should be ??? */
+
165
+
+
166 struct Segment
+
167 {
+
168 public:
+
169 uint16_t address;
+
170 uint16_t size; /* it is supposed to be at most 255, but we can store larger segments by cutting them into pieces */
+
171 Linker::Writable * image;
+
172
+
173 void WriteFile(Linker::Writer& wr);
+
174 };
+
+
175
+
176 std::vector<Segment *> segments;
+
177
+
178 void OnNewSegment(Linker::Segment * segment) override;
+
179
+
180 void WriteFile(Linker::Writer& wr) override;
+
181
+
182 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
183 };
+
+
184
+
+
188 class PRLFormat : public BinaryFormat
+
189 {
+
190 public:
+
191 /* TODO: untested */
+
192
+
193 uint16_t zero_fill;
+
194
+
195 bool suppress_relocations;
+
196
+
197 std::set<uint16_t> relocations;
+
198
+
199 PRLFormat(uint64_t default_base_address = 0, std::string default_extension = ".prl")
+
200 : BinaryFormat(default_base_address, default_extension)
+
201 {
+
202 }
+
203
+
204 void OnNewSegment(Linker::Segment * segment) override;
+
205
+
206 bool ProcessRelocation(Linker::Module& module, Linker::Relocation& rel, Linker::Resolution resolution) override;
+
207
+
208 void WriteFile(Linker::Writer& wr) override;
+
209 };
+
+
210
+
+
214 class UZIFormat : public BinaryFormat
+
215 {
+
216 public:
+
217 /* TODO */
+
218 bool uzi180_header;
+
219 uint16_t entry;
+
220
+
221 void ProcessModule(Linker::Module& module) override;
+
222
+
223 void WriteFile(Linker::Writer& wr) override;
+
224
+ +
226 std::string GetDefaultExtension(Linker::Module& module) override;
+
227 };
+
+
228
+
+ +
233 {
+
234 public:
+
235 Linker::Writable * code, * data;
+
236
+
237 void OnNewSegment(Linker::Segment * segment) override;
+
238
+
239 /* TODO: apparently both .code and .data are loaded at 0x0100 */
+
240
+
241 void WriteFile(Linker::Writer& wr) override;
+
242
+ +
244 std::string GetDefaultExtension(Linker::Module& module) override;
+
245 };
+
+
246}
+
247
+
248#endif /* _8BITEXE_H */
+
BIN file for Apple ][.
Definition 8bitexe.h:21
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:20
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition 8bitexe.cc:8
+
EXE file for Atari 400/800.
Definition 8bitexe.h:42
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition 8bitexe.cc:66
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition 8bitexe.cc:84
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:99
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition 8bitexe.cc:77
+
A flat binary format, with no header, loaded directly into memory.
Definition binary.h:30
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition binary.cc:407
+
CP/M Plus .com file format.
Definition 8bitexe.h:122
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition 8bitexe.cc:163
+
void Initialize() override
Sets all fields to their default values.
Definition 8bitexe.cc:146
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:197
+
void Clear() override
Resets all fields to their default values, deallocate memory.
Definition 8bitexe.cc:153
+
PRG file for Commodore PET/VIC-20/64.
Definition 8bitexe.h:98
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition 8bitexe.cc:139
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition 8bitexe.cc:125
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:131
+
FLEX .cmd file format.
Definition 8bitexe.h:162
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:246
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition 8bitexe.cc:237
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition 8bitexe.cc:255
+
MP/M .prl file format.
Definition 8bitexe.h:189
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition 8bitexe.cc:265
+
bool ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution) override
Callback function to process relocations.
Definition 8bitexe.cc:275
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:288
+
UZI280 file format.
Definition 8bitexe.h:233
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition 8bitexe.cc:347
+
std::string GetDefaultExtension(Linker::Module &module) override
Provides a default filename for the output file.
Definition 8bitexe.cc:378
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:365
+
UZI/UZI280 file formats.
Definition 8bitexe.h:215
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition 8bitexe.cc:328
+
std::string GetDefaultExtension(Linker::Module &module) override
Provides a default filename for the output file.
Definition 8bitexe.cc:340
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition 8bitexe.cc:322
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A representation of a value within some binary data that has to be fixed up once the exact position o...
Definition relocation.h:27
+
Representing a resolved relocation.
Definition resolution.h:17
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition 8bitexe.h:55
+
Definition 8bitexe.h:130
+
Definition 8bitexe.h:167
+
+ + + + diff --git a/html/annotated.html b/html/annotated.html new file mode 100644 index 00000000..8ecc25dd --- /dev/null +++ b/html/annotated.html @@ -0,0 +1,323 @@ + + + + + + + +RetroLinker: Class List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NAmiga
 NAOut
 NApple
 NAS86Obj
 NBinary
 NBrocaD3X
 NCOFF
 NDigitalResearch
 NDOS16M
 Ndump
 NDumper
 NDX64
 NELF
 NErgo
 NGEOS
 NLinker
 NMachO
 NMicrosoft
 NMINIX
 NO65
 NOMF
 NPharLap
 NPMODE
 NScript
 NSeychellDOS32
 NUnitTests
 NX68000
 NXenix
 Cformat_description
 Cformat_magic
 Coutput_format_type
 Cyy_buffer_state
 Cyy_trans_info
 Cyyalloc
 CYYSTYPE
+
+
+ + + + diff --git a/html/aout_8h_source.html b/html/aout_8h_source.html new file mode 100644 index 00000000..c117bf7f --- /dev/null +++ b/html/aout_8h_source.html @@ -0,0 +1,284 @@ + + + + + + + +RetroLinker: src/format/aout.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
aout.h
+
+
+
1#ifndef AOUT_H
+
2#define AOUT_H
+
3
+
4#include "mzexe.h"
+
5#include "../common.h"
+
6#include "../linker/linker.h"
+
7#include "../linker/module.h"
+
8#include "../linker/segment.h"
+
9#include "../linker/writer.h"
+
10
+
11/* TODO: UNIX v1 a.out
+
12 magic
+
13 header_size + text_size + data_size
+
14 symtab_size
+
15 relocations_size
+
16 bss_size
+
17 0
+
18
+
19TODO: PDP-11 a.out
+
20*/
+
21
+
22namespace AOut
+
23{
+
+ +
48 {
+
49 public:
+
50 /* * * General members * * */
+
51
+ +
53 : code(nullptr), data(nullptr), bss(nullptr)
+
54 {
+
55 }
+
56
+ +
58 {
+
59 if(code)
+
60 {
+
61 delete code;
+
62 }
+
63 if(data)
+
64 {
+
65 delete data;
+
66 }
+
67 if(bss)
+
68 {
+
69 delete bss;
+
70 }
+
71 }
+
72
+
73 ::EndianType endiantype;
+
74 unsigned word_size;
+
75
+
76 enum magic_type
+
77 {
+
78 OMAGIC = 0x0107,
+
79 NMAGIC = 0x0108,
+
80 ZMAGIC = 0x010B,
+
81 QMAGIC = 0x00CC,
+
82 } magic;
+
83
+
84 enum cpu_type
+
85 {
+
86 UNKNOWN = 0x00,
+
87 M68010 = 0x01,
+
88 M68020 = 0x02,
+
89 SPARC = 0x03,
+
90 I80386 = 0x64,
+
91 ARM = 0x67, /* according to BFD */
+
92 MIPS1 = 0x97,
+
93 MIPS2 = 0x98,
+
94 PDP11 = 0xFF, /* not a real magic number */
+
95 } cpu;
+
96
+
97 ::EndianType GetEndianType() const;
+
98
+
99 unsigned GetWordSize() const;
+
100
+
101 uint32_t code_size;
+
102 uint32_t data_size;
+
103 uint32_t bss_size;
+
104 uint32_t symbol_table_size;
+
105 uint32_t entry_address;
+
106 uint32_t code_relocation_size;
+
107 uint32_t data_relocation_size;
+
108 std::map<uint32_t, uint32_t> code_relocations, data_relocations; /* only used by PDOS386 OMAGIC */
+
109
+
110 Linker::Writable * code, * data, * bss;
+
111
+
112 private:
+
113 bool AttemptFetchMagic(uint8_t signature[4]);
+
114
+
115 bool AttemptReadFile(Linker::Reader& rd, uint8_t signature[4], offset_t image_size);
+
116
+
117 public:
+
+
118 class Symbol
+
119 {
+
120 public:
+
121 std::string name;
+
122 uint16_t unknown;
+
123 uint16_t name_offset;
+
124 uint16_t type;
+
125 uint16_t value;
+
126 };
+
+
127
+
128 std::vector<Symbol> symbols;
+
129
+
130 void ReadFile(Linker::Reader& rd) override;
+
131
+
132 void WriteFile(Linker::Writer& wr) override;
+
133
+
134 /* * * Reader * * */
+
135
+
136 private:
+
137 void GenerateModule(Linker::Module& module);
+
138
+
139 public:
+
140 void ProduceModule(Linker::Module& module, Linker::Reader& rd) override;
+
141
+
142 /* * * Writer * * */
+
143
+
144 enum system_type
+
145 {
+
146 UNIX, /* also Linux */ /* TODO */
+
147 DJGPP1, /* early DJGPP */
+
148 PDOS386, /* http://pdos.sourceforge.net/ */
+
149 } system;
+
150
+
151 static AOutFormat * CreateWriter(system_type system, magic_type magic);
+
152
+
153 static AOutFormat * CreateWriter(system_type system);
+
154
+
161 static magic_type GetDefaultMagic(system_type system);
+
162
+
163 void SetOptions(std::map<std::string, std::string>& options) override;
+
164
+
165 void OnNewSegment(Linker::Segment * segment) override;
+
166
+
167 void CreateDefaultSegments();
+
168
+
169 Script::List * GetScript(Linker::Module& module);
+
170
+
171 void Link(Linker::Module& module);
+
172
+
173 Linker::Segment * GetCodeSegment();
+
174
+
175 Linker::Segment * GetDataSegment();
+
176
+
177 Linker::Segment * GetBssSegment();
+
178
+
179 void ProcessModule(Linker::Module& module) override;
+
180
+
181 void CalculateValues() override;
+
182
+
183 using LinkerManager::SetLinkScript;
+
184
+
185 void GenerateFile(std::string filename, Linker::Module& module) override;
+
186
+
187 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
188
+
189 std::string GetDefaultExtension(Linker::Module& module) override;
+
190 };
+
+
191
+
192}
+
193
+
194#endif /* AOUT_H */
+
Definition aout.h:119
+
UNIX/Linux a.out binary file format.
Definition aout.h:48
+
void ProduceModule(Linker::Module &module, Linker::Reader &rd) override
Reads a file and loads the information into a module object.
Definition aout.cc:578
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition aout.cc:355
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition aout.cc:618
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition aout.cc:844
+
static magic_type GetDefaultMagic(system_type system)
Default magic number associated with the system.
Definition aout.cc:599
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition aout.cc:712
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition aout.cc:611
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition aout.cc:815
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition aout.cc:145
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition aout.cc:827
+
A class that provides a general interface to loading a module.
Definition format.h:165
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition mzexe.h:255
+
Definition script.h:61
+
+ + + + diff --git a/html/as86obj_8h_source.html b/html/as86obj_8h_source.html new file mode 100644 index 00000000..49237846 --- /dev/null +++ b/html/as86obj_8h_source.html @@ -0,0 +1,126 @@ + + + + + + + +RetroLinker: src/format/as86obj.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
as86obj.h
+
+
+
1#ifndef AS86OBJ_H
+
2#define AS86OBJ_H
+
3
+
4#include "../common.h"
+
5#include "../linker/reader.h"
+
6#include "../linker/writer.h"
+
7
+
8/* TODO: unimplemented */
+
9
+
10/* as86 object format (input only) */
+
11namespace AS86Obj
+
12{
+
+
16 class AS86ObjFormat : public virtual Linker::InputFormat
+
17 {
+
18 public:
+
19 void ReadFile(Linker::Reader& in) override;
+
20 void WriteFile(Linker::Writer& out) override;
+
21 void ProduceModule(Linker::Module& module, Linker::Reader& rd) override;
+
22 /* TODO */
+
23 };
+
+
24}
+
25
+
26#endif /* AS86OBJ_H */
+
Output format for as86, used as an output by Bruce's C compiler from the dev86 package.
Definition as86obj.h:17
+
void ProduceModule(Linker::Module &module, Linker::Reader &rd) override
Reads a file and loads the information into a module object.
Definition as86obj.cc:18
+
void ReadFile(Linker::Reader &in) override
Loads file into memory.
Definition as86obj.cc:8
+
void WriteFile(Linker::Writer &out) override
Stores data in memory to file.
Definition as86obj.cc:13
+
A class that provides a general interface to loading a module.
Definition format.h:165
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
+ + + + diff --git a/html/bc_s.png b/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/html/bc_sd.png b/html/bc_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..31ca888dc71049713b35c351933a8d0f36180bf1 GIT binary patch literal 635 zcmV->0)+jEP)Jwi0r1~gdSq#w{Bu1q z`craw(p2!hu$4C_$Oc3X(sI6e=9QSTwPt{G) z=htT&^~&c~L2~e{r5_5SYe7#Is-$ln>~Kd%$F#tC65?{LvQ}8O`A~RBB0N~`2M+waajO;5>3B&-viHGJeEK2TQOiPRa zfDKyqwMc4wfaEh4jt>H`nW_Zidwk@Bowp`}(VUaj-pSI(-1L>FJVsX}Yl9~JsqgsZ zUD9(rMwf23Gez6KPa|wwInZodP-2}9@fK0Ga_9{8SOjU&4l`pH4@qlQp83>>HT$xW zER^U>)MyV%t(Lu=`d=Y?{k1@}&r7ZGkFQ%z%N+sE9BtYjovzxyxCPxN6&@wLK{soQ zSmkj$aLI}miuE^p@~4}mg9OjDfGEkgY4~^XzLRUBB*O{+&vq<3v(E%+k_i%=`~j%{ Vj14gnt9}3g002ovPDHLkV1n!oC4m3{ literal 0 HcmV?d00001 diff --git a/html/binary_8h_source.html b/html/binary_8h_source.html new file mode 100644 index 00000000..edf2e507 --- /dev/null +++ b/html/binary_8h_source.html @@ -0,0 +1,237 @@ + + + + + + + +RetroLinker: src/format/binary.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
binary.h
+
+
+
1#ifndef BINARY_H
+
2#define BINARY_H
+
3
+
4#include "../common.h"
+
5#include "../linker/linker.h"
+
6#include "../linker/module.h"
+
7#include "../linker/segment.h"
+
8#include "../linker/writer.h"
+
9#include "mzexe.h"
+
10
+
11/* TODO:
+
12 refactor, use a Writable for writing, introduce base_address and zero_fill fields? maybe only for specific subclasses (such as PRL)
+
13*/
+
14
+
15namespace Binary
+
16{
+
+ +
30 {
+
31 public:
+
32 /* * * General members * * */
+
33
+ +
36
+ +
39
+
40 void Initialize() override;
+
41
+
42 void Clear() override;
+
43
+
44 BinaryFormat(uint64_t default_base_address = 0, std::string default_extension = "")
+
45 : position_independent(false), base_address(default_base_address), extension(default_extension)
+
46 {
+
47 Initialize();
+
48 }
+
49
+
50 BinaryFormat(std::string default_extension)
+
51 : position_independent(true), base_address(0), extension(default_extension)
+
52 {
+
53 Initialize();
+
54 }
+
55
+
56 ~BinaryFormat()
+
57 {
+
58 Clear();
+
59 }
+
60
+
61 void ReadFile(Linker::Reader& rd) override;
+
62
+
63 void WriteFile(Linker::Writer& wr) override;
+
64
+
65 void Dump(Dumper::Dumper& dump) override;
+
66
+
67 /* * * Writer members * * */
+
68 bool FormatSupportsSegmentation() const override;
+
69
+
70 bool FormatIs16bit() const override;
+
71
+
72 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
+
73
+ +
77 uint64_t base_address;
+ + +
95 std::string extension;
+
96
+
97 using LinkerManager::SetLinkScript;
+
98
+
99 void SetModel(std::string model) override;
+
100
+
101 void SetOptions(std::map<std::string, std::string>& options) override;
+
102
+
103 void OnNewSegment(Linker::Segment * segment) override;
+
104
+
105 void CreateDefaultSegments();
+
106
+
107 Script::List * GetScript(Linker::Module& module);
+
108
+
112 virtual bool ProcessRelocation(Linker::Module& module, Linker::Relocation& rel, Linker::Resolution resolution);
+
113
+
114 void Link(Linker::Module& module);
+
115
+
116 void ProcessModule(Linker::Module& module) override;
+
117
+
118 void CalculateValues() override;
+
119
+
120 void GenerateFile(std::string filename, Linker::Module& module) override;
+
121
+
122 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
123 };
+
+
124
+
125}
+
126
+
127#endif /* BINARY_H */
+
A flat binary format, with no header, loaded directly into memory.
Definition binary.h:30
+
bool FormatIs16bit() const override
Whether the format is 16-bit or not.
Definition binary.cc:90
+
memory_model_t memory_model
Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
Definition binary.h:93
+
void SetModel(std::string model) override
Sets the way memory is organized, typically modifying a built-in script.
Definition binary.cc:108
+
void Dump(Dumper::Dumper &dump) override
Display file contents in a nice manner.
Definition binary.cc:67
+
bool position_independent
Set when the generated code must not reference absolute references.
Definition binary.h:75
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition binary.cc:137
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition binary.cc:59
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition binary.cc:407
+
memory_model_t
(x86 only) Represents the memory model of the running executable, which is the way in which the segme...
Definition binary.h:80
+
@ MODEL_COMPACT
Compact model, separate code and multiple data segments.
Definition binary.h:88
+
@ MODEL_LARGE
Large model, every section is a separate segment.
Definition binary.h:90
+
@ MODEL_SMALL
Small model, separate code and data segments.
Definition binary.h:86
+
@ MODEL_DEFAULT
Default model, for x86, same as tiny, for other platforms the only possible option.
Definition binary.h:82
+
@ MODEL_TINY
Tiny model, code and data segment are the same.
Definition binary.h:84
+
Linker::Writable * image
The actual stored image.
Definition binary.h:35
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition binary.cc:303
+
bool FormatSupportsSegmentation() const override
Whether the format supports multiple segments.
Definition binary.cc:84
+
void Clear() override
Resets all fields to their default values, deallocate memory.
Definition binary.cc:16
+
virtual bool ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
Callback function to process relocations.
Definition binary.cc:271
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition binary.cc:340
+
Microsoft::MZFormat::PIF * pif
Concurrent DOS program information entry, allocated only if present.
Definition binary.h:38
+
std::string extension
Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
Definition binary.h:95
+
void Initialize() override
Sets all fields to their default values.
Definition binary.cc:8
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition binary.cc:143
+
uint64_t base_address
Address at which image is stored, it can be format specific or provided as a parameter.
Definition binary.h:77
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition binary.cc:344
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition binary.cc:27
+
A class to control the output of a file analysis.
Definition dumper.h:529
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A representation of a value within some binary data that has to be fixed up once the exact position o...
Definition relocation.h:27
+
Representing a resolved relocation.
Definition resolution.h:17
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition script.h:61
+
Concurrent DOS embedded program information, produced by PIFED.
Definition mzexe.h:117
+
+ + + + diff --git a/html/bwexp_8h_source.html b/html/bwexp_8h_source.html new file mode 100644 index 00000000..a89f18cf --- /dev/null +++ b/html/bwexp_8h_source.html @@ -0,0 +1,320 @@ + + + + + + + +RetroLinker: src/format/bwexp.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
bwexp.h
+
+
+
1#ifndef BWEXP_H
+
2#define BWEXP_H
+
3
+
4#include "../common.h"
+
5#include "../linker/linker.h"
+
6#include "mzexe.h"
+
7
+
8namespace DOS16M
+
9{
+
+ +
14 {
+
15 public:
+
16 void ReadFile(Linker::Reader& rd) override;
+
17
+
18 bool FormatSupportsSegmentation() const override;
+
19
+
20 bool FormatIs16bit() const override;
+
21
+
22 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
+
23
+
+ +
25 {
+
26 public:
+
27 enum access_type
+
28 {
+
29 TYPE_DATA = 0x92,
+
30 TYPE_CODE = 0x9A,
+
31 } access;
+
32
+
33 enum flag_type
+
34 {
+
35 FLAG_EMPTY = 0x2000,
+
36 FLAG_TRANSPARENT = 0x8000,
+
37 } flags;
+
38
+
39 uint32_t address;
+
40 uint32_t total_length;
+
41
+
42 AbstractSegment(unsigned access = TYPE_DATA, unsigned flags = 0, uint32_t total_length = 0)
+
43 : access((access_type)access), flags((flag_type)flags), address(0), total_length(total_length)
+
44 {
+
45 }
+
46
+
50 uint32_t GetTotalSize();
+
51
+
55 virtual void SetTotalSize(uint32_t new_value);
+
56
+
60 virtual uint32_t GetSize() = 0;
+
64 virtual void WriteContent(Linker::Writer& wr) = 0;
+
65
+ +
70 };
+
+
71
+
+
72 class Segment : public AbstractSegment
+
73 {
+
74 public:
+
75 Linker::Segment * image;
+
76
+
77 Segment(Linker::Segment * segment, unsigned access = TYPE_DATA, unsigned flags = 0)
+
78 : AbstractSegment(access, flags, segment->TotalSize()), image(segment)
+
79 {
+
80 }
+
81
+
82 void SetTotalSize(uint32_t new_value) override;
+
83
+
84 uint32_t GetSize() override;
+
85
+
86 void WriteContent(Linker::Writer& wr) override;
+
87 };
+
+
88
+
+ +
90 {
+
91 public:
+
92 DummySegment(uint32_t total_length, unsigned access = TYPE_DATA, unsigned flags = 0)
+
93 : AbstractSegment(access, flags, total_length)
+
94 {
+
95 }
+
96
+
97 void SetTotalSize(uint32_t new_value) override;
+
98
+
99 uint32_t GetSize() override;
+
100
+
101 void WriteContent(Linker::Writer& wr) override;
+
102 };
+
+
103
+
+ +
105 {
+
106 public:
+
107 BWFormat * bw;
+
108 uint16_t index;
+
109
+
110 RelocationSegment(BWFormat * bw, uint16_t index)
+
111 : AbstractSegment(TYPE_DATA), bw(bw), index(index)
+
112 {
+
113 }
+
114
+
118 void SetTotalSize(uint32_t new_value) override;
+
119
+
120 uint32_t GetSize() override;
+
121
+
122 void WriteContent(Linker::Writer& wr) override;
+
123 };
+
+
124
+
+ +
129 {
+
130 RelocationsNone,
+
131 RelocationsType1,
+
132 RelocationsType2,
+
133 } option_relocations;
+
+
134 bool option_force_relocations;
+
135
+
136 enum exp_flag_type
+
137 {
+
138 EXP_FLAG_RELOCATABLE = 0x0001,
+
139 } exp_flags;
+
140
+
141 enum option_type
+
142 {
+
143 OPTION_RELOCATIONS = 0x1000,
+
144 } options;
+
145
+
146 std::map<uint16_t, std::set<uint16_t> > relocations;
+
147
+
148 offset_t MeasureRelocations();
+
149
+
150 using LinkerManager::SetLinkScript;
+
151
+
152 void SetOptions(std::map<std::string, std::string>& options) override;
+
153
+
154 offset_t file_size;
+
155 offset_t min_extra;
+
156 offset_t max_extra;
+
157 uint16_t ss, sp, cs, ip, relocsel;
+
158 uint16_t runtime_gdt_length;
+
159 uint16_t version;
+
160 uint32_t next_header_offset;
+
161 uint32_t debug_info_offset; /* TODO: ??? */
+
162 uint16_t first_selector;
+
163 uint32_t private_xm; /* TODO: make parameter */
+
164 uint16_t ext_reserve; /* TODO: ??? */
+
165 uint16_t transparent_stack; /* TODO: ??? */
+
166 uint32_t program_size; /* TODO: ??? */
+
167 uint8_t default_memory_strategy; /* TODO: ??? */
+
168 uint16_t transfer_buffer_size; /* TODO: ??? */
+
169 std::string exp_name; /* TODO: ??? */
+
170
+
171 std::vector<AbstractSegment *> segments;
+
172 std::map<Linker::Segment *, size_t> segment_indices;
+
173 int default_data;
+
174
+
175 BWFormat()
+
176 : option_relocations(RelocationsType2),
+
177 option_force_relocations(true),
+
178 runtime_gdt_length(0xFFFF),
+
179 first_selector(0x0080) /* TODO: make dynamic */
+
180 {
+
181 }
+
182
+
183 void OnNewSegment(Linker::Segment * segment) override;
+
184
+
185 Script::List * GetScript(Linker::Module& module);
+
186
+
187 void Link(Linker::Module& module);
+
188
+
189 size_t GetDefaultDataIndex();
+
190
+
191 void ProcessModule(Linker::Module& module) override;
+
192
+
193 void CalculateValues() override;
+
194
+
195 void WriteFile(Linker::Writer& wr) override;
+
196
+
197 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
198 };
+
+
199}
+
200
+
201#endif /* BWEXP_H */
+ +
void WriteHeader(Linker::Writer &wr)
Produces the GDT entry for the header.
Definition bwexp.cc:50
+
virtual void WriteContent(Linker::Writer &wr)=0
Produces the binary contents of the segment.
+
uint32_t GetTotalSize()
Retrieves the total size of the segment, including the bss.
Definition bwexp.cc:33
+
virtual uint32_t GetSize()=0
Retrieves size of segment. Some subclasses might calculate this dynamically.
+
virtual void SetTotalSize(uint32_t new_value)
Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work f...
Definition bwexp.cc:38
+
Definition bwexp.h:90
+
uint32_t GetSize() override
Retrieves size of segment. Some subclasses might calculate this dynamically.
Definition bwexp.cc:87
+
void SetTotalSize(uint32_t new_value) override
Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work f...
Definition bwexp.cc:82
+
void WriteContent(Linker::Writer &wr) override
Produces the binary contents of the segment.
Definition bwexp.cc:92
+ +
void WriteContent(Linker::Writer &wr) override
Produces the binary contents of the segment.
Definition bwexp.cc:123
+
uint32_t GetSize() override
Retrieves size of segment. Some subclasses might calculate this dynamically.
Definition bwexp.cc:101
+
void SetTotalSize(uint32_t new_value) override
Invalid call, the size of a relocation segment is calculated dynamically and cannot be changed via a ...
Definition bwexp.cc:96
+
Definition bwexp.h:73
+
uint32_t GetSize() override
Retrieves size of segment. Some subclasses might calculate this dynamically.
Definition bwexp.cc:69
+
void SetTotalSize(uint32_t new_value) override
Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work f...
Definition bwexp.cc:63
+
void WriteContent(Linker::Writer &wr) override
Produces the binary contents of the segment.
Definition bwexp.cc:74
+
Rational Systems DOS/16M "BW" .exp file.
Definition bwexp.h:14
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition bwexp.cc:363
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition bwexp.cc:210
+
relocations_type
BW .exp files support two versions of relocations.
Definition bwexp.h:129
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition bwexp.cc:456
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition bwexp.cc:215
+
bool FormatSupportsSegmentation() const override
Whether the format supports multiple segments.
Definition bwexp.cc:11
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition bwexp.cc:403
+
bool FormatIs16bit() const override
Whether the format is 16-bit or not.
Definition bwexp.cc:16
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition bwexp.cc:6
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition bwexp.cc:288
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
offset_t TotalSize()
Retrieves total size of segment.
Definition segment.cc:149
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition mzexe.h:286
+
Definition script.h:61
+
+ + + + diff --git a/html/classAOut_1_1AOutFormat-members.html b/html/classAOut_1_1AOutFormat-members.html new file mode 100644 index 00000000..741040b9 --- /dev/null +++ b/html/classAOut_1_1AOutFormat-members.html @@ -0,0 +1,212 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AOut::AOutFormat Member List
+
+
+ +

This is the complete list of members for AOut::AOutFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AOutFormat() (defined in AOut::AOutFormat)AOut::AOutFormatinline
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
ARM enum value (defined in AOut::AOutFormat)AOut::AOutFormat
bss (defined in AOut::AOutFormat)AOut::AOutFormat
bss_size (defined in AOut::AOutFormat)AOut::AOutFormat
CalculateValues() overrideAOut::AOutFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
code (defined in AOut::AOutFormat)AOut::AOutFormat
code_relocation_size (defined in AOut::AOutFormat)AOut::AOutFormat
code_relocations (defined in AOut::AOutFormat)AOut::AOutFormat
code_size (defined in AOut::AOutFormat)AOut::AOutFormat
cpu (defined in AOut::AOutFormat)AOut::AOutFormat
cpu_type enum name (defined in AOut::AOutFormat)AOut::AOutFormat
CreateDefaultSegments() (defined in AOut::AOutFormat)AOut::AOutFormat
CreateWriter(system_type system, magic_type magic) (defined in AOut::AOutFormat)AOut::AOutFormatstatic
CreateWriter(system_type system) (defined in AOut::AOutFormat)AOut::AOutFormatstatic
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data (defined in AOut::AOutFormat)AOut::AOutFormat
data_relocation_size (defined in AOut::AOutFormat)AOut::AOutFormat
data_relocations (defined in AOut::AOutFormat)AOut::AOutFormat
data_size (defined in AOut::AOutFormat)AOut::AOutFormat
DJGPP1 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
endiantype (defined in AOut::AOutFormat)AOut::AOutFormat
entry_address (defined in AOut::AOutFormat)AOut::AOutFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideAOut::AOutFormatvirtual
GetBssSegment() (defined in AOut::AOutFormat)AOut::AOutFormat
GetCodeSegment() (defined in AOut::AOutFormat)AOut::AOutFormat
GetCurrentAddress() constLinker::LinkerManager
GetDataSegment() (defined in AOut::AOutFormat)AOut::AOutFormat
GetDefaultExtension(Linker::Module &module, std::string filename) overrideAOut::AOutFormatvirtual
GetDefaultExtension(Linker::Module &module) overrideAOut::AOutFormatvirtual
GetDefaultMagic(system_type system)AOut::AOutFormatstatic
GetEndianType() const (defined in AOut::AOutFormat)AOut::AOutFormat
GetScript(Linker::Module &module) (defined in AOut::AOutFormat)AOut::AOutFormat
GetStubImageSize() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
GetWordSize() const (defined in AOut::AOutFormat)AOut::AOutFormat
I80386 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in AOut::AOutFormat)AOut::AOutFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
M68010 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
M68020 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
magic (defined in AOut::AOutFormat)AOut::AOutFormat
magic_type enum name (defined in AOut::AOutFormat)AOut::AOutFormat
MIPS1 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
MIPS2 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
MZSimpleStubWriter(std::string stub_file="") (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinlineprotected
NMAGIC enum value (defined in AOut::AOutFormat)AOut::AOutFormat
OMAGIC enum value (defined in AOut::AOutFormat)AOut::AOutFormat
OnNewSegment(Linker::Segment *segment) overrideAOut::AOutFormatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
PDOS386 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
PDP11 enum value (defined in AOut::AOutFormat)AOut::AOutFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideAOut::AOutFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ProduceModule(Linker::Module &module, Linker::Reader &rd) overrideAOut::AOutFormatvirtual
QMAGIC enum value (defined in AOut::AOutFormat)AOut::AOutFormat
ReadFile(Linker::Reader &rd) overrideAOut::AOutFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideAOut::AOutFormatvirtual
SetupOptions(char special_char, OutputFormat *format)Linker::InputFormatvirtual
SPARC enum value (defined in AOut::AOutFormat)AOut::AOutFormat
stub (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_file (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_file_valid (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_size (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
symbol_table_size (defined in AOut::AOutFormat)AOut::AOutFormat
symbols (defined in AOut::AOutFormat)AOut::AOutFormat
system (defined in AOut::AOutFormat)AOut::AOutFormat
system_type enum name (defined in AOut::AOutFormat)AOut::AOutFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
UNIX enum value (defined in AOut::AOutFormat)AOut::AOutFormat
UNKNOWN enum value (defined in AOut::AOutFormat)AOut::AOutFormat
word_size (defined in AOut::AOutFormat)AOut::AOutFormat
WriteFile(Linker::Writer &wr) overrideAOut::AOutFormatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
ZMAGIC enum value (defined in AOut::AOutFormat)AOut::AOutFormat
~AOutFormat() (defined in AOut::AOutFormat)AOut::AOutFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZSimpleStubWriter() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinlineprotected
+ + + + diff --git a/html/classAOut_1_1AOutFormat.html b/html/classAOut_1_1AOutFormat.html new file mode 100644 index 00000000..06f62965 --- /dev/null +++ b/html/classAOut_1_1AOutFormat.html @@ -0,0 +1,839 @@ + + + + + + + +RetroLinker: AOut::AOutFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

UNIX/Linux a.out binary file format. + More...

+ +

#include <aout.h>

+
+Inheritance diagram for AOut::AOutFormat:
+
+
+ + +Linker::InputFormat +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZSimpleStubWriter +Linker::Format +Linker::Format + +
+ + + + +

+Classes

class  Symbol
 
+ + + + + + + +

+Public Types

enum  magic_type { OMAGIC = 0x0107 +, NMAGIC = 0x0108 +, ZMAGIC = 0x010B +, QMAGIC = 0x00CC + }
 
enum  cpu_type {
+  UNKNOWN = 0x00 +, M68010 = 0x01 +, M68020 = 0x02 +, SPARC = 0x03 +,
+  I80386 = 0x64 +, ARM = 0x67 +, MIPS1 = 0x97 +, MIPS2 = 0x98 +,
+  PDP11 = 0xFF +
+ }
 
enum  system_type { UNIX +, DJGPP1 +, PDOS386 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+::EndianType GetEndianType () const
 
+unsigned GetWordSize () const
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void ProduceModule (Linker::Module &module, Linker::Reader &rd) override
 Reads a file and loads the information into a module object.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
+Linker::SegmentGetCodeSegment ()
 
+Linker::SegmentGetDataSegment ()
 
+Linker::SegmentGetBssSegment ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
- Public Member Functions inherited from Linker::InputFormat
virtual void SetupOptions (char special_char, OutputFormat *format)
 Initializes the reader for linking purposes.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + +

+Static Public Member Functions

+static AOutFormatCreateWriter (system_type system, magic_type magic)
 
+static AOutFormatCreateWriter (system_type system)
 
static magic_type GetDefaultMagic (system_type system)
 Default magic number associated with the system.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+::EndianType endiantype
 
+unsigned word_size
 
+enum AOut::AOutFormat::magic_type magic
 
+enum AOut::AOutFormat::cpu_type cpu
 
+uint32_t code_size
 
+uint32_t data_size
 
+uint32_t bss_size
 
+uint32_t symbol_table_size
 
+uint32_t entry_address
 
+uint32_t code_relocation_size
 
+uint32_t data_relocation_size
 
+std::map< uint32_t, uint32_t > code_relocations
 
+std::map< uint32_t, uint32_t > data_relocations
 
+Linker::Writablecode
 
+Linker::Writabledata
 
+Linker::Writablebss
 
+std::vector< Symbolsymbols
 
+enum AOut::AOutFormat::system_type system
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZSimpleStubWriter
MZSimpleStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZSimpleStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+offset_t stub_size
 
+

Detailed Description

+

UNIX/Linux a.out binary file format.

+

Introduced in the earliest versions of UNIX, it underwent several incompatible updates, including being extended to 32 bits. At the time of writing, almost all current UNIX platforms use the COFF or ELF format.

+

Versions:

    +
  • PDP-7 version (unimplemented)
  • +
  • UNIX v1 version (unimplemented)
  • +
  • 16-bit UNIX version (unimplemented)
  • +
  • 32-bit UNIX version (first introduced on the VAX)
  • +
+

Variants:

    +
  • OMAGIC (old magic), the code segment is writable
  • +
  • NMAGIC (new magic), the code segment is pure and can be shared (read-only)
  • +
  • ZMAGIC, demand paged
  • +
  • QMAGIC (TODO)
  • +
+

Platforms:

    +
  • early Linux (unimplemented) (obsolete)
  • +
  • early DJGPP before version 1.11
  • +
  • early PDOS/386 and PD-Windows (http://pdos.sourceforge.net/) (obsolete)
  • +
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void AOutFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void AOutFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::string AOutFormat::GetDefaultExtension (Linker::Module & module)
+
+overridevirtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string AOutFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultMagic()

+ +
+
+ + + + + +
+ + + + + + + +
AOutFormat::magic_type AOutFormat::GetDefaultMagic (system_type system)
+
+static
+
+ +

Default magic number associated with the system.

+

This information is based on studying the executables included with that software. PDOS/386 uses OMAGIC, whereas DJGPP uses ZMAGIC.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void AOutFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void AOutFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ProduceModule()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void AOutFormat::ProduceModule (Linker::Module & module,
Linker::Reader & rd )
+
+overridevirtual
+
+ +

Reads a file and loads the information into a module object.

+ +

Implements Linker::InputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AOutFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void AOutFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AOutFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/aout.h
  • +
  • src/format/aout.cc
  • +
+
+ + + + diff --git a/html/classAOut_1_1AOutFormat.png b/html/classAOut_1_1AOutFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..0c0a73ddbe7edd5e48a274d423a3c733c95e8e0f GIT binary patch literal 2803 zcmcguc~p|=8h4vakLX|_sbvkWiA!Z}IclSjJLUqTB3N1}N}A(FYNEGD)Xc41Qg4N( zNnq-jnSeSDj-_c?T1KH}V_Gh_CE&*WsB`a}bI<+bp8LoB{&<(?d$!;6yx;r#vW}x% zK+0OmGBPqCH&=wOjEuZ=P2DaJjOP+(aloW~+|wT^kw}2$^z4^}yslcC1N+bIDtS6R zK0Xe}E&DOmz&oXQUzDE=u>bm4%asqw$S9||A%5~F$6s5cSxbsCdH8a>1v#9?rWG-Wn{*_6^Qt1>k+vqZ8#92MR)BUhbd(}=0QPMFA$Sk_t)qw?@Y#KU&Ypp<`QcS^OOta|5SZR5N7df5wUx(+Up5~u zt-m6T21?;qI7ZGQci+)U4E@ZFMf*X=sEoZi5$>Apl(Aj`_QP}K6lw9Yjv)mx6Lq%9 z2UWWLpP~BBB!y@@f^l|%5uL&FTZOcFO^iIh2M?Yc3@oh%QjH8cAz z4=0UAME?r{(4;I#Vm{CgRiGVrj|fbpzy`1o9~EXprry4c>k{HxID}S6VObkjb>yXA}4<@Ikh#UlQX&;o3m7_V!#JQCfjGjb?jlV3DA7eF7}BhcArC*w5-@)*5E>C z1h@3JA>8xvl3n=H5dSF3>0XxKf|q~JR0;J1#V`5;Ngh8MU%Qc+Lm<~qRLqDE)Qe4_ zCQB5*Glf(tiOZkoG<5yiIl$fg9=zC5+Sr9P-=!p)e}#Xv{Orbdvfi>Hrj(4SZN<2ze%7k{*56GzHI@nMt@<-rZv`DjS+tF& zHrVu;cCVVinSkFCQXh&8Ziz#PJnt3NnN`LU+LM~N;BrLDWUih@5@q!@XFj5O zMFG>7(w5)a&+qZ6VNI?~eAbP27TiKDZi1M)JngsL&>oe(#pT!t%A{qR52>RR^@gKs zkTYBP!jyh0sZx;Q85lovEzzY%$SLCf0*?=EohKDI-xnh@I41Sb1fRW8a9gY2WIym zFX7Z4eaUu+9*HYvhDTCu+P z(>Ukd<!6cmOE>y;;B5X1 zYKQZ8d3_U)!5kX{*k|OcwQBa%gVr7l>HJGh7j_+zgx7wRP!KjbMhr68#yN8wv{ubh z-N38w4Z5B3S`Mxvw?6R}-5o2xtM~;g+y(K@BAjwt?F{1_dhQA&I!c=(-g!_QtR3+1 zsn7E$xM!iAojDr+X5)5O3R11&kZEn0%gV&Amcpnvdsg!GXX-9%H|)#OqzH2fCo(Zl*6xGxbc8G@65V=y0DtmP>Su7(ZG|<>3-ZlEz&k@ zB37t_9^o2jMuY$P4}XxElg_5^vgQn~V&`H)92>iuGfe`Y@wc&CKV@`fg6Q0bpnC5n zBZ&qXOBCE1_4%2lmi(CIhCn>Es9JdB&|$RD4jThiVZh+UOM!4t|0D^o2U8jpJE|P# zT^6ikRbmVGZ0qu!d;mIK|Izx_yx!2U@*HaY#B}n@=Gm6mTv0J2yiN9gv@s}_F;wrP zs)b%(vTE|8<59wn2S;bFq|uTB;!gVN@K)CT9CHUgSlP`r!6|Io2f`E?OsevTiGTGm za3HNyxoT=ULcD1AHp%&1XyAJcQWu7A zg2FdwRNn9wZ#feqI&IjD5zXnf*TE}L0;97o7!kUAi}#f(LP7e&+gR7wwX7+USx0~+cNCCuZKkd`DSs2jIxkf1b+Rols zFM|BkMd{@?wJc_PB^E1e90tgtOd(ZXa-ym_dtBQU-kBV1W;c@IDc7DsmbA=J{K2X6 zgzp0K)`VkQs;AT!Ktrez2Gke10IG(ZKqo%GZlNSnZHc-B=qUnv1yX&0ZCc#v+uJjm zgDDV}GPe^gFV;)g~L8%W8`(dj?=97w@T zS9yOqXtDWYb(v;A8jbcMh1p62yO8>nYhlBylJSAT*O@EvZrM`5xs;x*#EKovp0tSTmfqu6Y^oY5D`ewj0|WPgC@x z30LWKR9LjI761zYV#u31Hgy%{v+57Dz2KLAjgi!By`OJ^A!#iQDJRv?>GWiGAa@bi zq0vdmgbEmtk4{p~wq7cLM8;Y#MR)9Ests@1RR4IFb!Z;ie`@n#s{J + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AOut::AOutFormat::Symbol Member List
+
+
+ +

This is the complete list of members for AOut::AOutFormat::Symbol, including all inherited members.

+ + + + + + +
name (defined in AOut::AOutFormat::Symbol)AOut::AOutFormat::Symbol
name_offset (defined in AOut::AOutFormat::Symbol)AOut::AOutFormat::Symbol
type (defined in AOut::AOutFormat::Symbol)AOut::AOutFormat::Symbol
unknown (defined in AOut::AOutFormat::Symbol)AOut::AOutFormat::Symbol
value (defined in AOut::AOutFormat::Symbol)AOut::AOutFormat::Symbol
+ + + + diff --git a/html/classAOut_1_1AOutFormat_1_1Symbol.html b/html/classAOut_1_1AOutFormat_1_1Symbol.html new file mode 100644 index 00000000..db9cf396 --- /dev/null +++ b/html/classAOut_1_1AOutFormat_1_1Symbol.html @@ -0,0 +1,113 @@ + + + + + + + +RetroLinker: AOut::AOutFormat::Symbol Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AOut::AOutFormat::Symbol Class Reference
+
+
+ + + + + + + + + + + + +

+Public Attributes

+std::string name
 
+uint16_t unknown
 
+uint16_t name_offset
 
+uint16_t type
 
+uint16_t value
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classAS86Obj_1_1AS86ObjFormat-members.html b/html/classAS86Obj_1_1AS86ObjFormat-members.html new file mode 100644 index 00000000..9757e349 --- /dev/null +++ b/html/classAS86Obj_1_1AS86ObjFormat-members.html @@ -0,0 +1,101 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AS86Obj::AS86ObjFormat Member List
+
+
+ +

This is the complete list of members for AS86Obj::AS86ObjFormat, including all inherited members.

+ + + + + + + + + + + +
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
Initialize()Linker::Formatvirtual
ProduceModule(Linker::Module &module, Linker::Reader &rd) overrideAS86Obj::AS86ObjFormatvirtual
ReadFile(Linker::Reader &in) overrideAS86Obj::AS86ObjFormatvirtual
SetupOptions(char special_char, OutputFormat *format)Linker::InputFormatvirtual
WriteFile(Linker::Writer &out) overrideAS86Obj::AS86ObjFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classAS86Obj_1_1AS86ObjFormat.html b/html/classAS86Obj_1_1AS86ObjFormat.html new file mode 100644 index 00000000..34e1dbd0 --- /dev/null +++ b/html/classAS86Obj_1_1AS86ObjFormat.html @@ -0,0 +1,241 @@ + + + + + + + +RetroLinker: AS86Obj::AS86ObjFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AS86Obj::AS86ObjFormat Class Reference
+
+
+ +

Output format for as86, used as an output by Bruce's C compiler from the dev86 package. + More...

+ +

#include <as86obj.h>

+
+Inheritance diagram for AS86Obj::AS86ObjFormat:
+
+
+ + +Linker::InputFormat +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &in) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
void ProduceModule (Linker::Module &module, Linker::Reader &rd) override
 Reads a file and loads the information into a module object.
 
- Public Member Functions inherited from Linker::InputFormat
virtual void SetupOptions (char special_char, OutputFormat *format)
 Initializes the reader for linking purposes.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

Output format for as86, used as an output by Bruce's C compiler from the dev86 package.

+

Member Function Documentation

+ +

◆ ProduceModule()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void AS86ObjFormat::ProduceModule (Linker::Module & module,
Linker::Reader & rd )
+
+overridevirtual
+
+ +

Reads a file and loads the information into a module object.

+ +

Implements Linker::InputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AS86ObjFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AS86ObjFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/as86obj.h
  • +
  • src/format/as86obj.cc
  • +
+
+ + + + diff --git a/html/classAS86Obj_1_1AS86ObjFormat.png b/html/classAS86Obj_1_1AS86ObjFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..f69ab1026dcf34c19e66045d8f0558105d152e39 GIT binary patch literal 1134 zcmeAS@N?(olHy`uVBq!ia0vp^^MSa7gBeJk6Fd14NJ$6ygt-3y{~ySF@#br3|Doj; z2ATyD)6cwk@ZbSZ-1KbN5}+JsNswPK1CS2}=1jA%FfcIx^mK6ysbG9NH?jDM0!LfC zxv}KG|N3?;J!&^24!<)w6B^yOO2eOF=lX`eqiw#-XFHE~yL+5nGV$XSeLcC)x)VRf zaZfu@v7|=%nP+L(u5f=hEBn(+;Jw#{YwQ-hRNqb&QB3JFLdt7Fzi#*W?-52pysud zw1I{E<5sqwbLRK;8ETX!^E3Q0`pIxWpIFAH@SkGRADT1&UwBy(R zuPKw-uBsU=bamfD>!fM7tUgW6@Uofv_k7m!(&#%TKcsxUe{pWMnY&iQYF>VnXV`W7Khul6|J)09|J82*3C#MrgQZf( ztVArIkKz6VQ3fXOf_t9PuF|L8yTbmR+_h>~`M&Sp4o;l% z_2;XpzY9(_)l@xx{O#bYO)g>eZ|3dU!CL=#_5G;JOVg!gEIp^piobtwt~cwX`-9g_lJu=DDRtpJK{6X_U?CbHhb + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Amiga::HunkFormat Member List
+
+
+ +

This is the complete list of members for Amiga::HunkFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddHunk(const Hunk &hunk) (defined in Amiga::HunkFormat)Amiga::HunkFormat
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues() overrideAmiga::HunkFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ChipMemory enum valueAmiga::HunkFormat
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
cpu (defined in Amiga::HunkFormat)Amiga::HunkFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FastMemory enum valueAmiga::HunkFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
flags enum nameAmiga::HunkFormat
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Amiga::HunkFormat)Amiga::HunkFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideAmiga::HunkFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module) overrideAmiga::HunkFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Amiga::HunkFormat)Amiga::HunkFormat
HUNK_BSS enum value (defined in Amiga::HunkFormat)Amiga::HunkFormat
HUNK_CODE enum value (defined in Amiga::HunkFormat)Amiga::HunkFormat
HUNK_DATA enum value (defined in Amiga::HunkFormat)Amiga::HunkFormat
HUNK_END enum value (defined in Amiga::HunkFormat)Amiga::HunkFormat
HUNK_HEADER enum value (defined in Amiga::HunkFormat)Amiga::HunkFormat
HUNK_PPC_CODE enum value (defined in Amiga::HunkFormat)Amiga::HunkFormat
HUNK_RELOC32 enum value (defined in Amiga::HunkFormat)Amiga::HunkFormat
hunks (defined in Amiga::HunkFormat)Amiga::HunkFormat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Amiga::HunkFormat)Amiga::HunkFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Linker::Segment *segment) overrideAmiga::HunkFormatvirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideAmiga::HunkFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideAmiga::HunkFormatvirtual
segment_index (defined in Amiga::HunkFormat)Amiga::HunkFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideAmiga::HunkFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideAmiga::HunkFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classAmiga_1_1HunkFormat.html b/html/classAmiga_1_1HunkFormat.html new file mode 100644 index 00000000..084e8c53 --- /dev/null +++ b/html/classAmiga_1_1HunkFormat.html @@ -0,0 +1,652 @@ + + + + + + + +RetroLinker: Amiga::HunkFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Amiga::HunkFormat Class Reference
+
+
+ +

AmigaOS/TRIPOS Hunk files. + More...

+ +

#include <hunk.h>

+
+Inheritance diagram for Amiga::HunkFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + +

+Classes

class  Hunk
 
+ + + + + +

+Public Types

enum  flags { FastMemory = Linker::Section::CustomFlag +, ChipMemory = Linker::Section::CustomFlag << 1 + }
 
enum  {
+  HUNK_CODE = 0x3E9 +, HUNK_DATA = 0x3EA +, HUNK_BSS = 0x3EB +, HUNK_RELOC32 = 0x3EC +,
+  HUNK_END = 0x3F2 +, HUNK_HEADER = 0x3F3 +, HUNK_PPC_CODE = 0x4E9 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
+void AddHunk (const Hunk &hunk)
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t cpu
 
+std::vector< Hunkhunks
 
+std::map< Linker::Segment *, size_t > segment_index
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

AmigaOS/TRIPOS Hunk files.

+

Introduced for the TRIPOS system and then adopted for AmigaOS, a hunk file stores the binary executable for an Amiga application.

+

Member Enumeration Documentation

+ +

◆ flags

+ +
+
+ + + + +
enum Amiga::HunkFormat::flags
+
+ + + +
Enumerator
FastMemory 

Section to be stored in fast memory.

+
ChipMemory 

Section to be stored in chip memory.

+
+ +
+
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void HunkFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned HunkFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void HunkFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + +
std::string HunkFormat::GetDefaultExtension (Linker::Module & module)
+
+overridevirtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void HunkFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void HunkFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void HunkFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void HunkFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void HunkFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/hunk.h
  • +
  • src/format/hunk.cc
  • +
+
+ + + + diff --git a/html/classAmiga_1_1HunkFormat.png b/html/classAmiga_1_1HunkFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..8c336e4ca6cb73ab019e9e8202b4c3c9f02a6758 GIT binary patch literal 1644 zcmb`Ic~H^`6vuz4s0mtFX6Au8TLx;Z<{b)Km`8b`Wt(}_=9rZyk>CZRYg(>Z8)chq zUY{|# zPc~Wo(8*^)OWIf8k|f5rk|o=Vgh|}Zo|+ld8aZCdiV{lDc5#qfXd?`vF*H5vz`XKd zn2~|P|K{`hT02ytZ5Ch=v$-ggh$3hDn@$A8ESfoc+M&8v^e?7I?R#zjBGF9bLWzaT zz;ai0M@TJdWOiuPO_C_9Om+|%wLW>osTB5Vm%kfQaMn|_`lmQx#@$}Pfa@6&_MC3Y zUfdilPNUB!a|bK$QOGKb#Nvi2X9`8)hC#ADCPJgcGNxc)a#-Xu$SIK!ptGCf+(t)? z6C0m2?HVU*k-Ky>?7C#?C>lUnN>evd8$z(8cXt4E7X&VdAJ>5ks2NMkdKYAE-eyn9 zaN=8gOLekgICJe^p-9?mK_0+iU{DVW$kWi-+ghtNwzcvc=$2YZY(Og-xdiM|kFIHK zqn4`eegO1;+I2W^dW7^rs&JlvR)gBepL+mxKpq^PuhQ8E+*HTZSGH`|E%`_u7$V#)Q~v6NJt zA0nb0cs7%~60X3IZpQKwG(X`+XEUEtdm>ph7TFjAUSDTE%2%B!leZ2n_F?Yw2C{S^mrAum zg=24w2c`^S2c0Qv9xnV!cn7_$It59nD?;ync%$7Zq4OE6IQKgbm%zRk%NzR`;$&%Q zr71mphyj(p;L+>-Z$8X_|uZ>f+hYi(Q|cy7*WVx$>FSJS_Ii_Mrq<9>D#!D53;>H z%zJyhP7eqn{Pe8-S?Tmc%lBQ0kG!!0()>gs(SAYXbtLUvsfMFYH~F=C1y$~Zd*Bs* z2>F!5#j1&^GJ-jA)@poRjsedi^&g#f^?EIH%pK4wSB{D1AEKBTPFhG`O{aHU7!yoG z+Y*~h+~o@$p}q4U=JEo+7tDZd=)|%N8>~BxAw>L~L!@%Bt^k3pF!&t(Mz$I*H3{-V zY#dwI<975#KWh0W@xs$-!tDSAlfrb1bz($`4i1bY3Twgr1RG|V3dxw5lu8vHRJ`9@ zmB!zQyq9^oGie4D@#A2)PK50j`2`_Jc?730xx*N3gHqL)qCYV@R$=zRMnPR)m4Pn6)XG_>^)Tc#i zS7Ro!;;6Y%4levo*bjlvrSXDaGR;mEvUSsqu@8LZoV6!GAE7jEi4v68&eF8bm+1MN z52lR4%}u#I`zfaERXpzAw}o;*rTH&YKlM;qqlPdA zgh$lkEbg^hu}+ik*bY;K{KJxDaHDOv=m@|sQvtf?#2cu#E&A%e0QhXa5Nb CS@7Hd literal 0 HcmV?d00001 diff --git a/html/classAmiga_1_1HunkFormat_1_1Hunk-members.html b/html/classAmiga_1_1HunkFormat_1_1Hunk-members.html new file mode 100644 index 00000000..d2018cf6 --- /dev/null +++ b/html/classAmiga_1_1HunkFormat_1_1Hunk-members.html @@ -0,0 +1,109 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Amiga::HunkFormat::Hunk Member List
+
+
+ +

This is the complete list of members for Amiga::HunkFormat::Hunk, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
flag_type enum name (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
flags (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
GetAdditionalFlags() (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
GetSizeField() (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
Hunk(uint32_t hunk_type, std::string name="image", unsigned flags=LoadAny) (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunkinline
Hunk(uint32_t hunk_type, Linker::Segment *segment, unsigned flags=LoadAny) (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunkinline
hunk_type (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
image (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
Load24BitDma enum value (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
LoadAny enum value (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
LoadChipMem enum value (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
LoadClear enum value (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
LoadFastMem enum value (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
LoadLocalMem enum value (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
LoadPublic enum value (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
relocations (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
RequiresAdditionalFlags() (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunk
~Hunk() (defined in Amiga::HunkFormat::Hunk)Amiga::HunkFormat::Hunkinline
+ + + + diff --git a/html/classAmiga_1_1HunkFormat_1_1Hunk.html b/html/classAmiga_1_1HunkFormat_1_1Hunk.html new file mode 100644 index 00000000..dcef7e43 --- /dev/null +++ b/html/classAmiga_1_1HunkFormat_1_1Hunk.html @@ -0,0 +1,146 @@ + + + + + + + +RetroLinker: Amiga::HunkFormat::Hunk Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Amiga::HunkFormat::Hunk Class Reference
+
+
+ + + + +

+Public Types

enum  flag_type {
+  LoadAny = 0x00000000 +, LoadPublic = 0x00000001 +, LoadChipMem = 0x00000002 +, LoadFastMem = 0x00000004 +,
+  LoadLocalMem = 0x00000008 +, Load24BitDma = 0x00000010 +, LoadClear = 0x00010000 +
+ }
 
+ + + + + + + + + + + +

+Public Member Functions

Hunk (uint32_t hunk_type, std::string name="image", unsigned flags=LoadAny)
 
Hunk (uint32_t hunk_type, Linker::Segment *segment, unsigned flags=LoadAny)
 
+uint32_t GetSizeField ()
 
+bool RequiresAdditionalFlags ()
 
+uint32_t GetAdditionalFlags ()
 
+ + + + + + + + + +

+Public Attributes

+uint32_t hunk_type
 
+enum Amiga::HunkFormat::Hunk::flag_type flags
 
+Linker::Segmentimage
 
+std::map< uint32_t, std::vector< uint32_t > > relocations
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/hunk.h
  • +
  • src/format/hunk.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1AFPDirectoryID-members.html b/html/classApple_1_1AFPDirectoryID-members.html new file mode 100644 index 00000000..327e06c8 --- /dev/null +++ b/html/classApple_1_1AFPDirectoryID-members.html @@ -0,0 +1,105 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::AFPDirectoryID Member List
+
+
+ +

This is the complete list of members for Apple::AFPDirectoryID, including all inherited members.

+ + + + + + + + + + + + + + + +
AFPDirectoryID() (defined in Apple::AFPDirectoryID)Apple::AFPDirectoryIDinline
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1AFPDirectoryID.html b/html/classApple_1_1AFPDirectoryID.html new file mode 100644 index 00000000..c192b4ea --- /dev/null +++ b/html/classApple_1_1AFPDirectoryID.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: Apple::AFPDirectoryID Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::AFPDirectoryID Class Reference
+
+
+
+Inheritance diagram for Apple::AFPDirectoryID:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1AFPDirectoryID.png b/html/classApple_1_1AFPDirectoryID.png new file mode 100644 index 0000000000000000000000000000000000000000..a7a956ca8b6b478452fe3033f954292d074090a8 GIT binary patch literal 1151 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=Aw>o-U3d6^w7^-ksE}z|+cK zxNP$G`bVyHEdc@1w|h$-y}22}F@v9DC+nllOVs!JeLMG0@xM>D^5H8S6BF}T&Tlx= zcYu4^O+gK#J?5?5*K*(HJ$Qd;v;F;Bf74_dAD#`Z;Hu1h@w5L{c6Gy!^uK?9eRErO zVNc;6z0Kx|BKx0hyt|+Mf6m@;j;r5)+~s~esrp5wd7t)I#a1z;6B?Yli&$nm#|mCz zXSuZA738hrNQ-8acLr#s^O9j?xfOd(QSLQ zGo?*mIdkc@Z(8(($2 zpV4Fv>Wu1+g( zap|?nWzRcjZ@d1|hN_*s5gAx{6)$jQOzAc>0U(|oNaU*U;AtY2;m7Vqp>_rhLsSLp1H7qd=H z`M;5WlbeuWt;5wR=XqRQicd;(bN~a<#pTy0p3|Fjin$r~t!8KNStp-RVe_p02P0d* zf$b4}gByEU7|JIQALy`nX>hiDe&zlU9+R7m2UpA zo0Yn}RQmXtJ&TKZ@?;8*>y|&6KKI9W$#2K^9)I8)aXsfy(A<<0_D%lxrf-Q}s^}|N zyS?zt8EdPf0ZM+=G4-y0ZkePB9KLnYf9?EqiQ3(+Q!6jLX`ZqC_D9h+Es2u~oBWR5 ziQ0JQBSWtQ%j0y3TN1aXzS{ZLxZ~fp#eSXo20Wi0@-!zubNichAA0cX`=!r* z*co2=x-iD$_KRO}LgfeDUpMo-x;^#p)t~t%K79J}J-MRx+jNN;GxIe-o|$fFVEp>D gvBmQ{cYZOidH7v-{!4>jz@mb|)78&qol`;+0NZaf{Qv*} literal 0 HcmV?d00001 diff --git a/html/classApple_1_1AFPFileInfo-members.html b/html/classApple_1_1AFPFileInfo-members.html new file mode 100644 index 00000000..bf4f613f --- /dev/null +++ b/html/classApple_1_1AFPFileInfo-members.html @@ -0,0 +1,105 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::AFPFileInfo Member List
+
+
+ +

This is the complete list of members for Apple::AFPFileInfo, including all inherited members.

+ + + + + + + + + + + + + + + +
AFPFileInfo() (defined in Apple::AFPFileInfo)Apple::AFPFileInfoinline
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1AFPFileInfo.html b/html/classApple_1_1AFPFileInfo.html new file mode 100644 index 00000000..1bd1a8ca --- /dev/null +++ b/html/classApple_1_1AFPFileInfo.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: Apple::AFPFileInfo Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::AFPFileInfo Class Reference
+
+
+
+Inheritance diagram for Apple::AFPFileInfo:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1AFPFileInfo.png b/html/classApple_1_1AFPFileInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf90f3207b18d363dffeae1b08ce8b8ce11e240 GIT binary patch literal 1113 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GUqJY5_^Dj46+eLrcn0?$$Y z!ex`c*FWkOP>EQv?OyH@;q>#%oDTf?F}a5I)8-S(>nHCmuF#2QetwPsrwjclgBtGYh*TQ4-c2sB1*|B_{|KlA&@+w^i0a(EOnj0 zJmXGy-b?>u%j`TdQok1GNcxs7o%8jpX3EuLAB(2599>{{!gNYNi=)!Ij#q2mOP*SH z!Yt|vJLlS#O^c>*-1Z4J3coqGs{F} z`|J2$&hXZdQkDHzw)N?+={-v)1Sk9Duzh`~_sy$zNB7j7@J=C}fuY)xnc>E1NrnS) z=NK5i6|pgFm~PC_uy+n4!<(l(3<>(^O4_5QrOu3r=;&BB%~(M2=4r`}jyFpsnFKHT z&E3YlU10va@Z1R7W1rtuPuec!<8sBzu%(z$e#g@I^@i+v%4|wO^~)s|oqWARH+^>& zd)`sgsF%_Imv6tew08Zw-}=`$uOGXz`P}k-p^~qD*esU#+WG3!A>T*$zP?RgWk2O* zePMDy?W^M2w!eSgzO;K7Hm&%HQPPY0jd$9wWgl3emu#I}z5Lt`+txcfWQ@o>xY zgbDjzMFwx*bJqKI;LWy@&y%bo{LSNo?XJIcoTawt+5088yLWlGl(^ncc@dVYv?zO3 za9y(eEh$fzFY-&4)ubsX&GJ6y;F6-BuAsCjJS74cQqc?_wpTG6c=C&}?RaushkQZ@ z$7Sa~OwG?#8Fn<|3}oE#AfweHpeD{_{P{`|TUr`0@{Bj{y_f#tXZfw7;B(SRUw6wb zc2ieRdshC%%vpl{PNBB!Q`h$2pTvznN7kMa@Qu2jbV+D_`h@wLEK}#@uAedU{Oi~@ zsltEX%JjA+SQwZ~8Lu!r?>uwn`IpITTW6eo{(Z$Oxs2QLe^uM0j?}4smAsJWpPps^ z>@?4$T(;jA%Bv4vi0fN#%=7N>ZJuSnFP!(TYUG!kWjOoy{O3z!)%LqiEN|N>Ib-H~ rrSycfZPSenjBjfjwFn%#^Nalt%a56x%9L*a3jqdCS3j3^P6 + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::AFPShortName Member List
+
+
+ +

This is the complete list of members for Apple::AFPShortName, including all inherited members.

+ + + + + + + + + + + + + + + +
AFPShortName() (defined in Apple::AFPShortName)Apple::AFPShortNameinline
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1AFPShortName.html b/html/classApple_1_1AFPShortName.html new file mode 100644 index 00000000..0c135f4a --- /dev/null +++ b/html/classApple_1_1AFPShortName.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: Apple::AFPShortName Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::AFPShortName Class Reference
+
+
+
+Inheritance diagram for Apple::AFPShortName:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1AFPShortName.png b/html/classApple_1_1AFPShortName.png new file mode 100644 index 0000000000000000000000000000000000000000..521f88ea9c14c0d17867be54599d5f47d6a8e582 GIT binary patch literal 1166 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=Axio-U3d6^w7^Uc9tgfv07< z#pRQ~?LRtl28&0#%Fp3B&XdJ ztTogfrt z(s(_yPpwtxxy|(B@1MlyeDPX%Y}Ssdm2-D2pH=>NN0GfphGtWfQii1JO`%s^3epBU z*WU@6-*fh_!osOH&u>gMiJZFW`t{`#LZxqe>v47+{Hu_uv5=$LB}VXS+AHBy+56|VEvdKMC{m<#hJE(IzXjsePwRGc?=7;wb2M(J{JW&}clgUUhQDjy zeM9^E;n+7*e?QbSGdeP*y2JncYOytPkL$jho{TnCQ_5N@acE})|D8+wug_qf zF32pn^1Fz$Nu}KOmpSQg53Jqcrd|3v|5sM*t@p3?$!{#%A+~JRR(sR1)D>@w`;)E+ zTz%R)`^etax4(z{*SIWSm>f`=wZrc4zW-(A^9!^uTNX(gesS0Nd7+9|BE)E$?KaEO zV{bK|9D6#$v46#{JBCwc^(Njaob1}3r<&Lw(|2v*Wd65OS2r&`Y;fzv^EnqSx&}ohAO4TrJau}E2V|cR9q90Qc@Uu3Vz5(S#?0l@j17!$pO&04 z^KI$0h0m{Qo_77YMIf51jduyJ@#ku*lLE&W%kOx({>;!ZUTr?HZmQxeoB6l5oN}3; zu;Q)P;;+X4PWNV|zl{EEXuSWDWt-Irv*O#g|J`09sZw%v-AmuEN_*8eEz?eWHu2wy z3w+z;-Oi@ZyEuv8>7rTwZq2$gj(g{)1bE&wx}s5@=U=@i^Sh05YoxKsTw~+!rCo{E zmb+eGD3^YEl)LTkt~tJ+?TvUoJv4HDIf>c){qt{=xYpI{y{vp~@Zz_lY}%yjU+Zr8 ztz`OevN*F``OcfHa<;Uz>c72>Gk?|gTe~DWM4f2i+{0 literal 0 HcmV?d00001 diff --git a/html/classApple_1_1AppleSingleDouble-members.html b/html/classApple_1_1AppleSingleDouble-members.html new file mode 100644 index 00000000..e474f1d5 --- /dev/null +++ b/html/classApple_1_1AppleSingleDouble-members.html @@ -0,0 +1,179 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::AppleSingleDouble Member List
+
+
+ +

This is the complete list of members for Apple::AppleSingleDouble, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AppleSingleDouble(format_type type, unsigned version, hfs_type home_file_system) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinline
AppleSingleDouble(format_type type, hfs_type home_file_system) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinline
AppleSingleDouble(format_type type, unsigned version=2) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinline
AppleSingleDouble(AppleSingleDouble &other, format_type type) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinlineexplicit
AppleSingleDouble(AppleSingleDouble &other) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinlineexplicit
CalculateValues() overrideApple::AppleSingleDoublevirtual
Clear()Linker::Formatvirtual
DOUBLE enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
entries (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
FindEntry(uint32_t id) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
format_type enum name (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() const overrideApple::AppleSingleDoublevirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideApple::AppleSingleDoublevirtual
GetAUXFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetCreationDate() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetDataFork() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetDefaultExtension(Linker::Module &module) overrideApple::AppleSingleDoublevirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetFileDatesInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetFinderInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetMacintoshAttributes() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetMacintoshFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetMacOSXDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetModificationDate() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetMSDOSDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetMSDOSFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetProDOSDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetProDOSFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetResourceFork() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetUNIXDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_Macintosh enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_MSDOS enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_ProDOS enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
hfs_type enum name (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_UNDEFINED enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_UNIX enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_VAX_VMS enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
home_file_system (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_AFPDirectoryID enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_AFPFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_AFPShortName enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_Comment enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_DataFork enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_FileDatesInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_FileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_FinderInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_IconBW enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_IconColor enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_MacintoshFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_MSDOSFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_ProDOSFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_RealName enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_ResourceFork enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
Initialize()Linker::Formatvirtual
PrefixFilename(std::string prefix, std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
PrefixFilename(std::string prefix, std::string filename, size_t limit) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ProcessModule(Linker::Module &module) overrideApple::AppleSingleDoublevirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDoublevirtual
ReplaceExtension(std::string filename, std::string extension, size_t limit) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetAccessDate(uint32_t AccessDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetBackupDate(uint32_t BackupDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetCreationDate(uint32_t CreationDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options) overrideApple::AppleSingleDoublevirtual
SetMacintoshAttributes(uint32_t Attributes) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetModel(std::string model) overrideApple::AppleSingleDoublevirtual
SetModificationDate(uint32_t ModificationDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetMSDOSAttributes(uint16_t Attributes) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetOptions(std::map< std::string, std::string > &options) overrideApple::AppleSingleDoublevirtual
SetProDOSAccess(uint16_t Access) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetProDOSAUXType(uint32_t AUXType) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetProDOSFileType(uint16_t FileType) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SINGLE enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
type (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
version (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
WriteFile(Linker::Writer &wr) overrideApple::AppleSingleDoublevirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1AppleSingleDouble.html b/html/classApple_1_1AppleSingleDouble.html new file mode 100644 index 00000000..b101f05d --- /dev/null +++ b/html/classApple_1_1AppleSingleDouble.html @@ -0,0 +1,671 @@ + + + + + + + +RetroLinker: Apple::AppleSingleDouble Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

AppleSingle & AppleDouble. + More...

+ +

#include <macos.h>

+
+Inheritance diagram for Apple::AppleSingleDouble:
+
+
+ + +Linker::OutputFormat +Linker::Format +Apple::MacBinary + +
+ + + + +

+Classes

class  Entry
 
+ + + + + + + +

+Public Types

enum  format_type { SINGLE +, DOUBLE + }
 
enum  hfs_type {
+  HFS_UNDEFINED +, HFS_Macintosh +, HFS_ProDOS +, HFS_MSDOS +,
+  HFS_UNIX +, HFS_VAX_VMS +
+ }
 
enum  {
+  ID_DataFork = 1 +, ID_ResourceFork +, ID_RealName +, ID_Comment +,
+  ID_IconBW +, ID_IconColor +, ID_FileInfo +, ID_FileDatesInfo +,
+  ID_FinderInfo +, ID_MacintoshFileInfo +, ID_ProDOSFileInfo +, ID_MSDOSFileInfo +,
+  ID_AFPShortName +, ID_AFPFileInfo +, ID_AFPDirectoryID +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsResources () const override
 Whether the format supports resources.
 
AppleSingleDouble (format_type type, unsigned version, hfs_type home_file_system)
 
AppleSingleDouble (format_type type, hfs_type home_file_system)
 
AppleSingleDouble (format_type type, unsigned version=2)
 
AppleSingleDouble (AppleSingleDouble &other, format_type type)
 
AppleSingleDouble (AppleSingleDouble &other)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options) override
 Selects a script file to use for linking.
 
+EntryFindEntry (uint32_t id)
 
+void SetCreationDate (uint32_t CreationDate)
 
+void SetModificationDate (uint32_t ModificationDate)
 
+void SetBackupDate (uint32_t BackupDate)
 
+void SetAccessDate (uint32_t AccessDate)
 
+void SetMacintoshAttributes (uint32_t Attributes)
 
+void SetProDOSAccess (uint16_t Access)
 
+void SetProDOSFileType (uint16_t FileType)
 
+void SetProDOSAUXType (uint32_t AUXType)
 
+void SetMSDOSAttributes (uint16_t Attributes)
 
+uint32_t GetCreationDate ()
 
+uint32_t GetModificationDate ()
 
+uint32_t GetMacintoshAttributes ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
+std::string PrefixFilename (std::string prefix, std::string filename)
 
+std::string PrefixFilename (std::string prefix, std::string filename, size_t limit)
 
+std::string ReplaceExtension (std::string filename, std::string extension, size_t limit)
 
+std::string GetUNIXDoubleFilename (std::string filename)
 
+std::string GetMacOSXDoubleFilename (std::string filename)
 
+std::string GetProDOSDoubleFilename (std::string filename)
 
+std::string GetMSDOSDoubleFilename (std::string filename)
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + +

+Public Attributes

+enum Apple::AppleSingleDouble::format_type type
 
+unsigned version
 
+enum Apple::AppleSingleDouble::hfs_type home_file_system
 
+std::vector< Entry * > entries
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + + + + + + + + + + + + + + +

+Protected Member Functions

+EntryGetFileDatesInfo ()
 
+EntryGetMacintoshFileInfo ()
 
+EntryGetAUXFileInfo ()
 
+EntryGetProDOSFileInfo ()
 
+EntryGetMSDOSFileInfo ()
 
+EntryGetDataFork ()
 
+EntryGetResourceFork ()
 
+EntryGetFinderInfo ()
 
+

Detailed Description

+

AppleSingle & AppleDouble.

+

On classic Macintosh systems, each file has two associated parts called forks: the data fork and the resource fork. Classic 68000 applications store all the executable data in the resource fork, which is usually not transferred to non-Macintosh platforms. The AppleSingle and AppleDouble formats provide a way to store both the data and resource fork, or the resource fork, as a separate file, alongside other metadata, which is essential when storing it on a non-Macintosh system.

+

This container format was first invented for the A/UX Apple UNIX system. It has two versions, and version 2 is used most commonly. See also Apple::AppleSingleDouble::ResourceFork.

+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsResources()

+ +
+
+ + + + + +
+ + + + + + + +
bool AppleSingleDouble::FormatSupportsResources () const
+
+overridevirtual
+
+ +

Whether the format supports resources.

+

Formats such as NE, LE/LX, PE and the Macintosh classic support including resources in the final binary. To simplify writing resources, the ELF parser permits incorporating them directly in the binary image as $$RSRC$_<type>$<id>.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void AppleSingleDouble::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +

Reimplemented in Apple::MacBinary.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + +
std::string AppleSingleDouble::GetDefaultExtension (Linker::Module & module)
+
+overridevirtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetLinkScript()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void AppleSingleDouble::SetLinkScript (std::string script_file,
std::map< std::string, std::string > & options )
+
+overridevirtual
+
+ +

Selects a script file to use for linking.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::SetModel (std::string model)
+
+overridevirtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +

Reimplemented in Apple::MacBinary.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1AppleSingleDouble.png b/html/classApple_1_1AppleSingleDouble.png new file mode 100644 index 0000000000000000000000000000000000000000..31c456f7ff119d288aed4d96d14ca1a5fbbfdb56 GIT binary patch literal 1370 zcma)6dr;B|5dL{)mXC89C(Q?X=)oU&>`*zcB8R+(&7O%Kjg@<66!@L0@ru9y{vMNTM*s<#@ zbvyO-;Q3>0`n&4%_oez+e5$GXs->zQ^%Of%xY&~#Z4ofheW~rbq-s)IQW`7|*4F*% z&Pt4_PH@A#i2vnW8E5N&=cVp}iS7HRib$qCnXr3IrFLtK*AdVkgeYV`ahYc#Q|nZqzyf_9 zcZgrW|4X6b|w!of8uQYMYW+PjXdG>MR#-WQMTOi*> zU<`EJumV>1L4h~@YT&T<7YXred5%=qT?FYvqX}R-MNXo{;RuaBgZ|_}?iEqc)1-+Q zdkA?cV>)=&!O|NPC3SU1d`+7#!E(z*-vwCK%Da66((=%M&!jKBu(Qt%Kj8#@Q)!n$O$>zNo5guKn4#+zP( zb4G&V%UU2Brz!rrFe8ou_E#dK<~aoX2n*$#*(%L(DkH6E9y_cncoHeJ7^TpZ^KVs% zZ-OBx!|dZs8EN6jJ}7y#Uk#67c8NMvVl&|Gs5xLWHcw!VPZgFZOxo*=kfLV_b0CBy zH!6(lH3f3*oPm#M0&tJ=MM5c3S7R}WFNxRocnGX_4EL*Hu+;`lBiwsxD~4CgT4|U^ z+3ui+w9zGW^?S#GF3)^?XR!kX!A=-iSNS$EK&?B+6R`ZX5O%YdWMgjTSdjWAd!go} zpEf;5aJ%9KJO6>;I66EsR-wGWORh}!NNUBl30T*Elt*2e&h-}t3A4JBVtNVOvw?iw zy$1{iYmy^w zLsDJ}97cOb<5dO5!cY(OT{umOi_5Xr)UNbDj#U_C7B7Dc#)|hJVSx?K>L)4mhKu!GrI{U0dW(e1C6RS@`LomAwrj&mcTW=US z_oOU(y#s29cs5zY~GbvknQva>%hXD$Y(SD^s9*OJ8 z;Z}fFK)&v9V$`9v3AB3{-se@l9Wu^YAm$vvA_=Cakp=GxF%jhU;XBOTvfJJ`$HR4j z&ynEiq9JSYLg_I=TO(!#$=b<2uw23H;|b^9%BM&9Nt|V|6sN%qrM2MNf+hM)UHK-j zKT5fAMrw + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::AppleSingleDouble::Entry Member List
+
+
+ +

This is the complete list of members for Apple::AppleSingleDouble::Entry, including all inherited members.

+ + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1AppleSingleDouble_1_1Entry.html b/html/classApple_1_1AppleSingleDouble_1_1Entry.html new file mode 100644 index 00000000..16e1c49f --- /dev/null +++ b/html/classApple_1_1AppleSingleDouble_1_1Entry.html @@ -0,0 +1,230 @@ + + + + + + + +RetroLinker: Apple::AppleSingleDouble::Entry Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::AppleSingleDouble::Entry Class Reference
+
+
+
+Inheritance diagram for Apple::AppleSingleDouble::Entry:
+
+
+ + +Linker::Format +Apple::AFPDirectoryID +Apple::AFPFileInfo +Apple::AFPShortName +Apple::Comment +Apple::DataFork +Apple::FileDatesInfo +Apple::FileInfo +Apple::FinderInfo +Apple::IconBW +Apple::IconColor +Apple::MSDOSFileInfo +Apple::MacintoshFileInfo +Apple::ProDOSFileInfo +Apple::RealName +Apple::ResourceFork + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + +

+Public Attributes

+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + +

+Protected Member Functions

Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::Entry::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleSingleDouble::Entry::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1AppleSingleDouble_1_1Entry.png b/html/classApple_1_1AppleSingleDouble_1_1Entry.png new file mode 100644 index 0000000000000000000000000000000000000000..105501b9ceefd53857f62a453ddf402bb210f6a7 GIT binary patch literal 7177 zcmdT}c|25m|DTronCv5wQqvhD7g-Y_+&eRBhESH=WJ$;+OZF|xEn7(Age>8aX@qbQ znn5aIL`}xt5ZU*{*q3>Zw&y-iuix+a{qfxUdo_QYne(03dCfWB&*!~;=K3l96Fi)I zIAJgt4*`!egu%8DVX$pU@NLjaQ@#lmdfR*Iq_H-e&4xaXPR@JXe3pGwUh?wp+fAc= zeSOgSk(Xyk(04mL4fTy+(D}!g%GT6Y=+bxs?q_4)EmLVsFiVYpdy97HH8#87#v=h{ z<JfebQN#IRmW}{mtqA&F*^`@MlyA!haAW4;abD?ns z@8OAD!2s`T2U>4tJ8XE`uyfR>tKU=ChS>wFp_R*l1^vNkoo|9KJr+eSQB{JH`QH`@ zWADh-0r@76W9&gfP47(^Vs>DSCbT~r!u>_isS-*?zAN9S9&pP3zI zZ|h6-RpGTk?(bKFi#*d>m0GDWq$SB=uU4(HVN0kKp8@$gznF=(#@*A;I*4)uzYNmN z>9TbCGHZ6pPOr*Og*V#2B_MgCBVO1ec=z1JS(QOTm;KwN;47KL#c`kBJ>icMEvezB zM}B6Tmj}NqOs(`@DrX~mB?i}n92KBvjh)6qPthFs@Z%A>%4T&*8F&dTShcsNX05&! z=2Z2zVk-kR@}ey)x9RGW@Fyo!w{3^LPAzVy6< zv&*nVVeve3%-v~9D#*SQTJ_^KYD{oh>|qau* z{VbcWY9k%#w71-{&U$L4ydtl>b#ZQCNbZ$frM|ax$KtN)`Foh*^Q?Cw;V8?wM0Muh zc0`vBr4C15=-j9sW1BwMrM0*XllU}O{n<`t9p8F;;yFxNu-hasUtq;==sBQv%*!b7 zB2#LkEwLW+!pi)Le01-IB~YGaT-qGLtczX$wK0pkYZUNW;I5kF2<>*{r8_ePi<`0I za#im;e1bmQ4vWz^UvN^}$oElxo=WsMqqe}e#W;?9B3DH=$gLUsg8kfdkytBCx#Pkt zQ_JWsTWVsKIkThS4oq*&3}M4ve=l=pR$B+zg;pj3HorMC%hnG^nFdja(6Y@p8;Se4 zzaN}2`q?dGov`g8*+>8XY7Y}z5M(Ind0d8RHWpyeW3O?MXb}Ve+Tud-AOe9R9ACRj zyoHwOOq$5n?@@>uSkEu-PEJd|MN(h;JF#VI)YWOPa9ygp;xre9Z60bKF&&MJm=+5% zr1>^ai5$L2%ksP6t6lBmuMbYo1Ym||`0kOo&w3qkJBOd|oE>X(3dJ)(?S~z|nfvDj z)T6Mui%zo8E%ao@ILVM4D@sF#ei6r5WxMRi3H5`kX3$5{d=J@*ydF}iES-8xbPS}N zDvPs?M9U;^^UsPnCN_w6cLS4%e)|b{xL0bKZhq z+#$7h0w_(k*EA#er<(R60g$C?859WJOTF*M_gpqKfEdKaWmFZ2n2sH9;pyfj3-e-WKwE& zVsh=tQ+8vwND*tEd^s;Gmn3x=9Fau$mL);N))`nZ01jfl^x&6gd|tl8A%(1}49l=H z0AO4CcoAFA<3eG(5diEs4jzK|OHL;xNe(H)eXuKu7GZcs=C_SP03--zzbkYYq)}~l z*I!TN2I#inO1 zNxD{(K&|InAiim8DaC=_2QaAZeMUI=lWpcEuQjHkTaLCY#_tqlrlV)D%?cLVaw$1pe}EX#%PDkH*y4nodBqR zBq96_Rvf36|El%?p%4LJOWq0@mVJ;2WihA1?$Af(^ee?lH@n+~Eo)g6?wl$e#w9dX z2T<|HQ(Uu3NVZ#?<_bj=jSDCtH%zNyGD8wdN^j)OR@tF3?b>5i2Is(y5cqZe5CaGV zd`DyX2`km#w&eG~T?od$P2Aj3x48Lo-o>scaN-8YiiD44l_RPXh_$u=4iv)CkZ=lj zhua>iYcQhU!F%H{M{s9QV2{^n&{7;zcfjYvWSv`*&~WO!lgRRl#`__BC|<4Y!Pdu3 zL>+8~gopkvL-d#liu7y8CBUwvK&SnYGu7<+5g~WY47&Pv(*%&+v2qNl5;q;umi!{x7f6s9C8Qx5Ft+ zz6821gKO<~VoPFNKv907vZ=C<4x=|f)Lm>iOLu+HQ;RL4c$az1pnVKY z@L93|JeF4B`d$v44rj9yb;Gh=Mnoy9NXL^-;P8k+wMdhSPNCVDTzDKw;zvvszhT*= zcKFGCL9%D(v0)lkz{uQkG6X7`s}j{>{Sl=-pOZ*Br3{No||CSkFEtoiyI|@T&?8Nd+X>v3ciHYLjswqh z3(gkA!jr?y!zYgNSe$u)>J}$x1uvhQq`o~Fy>7l-iPq2#ZF={Q)5+<%!L^7=o0mp&_!IChl4xH{C`p6;^Y&pjaqveXcY_5NZ}23#T=IQXe_ zw(OuH3z1g6H0{W{c3F%3{Gl8MCR8bB%NvaBvQ83Go}LJdP6JuIh+;v*`hX8l=}#^F zMdmIpNf2BS0MnVmuUNNIK=d1jeKJjNg%}Z+E#icRMly-PlLs1zrO>XE1d3ImO}|=A zBWAk4{K2Vm&w!R^bnY`fFBwe8@|Eg{){7gGWRRtdK;;}0+ulcy zU$fTt(f$esAlK3cb1YZI_05s^kg&VesSu)B1pPQ6HX;yg(JmROjLF9r5L1 z@lz|QpXmo6@iD0=nXM_@TYQs)1>CbDj4@}h)ix!q+B7ZBv5FZb&m(!U?p9B8IXg_t zYFY9Cp-=$eI{ZHDG`JD|Pk$5z`6KrC>5sG|H?v)$$H2PRF^gF1-Q?^%_c8b8j0w|N zI)M=wbeiVSNYkP1p0Uo^9j(>InAJ{oM33#)f=nw*VPE*PdbOl2=ftrhvlMdpLlG-Y zyEwE)A4eF(L^jGMDUy-cA0>RU?vxV!9R{@9o*z!0ZNx;$Q8~}W9k=mH1%H*aHQy7^ zupljl16@vUcU@K$HnBSiYAcv=olPuQ)-L;!D-6TD=2dSqj{{yKmWvQVsF`RidhDRb zFRm=2iFMvxOEyIYEk5A|*w`m=byE3a=IpYP?1%4B{S)L;OkT~O0$paVX^@oXnoOk$ z0SEvR4M`|kY=Nc|4Vzl=F^qrZV%MFU(+ekPdXbKSZGE!u&zh0_Z=R~t2;ZXg^68eP zLlvBHBrN3l|2aMR=qzk79|c3@ZQ;VJohtiPy-xU4P!_2Np@b&`WXp)T{;ciey667U37Nk6d7L4T%D=lPTGiJ4y*9QWgrVOa)St9;#xdWbuI7?d0g=a z7kKZeOFFW{<(OedPFt*Fe-L?%Ofs;% z5*qs(MUHgeKM&IQ%3Ghpdj*DE=yw?V!a0km_F4sWEG-OjP{e`C$pb!FzynTZ{+luv z^~C_lQZu6ZukGi2Y3|xy8l3Vz&mjL|N`+Bzy8(}#5$G~&1Xa(2t(!n%U;9$8B?1)Z zb-qiPS1_M;JQWq-R>AUG7O4rO&IIz6VKqL8mrhC$+Tq)?7EszVb(#;6)v9 zdbR>1i$yZ5M>XfXW-5BHdt#(*Qkvpq>z4I4-I$FKfw3*ffF`=3X={|3eBr1zwNv>7 zG^c96YlijKw6x7F}BkW*F{EIJqTQu}m{>@?>l?({z6 zZa-JfUFu3ohx5{7qMcFU+jwrjgV^EwkW=OhZ4GweA~g7)rJY)@&&*Sr@EpTh9*KHa zT=|P};jCWC3(5f<22W67#3A>-130(9VLpH6 zX!?JG-35cqVH^hsG>ntNfxLSE-dT{Me$JA7gxp6>tXt;_iKLF}L|u86XB2^Ak%c_s z)GmU5G+gAXO$+0`wf@=;UsY8hSB7Uu<7lGvvFHr_G^LE_1_x_}Hj%XV;$yo|wgSbx zUWn$R2*FztImgP$sKI@J*L^O)4kgT?Se-JFd2=m%cy;~Bws?^0}bfHOlz_`c=v^=oM zgf92uNLs+x0Shlw67H`I_!VN`L&n#V{-j~q697T3S)<5YAM@&;|iuxDJJnnL5nMKI{0em1i<^VUI{7& zPNa$yj{_#Alng-oYQEYHw1zDQ01Nm~47od78QZ+Z?n76~U)+V%vLh_!blNp_%Uybb zNur$eD~G#M$%!(*N*)KN=Tb337t;$QK$i8Fpt<`)ExNM*xH6pzHR UW>%D-KkZ-yZGBt;=KR%v0MeFp-T(jq literal 0 HcmV?d00001 diff --git a/html/classApple_1_1Comment-members.html b/html/classApple_1_1Comment-members.html new file mode 100644 index 00000000..0cbe7896 --- /dev/null +++ b/html/classApple_1_1Comment-members.html @@ -0,0 +1,105 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::Comment Member List
+
+
+ +

This is the complete list of members for Apple::Comment, including all inherited members.

+ + + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Comment() (defined in Apple::Comment)Apple::Commentinline
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1Comment.html b/html/classApple_1_1Comment.html new file mode 100644 index 00000000..df3465ed --- /dev/null +++ b/html/classApple_1_1Comment.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: Apple::Comment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::Comment Class Reference
+
+
+
+Inheritance diagram for Apple::Comment:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1Comment.png b/html/classApple_1_1Comment.png new file mode 100644 index 0000000000000000000000000000000000000000..b3fdd72394ab0891a2720329025b48fc6539b7a7 GIT binary patch literal 1106 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GV7JzX3_Dj46+eZ6V50#B=W z;j+o!>mMBsZA#i&RHi)FqWWz}#{_MfxxhZF1u zyV&2|k?-}ZJ+W}=RsW5uTlQ!_UDLjNLg?%L=XXvC6nW+BcUZsOX0QcJgMQI z%(AYu%S3UiE||h`d-k$BF{$NQ@18V2+rNJIx2wM{$hEWt@lV^4c`8zW_hzN%cPChW ze)~(Hzmm^&(UHUV*OmGGFG}Woa$|;`S?jM4BGy6j^OD?O9S(luQCra^yOQ63qw?2> znq^DuY>xI_Xn!<4>=HJIz6k6;knmlI z!N&0z1H&&PHiiq+4H+8t^)NDgN#$W!pr6dZP%FvI@Zz)tgF`&J62GlFr;T=Q5D@g$ zO;%94G~G}@@TIqrh0>y4t6cTGbN06DZwc7+9l!g{CI6$LV4(KF2kTgC9*NcOJ#JHA znWUifvApx(>@9t-i?*#UdlVM4_iXLM`kL(6Ti;*po4b)uLMqu`!v9RDHjgZM6(;oU%+nlstDhI%1@4Wu;&EsHJ1ctn!pZz^ ztCp428b5C5IWF#3&BwQHebqIWY1_YFstUR0zw7%Xi-_H4rce28Ra@XI9Qe8X;#=QX z6(y;Q=90TYXLn@yl%B|c;~cHr+3~OW$b@P(rA0eacwAh7L8_!wTiKQxIc+B^L;Y%T z2A_5E2^D*vwf|sb>o>4HqHl0xFAIbJ1mZ&-7BLOMme21zX-ZC;7j^8wnKk;!32E1^ z*S6g&|Gljs*T6Xb^4^F%;~n=}b}ze8P|GIEmfsZX8}rl8XQgS~l|L(F7e1V9E1kYV z&^`Lht-$ytyUV%jKOMhy@rSW-{56BaQbngX+-%p4WRGlARDV6sG3_I3+mm$%C)mAO zn{0e%Yi-8#rkOvDd5vYB9DWv8^(a#4_l5n_k8HghWB+Ey&(*T2nlonFU(T2-mfkos z()HK}X`VA@ZW*zqr2!L@@#cLt&Bf==uB{ht{<-RI(fxQ}?q~3H^>bP0l+XkKTeS_J literal 0 HcmV?d00001 diff --git a/html/classApple_1_1DataFork-members.html b/html/classApple_1_1DataFork-members.html new file mode 100644 index 00000000..15b5d46c --- /dev/null +++ b/html/classApple_1_1DataFork-members.html @@ -0,0 +1,105 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::DataFork Member List
+
+
+ +

This is the complete list of members for Apple::DataFork, including all inherited members.

+ + + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
DataFork() (defined in Apple::DataFork)Apple::DataForkinline
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1DataFork.html b/html/classApple_1_1DataFork.html new file mode 100644 index 00000000..a6126a5b --- /dev/null +++ b/html/classApple_1_1DataFork.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: Apple::DataFork Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::DataFork Class Reference
+
+
+
+Inheritance diagram for Apple::DataFork:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1DataFork.png b/html/classApple_1_1DataFork.png new file mode 100644 index 0000000000000000000000000000000000000000..b71a1c8147bda1cac6528ac3a6ed95474be12de9 GIT binary patch literal 1123 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GWgJY5_^Dj46+eLrcn0?$$Y z!ex`c*FWn1GqE9H?Y-P3!fEH1IUV_<(74_q$2;p~;imL&y*0D1xwWknR62ZzV_xD+ z*+y}l&B_5OJIq?UujT&Dd+^?=+Wx*(jbYz`fO$8k3B@b4oxBb_ z*jKdtV?xQhc9E#KzY@_d-n%Ci*XGV#6Y;-p)zX$l1@=pfd={#-i4;1D?7V06B-Zox zib9|vMH<>(eH-jDKb@RfzWj=xm&yOSn_Ji4<1bZmnKCKj(UOxp=ar{B`|VcDes=r2 zv&UzVE*H*|@$1X9{?{aNKDi*tZ`S(zq2{-9e?N#+Kd-Ck+FNXIbM)R$`FTn2@9_I? zEPvO&{D$@S!@+CPKd3&uJt?YY)~m|b%nkc5axZ(^7l z)K5q-IK&@gVEARk#&BV}Aw$Ey9!7>QsXPn|^phDFY9*N&UYtf#a$w=K)JQdPF{MQ- zQ+ZrmfI5|wYCYN9U9POST>ju$&FjjkeOHrh@~wsT96jygvX!OTTKq#}^pCG{#Se^< z6qG)ecO9I)qwjXnwbf-0rp4~{O@96VL&)wc=a26Fn>4fFEsyf+nn%&C3-`#U`?%FC z+Oen5yU;xOt&{;|7oYx}bNik-%F_j%|99_{%UaLatZ}UB*sf*g zcD!|37t<&CMEvL+UT3+R632wYLrY#v + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::FileDatesInfo Member List
+
+
+ +

This is the complete list of members for Apple::FileDatesInfo, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
AccessDate (defined in Apple::FileDatesInfo)Apple::FileDatesInfo
BackupDate (defined in Apple::FileDatesInfo)Apple::FileDatesInfo
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
CreationDate (defined in Apple::FileDatesInfo)Apple::FileDatesInfo
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FileDatesInfo(uint32_t CreationDate=0, uint32_t ModificationDate=0, uint32_t BackupDate=0, uint32_t AccessDate=0) (defined in Apple::FileDatesInfo)Apple::FileDatesInfoinline
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::FileDatesInfo)Apple::FileDatesInfovirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ModificationDate (defined in Apple::FileDatesInfo)Apple::FileDatesInfo
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::FileDatesInfovirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1FileDatesInfo.html b/html/classApple_1_1FileDatesInfo.html new file mode 100644 index 00000000..98cb349f --- /dev/null +++ b/html/classApple_1_1FileDatesInfo.html @@ -0,0 +1,228 @@ + + + + + + + +RetroLinker: Apple::FileDatesInfo Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::FileDatesInfo Class Reference
+
+
+
+Inheritance diagram for Apple::FileDatesInfo:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

FileDatesInfo (uint32_t CreationDate=0, uint32_t ModificationDate=0, uint32_t BackupDate=0, uint32_t AccessDate=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t CreationDate
 
+uint32_t ModificationDate
 
+uint32_t BackupDate
 
+uint32_t AccessDate
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t FileDatesInfo::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void FileDatesInfo::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1FileDatesInfo.png b/html/classApple_1_1FileDatesInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..966f7a7b1682c210fae1640c86a2b43a2a2361c0 GIT binary patch literal 1135 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GV_JY5_^Dj46+y*Q~^fyY(9 zaM|Sl{~x(>FmYv--u6&Gch9%A!E(X@ZGrioa+R`g=Kgj5Cwa}SZK0sj;Ts(D5~XAt z)qNH#2c+yUYwf{zYyEw(I-`d*U8D|6yo$mymlTF7YOYsX_gO z1cO8TF$RWTMr;fhrW-Oe?CW7<_>#)Qus}bVfuUBCnc>B0G$jWXF3X(7Ca$KmXkjXk ziwjVvl2Ywdp1zKZrEa$yXMgrTt!;ir?r-IF+k?9$d|X0SClowqvMb=;|IN@^&z4O| z>z|)th4A&l$a7U!`R+_wz5SB;fByWf-hb!ay&iu?_+0P8^m*%lgr%K${J1Bn%Rgnh zta)ek)$Q{%|7-aC?&fyB7+$mP?1p*!&%G1Q%e1W4vu*n(9&CFhPPT24#B0gdv#cI( z^w@4_j{M`bVp}`0fTBl-nuu)_JkqE8A1)-pvcAzj%IU7Ef>0itEPH zUY`@cpYlT9qExP=Z~dHX*QwW^Uz((Kdcw1vAu89Feeyo_*7mODvd$I1tY2;`))x}I zd(m8S)^;<&i?&ZS_iyC?D(mU;gq(t;iwJA6;)6gPAC&8*CjWH#QsucvWlWPHBS zmO0mRKd#|;yVLvDujW%9&z#ABVas;C=?3@me^=jRRv8)3zoyETpSF9(hBLDjQsk4u zb7Jm&wvYV&V2<=_-{iD=7o&MBAN{zfnmA446iZaOXvA4Z*MF&5Y0s2nlV7w1FRz>Z zkms(uWKoHB+oq)O-y1|K&MmD9VEj|rcCIV*`T1!Jt+%aO@ZPxO)xzTwnAUwS2 + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::FileInfo Member List
+
+
+ +

This is the complete list of members for Apple::FileInfo, including all inherited members.

+ + + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FileInfo() (defined in Apple::FileInfo)Apple::FileInfoinlineprotected
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1FileInfo.html b/html/classApple_1_1FileInfo.html new file mode 100644 index 00000000..75f22b9b --- /dev/null +++ b/html/classApple_1_1FileInfo.html @@ -0,0 +1,164 @@ + + + + + + + +RetroLinker: Apple::FileInfo Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::FileInfo Class Reference
+
+
+
+Inheritance diagram for Apple::FileInfo:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format +Apple::FileInfo::AUX +Apple::FileInfo::MSDOS +Apple::FileInfo::Macintosh +Apple::FileInfo::ProDOS + +
+ + + + + + + + + + +

+Classes

class  AUX
 
class  Macintosh
 
class  MSDOS
 
class  ProDOS
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1FileInfo.png b/html/classApple_1_1FileInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ec26e9bed34d16b64ebfcc2d6c20757321cf2d GIT binary patch literal 2720 zcmchZX;4#H7JwlxouLJ(u@FII83cyV?8>5SqBN`Eggmi9ALO&RZdK zpBh{KeKgd_3Xr0grRmypPr$yDNd+43V#AWn09y;16K zK2XWU82$T=6C7VhRdw|@y-UJs4EoyD28-H@A+@>OJFk@aZMbu-45j zXc}Wjq%umA9Us}z(}=|NnySV^?;VJ>VVZk4;&m=l_!xI@_n=1h*s+9ZHoKAE&Cht> z^1YZO4ofAB5~QoF0p2zQV(o)Mz2R%ZH&bD6>hH`Ye=~_@$?&F=N7jo6H`Z30o|W#| zzI~-R?MC5_{Hz}HYaz!Z&QmU%&!a+V8EV3{wcfTYRQWHv7|_VXF1MarhzdnN%e5w@ z>N)66*XC#S5dw$TvfSLBF9!Y3lB=TtLRvw-d7+b zQ9}xc7DBq}?}R89oloFf8WnVBX-PU_wOtfCB`Vuf)4ZcND)mf(b%Qj+db+u{ga4T} zC-wMluw+_Z^LWhJSOYmTdyn;0gH|31!bo@ND7}95DiJh_y@-X?2Z6%;FR>p4vA(xc zv9NRnjZy@bjB%lrRw0xLqng7>*-rl1uf?EODMBhME5{Y9Y~TJwrwF$LfzaNP@A-P0 zsjD|x0LxCzKZDsrMjA+DtPcw0u@s}Pf8P|$xCH_?uGWCpD4zs5LfloD{%;he7nxSO z^wbcDOf498306?_dyCPZCD!8sgPVv%qcj|?*7u!%NUGdAFrqkV3I2x zIwk}kS6PCM=t>gcy3U$}D;wLpuwfO_!?|UdGb%n48bar+Fz1^#Zx&&q2cz}KK&_RG z`Joq255gRn?HO)Lz7(s9tA4zBbDHpxPI^9d7o$I}hp$Qrxo!5fgg8+UVHxG5Dsv&p zOkR&&y3N8HDN-lF49{I=eKcV<MJp5COdWTC-*EeyKTkcf2nor zbWI8nEVngwcDw%s2QM=t^6GztXBz=dQhOTJCP4#&vSTxQL7uUzJV-6KVT-i5G9Rcv zMp5X{?_r?Iw7TMeL`u(q69IV!IIDkOfcFDXy}7j|hx!Bqc+wQy&~Kgk{}c5eFn7ir z)ltjc{gtwEhmJp$BYX&WpHURfZy+a4nS}>&;^-=(*SC!%tT3EzPGs(bB(CbDlu$7^byIce{EXf8*eC%N3}k&aX=haz3zKT6((<&L?_e`S=@ci5 zKUEc!QR-^mVcL-W<~Zncgz*Ze{$1!oM({WoU9ndv0`7lX`nk-Br3rog@yG)P`ub;2 zDq#45Z(R>UcYI5}WQqex9#9-0Qg`=1cw)%qIz`=)zuuNh6Pp19k7%1FPwyS+2TQIw z`=FW(%XZEG4SnrE&-t@O#VYe&#@n(=F=st(w1ys5A&wUJbm|&u4BhtI`T4K4orUNB zpy|fndv-CcQqy#DB4$t}S~(H;aAVtD%%#X27%sA77(kGoc}Xoi{ICiQwHTK9LH)W$ zBp3$Hz%W=41Btwh1ECgA?`rshr%f3QJ7?OGjzj%jpGGFu+A1n7UhTv-K>h1-ZrL28 zD5#!*f%@wt30_5}`2m*QT(iVP>kh7XHw3A=Qv4QinEn;{Y+ZH|d5mU@jehdUghz}S z^A`M=gO&lo;v&|%Oh0ae$%FJt@uOFD^c0L<5{XBTA zk^3?Zl}LJQPI9GmIgz>tMRTgM9`g)aQXvPwF-gc+{p5eTpCb=J%eY#j-IlyeE+xZ+ zB-F%y>&#u4H{ctn6iJ{|h2&8W;co literal 0 HcmV?d00001 diff --git a/html/classApple_1_1FileInfo_1_1AUX-members.html b/html/classApple_1_1FileInfo_1_1AUX-members.html new file mode 100644 index 00000000..94a28c82 --- /dev/null +++ b/html/classApple_1_1FileInfo_1_1AUX-members.html @@ -0,0 +1,109 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::FileInfo::AUX Member List
+
+
+ +

This is the complete list of members for Apple::FileInfo::AUX, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
AccessDate (defined in Apple::FileInfo::AUX)Apple::FileInfo::AUX
AUX(uint32_t CreationDate=0, uint32_t AccessDate=0, uint32_t ModificationDate=0) (defined in Apple::FileInfo::AUX)Apple::FileInfo::AUXinline
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
CreationDate (defined in Apple::FileInfo::AUX)Apple::FileInfo::AUX
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FileInfo() (defined in Apple::FileInfo)Apple::FileInfoinlineprotected
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::FileInfo::AUX)Apple::FileInfo::AUXvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ModificationDate (defined in Apple::FileInfo::AUX)Apple::FileInfo::AUX
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::FileInfo::AUXvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1AUX.html b/html/classApple_1_1FileInfo_1_1AUX.html new file mode 100644 index 00000000..9cd8081e --- /dev/null +++ b/html/classApple_1_1FileInfo_1_1AUX.html @@ -0,0 +1,229 @@ + + + + + + + +RetroLinker: Apple::FileInfo::AUX Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::FileInfo::AUX Class Reference
+
+
+
+Inheritance diagram for Apple::FileInfo::AUX:
+
+
+ + +Apple::FileInfo +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

AUX (uint32_t CreationDate=0, uint32_t AccessDate=0, uint32_t ModificationDate=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + +

+Public Attributes

+uint32_t CreationDate
 
+uint32_t AccessDate
 
+uint32_t ModificationDate
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t FileInfo::AUX::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void FileInfo::AUX::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1AUX.png b/html/classApple_1_1FileInfo_1_1AUX.png new file mode 100644 index 0000000000000000000000000000000000000000..9f03f1838327ad52370b6afc1c86019e09dac5a4 GIT binary patch literal 1401 zcmeAS@N?(olHy`uVBq!ia0vp^hk^J22Q!fDGgUVOQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=FI+o-U3d6^w7^KAf~#fyb>s zaoOSD_8(mx7?0k%cDuLa(VOj>0*37ZKe%5O{ycg1;4M2Fp?Qh9NfJ_uhCRIk5_ev3 z+et{LPTlm>o3B4_o**iH@BG#&fgM|f8J(2{}k`HhRd>SS+noMx*gqni|p?ljoT^zE@}N8{_>6C@7j0Y z(Effn_RZAa5B0vC`dc6_E#c(Za{Q_K*0!wmwG8(!GA9)LWjOrU(C!Go0ZYq6#k$6W z=TsZ4Pe?F)N#$YqWyHo%E6LojuZPhg{usjo{bYs<(+wG3oJNs8uyRguUco~bm$qq! z9UVYP7nd)g#y(0)(xt!r?kxN8WsleKH-$Fu%T%hu^}9Q^tddxEoyo4Sd;h#-xg9cw z9Ufo53ppEP%3gn(6aMx{ZXvH(|Jnb^t4lL)AFcg;)ac=C1s+!smatwzFwi?Yi?D=I+0HSAU1@>B=WXM=tz-6vV&wI-_%F&)c3{ z-@T8vaqld&Okc4-;_S}E2)D4d$DOmatV*M~zMXlh!#}qwqd4T;G`_^^&XRJTnxW*k9V4_{#B(M3wz+6D1}27yAuZjBj5(vh_ae%+C|r zl9bcbP1mbD7IN;iVBMNG!}L@Y^V_yrecV5P*z;V~GB2E3^}^63f2HA+7u&pJa{GMc zW-*1Qd&J*$y*$Uhx^0`qyTb(m{O&y8&p7{&d3CkKcnja_x!$vC>R=&Juqt!bvV%vT z?EUV1T4K-lxcFla_J03WHF@FlJ#W3!UEkXC@B3O6^WM;B@62+Z zz4K#do!#{vv+*kt?;>P*}@wgH$Bg)N!FhXQ1WwJE1lN6>7K*x zh07Mp>Lu!T18vfOW!#oEb+(6>?H7qz+s$^bPOad6=-VcAx2$vZ*^MWigCEqkW!=hu zo*26*Pmb@E;`Vt4CYS4W%bhyT_v&HC!%Dd+5`5>D#`&5%t6rL0U#9!8{&ihO_%A*4 xJ%$zU_wKVx`f%^J^htzoxOgs`_$I%W=XxeD_On^`GO& + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::FileInfo::MSDOS Member List
+
+
+ +

This is the complete list of members for Apple::FileInfo::MSDOS, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
Attributes (defined in Apple::FileInfo::MSDOS)Apple::FileInfo::MSDOS
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FileInfo() (defined in Apple::FileInfo)Apple::FileInfoinlineprotected
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::FileInfo::MSDOS)Apple::FileInfo::MSDOSvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ModificationDate (defined in Apple::FileInfo::MSDOS)Apple::FileInfo::MSDOS
MSDOS(uint32_t ModificationDate=0, uint16_t Attributes=0) (defined in Apple::FileInfo::MSDOS)Apple::FileInfo::MSDOSinline
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::FileInfo::MSDOSvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1MSDOS.html b/html/classApple_1_1FileInfo_1_1MSDOS.html new file mode 100644 index 00000000..5314025b --- /dev/null +++ b/html/classApple_1_1FileInfo_1_1MSDOS.html @@ -0,0 +1,223 @@ + + + + + + + +RetroLinker: Apple::FileInfo::MSDOS Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::FileInfo::MSDOS Class Reference
+
+
+
+Inheritance diagram for Apple::FileInfo::MSDOS:
+
+
+ + +Apple::FileInfo +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

MSDOS (uint32_t ModificationDate=0, uint16_t Attributes=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + +

+Public Attributes

+uint32_t ModificationDate
 
+uint16_t Attributes
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t FileInfo::MSDOS::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void FileInfo::MSDOS::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1MSDOS.png b/html/classApple_1_1FileInfo_1_1MSDOS.png new file mode 100644 index 0000000000000000000000000000000000000000..2b35c94a81c6ec82fd86c0cdb752bec8dc8206d8 GIT binary patch literal 1429 zcmeAS@N?(olHy`uVBq!ia0vp^hk^J22Q!fDGgUVOQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=FIao-U3d6^w7^KAf~#fyb@C zaM|SV^^dw6n7VSezq{+9ey(mdlVCAZr$+X3JN9^?$)N^UiPQsh4n1`C-7_K4E&_y#JB)x$z2in;+Kvtxzn^ zIOwx$iRBCluM?H8_}{+Rf9rv$Gp};u*GJViZTo7Zj!*rq*e<3V5oi?U)LF(`>Ucuh zV3+=#N*k%!K#6T>_D82(__S(Gb!}zXrliBacTO|vI{0_OX@mAjl0`>YH{N<(-Bud< z$tda$zvULwDXgiz8*DSLP0o&;8)RL%xb^$#RexXpy^z<^5@Z%udI@Mu>|9>U^=`4o z^|kg#a_2d(41Dw~fAiea^|l+ep4^zpXV(1tq29Mse+$H`pVsZ@-dkjU=V;tc`FBa{ z@9>vz41d?Y`-b-S!?8ID9IArAAX;e}QvI6whkX?T&pQ2t3Y%l?KbYDY3~Y{=8~oVG zQowG>+^}~J(_3>&5!Gu${W$?)bW55u=2Hil|c>57$=^PV3(s-tAIWsalE zk+^dTN=fTyB?<}NTzUEXp!uEm)m@2I`VYkOK3*?ABRt)h zO>pJEdr2H>PYb=%XKxkHTb;e3GUum!^jh!RdhdSgPve|^&SKM<@Y>Y|Q@&sBxfwEF zL(l(C(Vg8J|N1<2PyH2tM`G2+SH-n$fB(FFS9dtq_xa4zlFt9Tvu(G;sq=&yZZqCy z`nB)2;*(=fO`ZQ9%{nK0*lLsE9RE8Z7rnP{O^DyQC#v1gc1w21xoLcdZ@Sf=Uwit( z%67B)D`V!@d~D}=&hEFH->+}|rt7P;^3N~LU7fSO}xW zEGTaKa@E=7?9bwqjPA#FJnCNyjuo6QeKFsA@2tGGZHc>!GpE0Nt-iP8#QCQ@@kfB( z*8q8cI>?pU24_Co^y@bKU(J5t!7rw^&&%(7p|&W zR1Ob}%Lb`$4&D2wts8n(_-}*a43k_lL(jc?rY*eDk+`nYF7?JT4cW7kR;`-%g11em za8}uEgXk$=uk$(ky1$(-9Q08}k}oM^gOJF)M_OMmBxl@P^+&r+CaeFUY*)F2 zSIKXY@Y%`R`FtC{O9~yx z{^vnc=l + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::FileInfo::Macintosh Member List
+
+
+ +

This is the complete list of members for Apple::FileInfo::Macintosh, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
Attributes (defined in Apple::FileInfo::Macintosh)Apple::FileInfo::Macintosh
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
CreationDate (defined in Apple::FileInfo::Macintosh)Apple::FileInfo::Macintosh
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FileInfo() (defined in Apple::FileInfo)Apple::FileInfoinlineprotected
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::FileInfo::Macintosh)Apple::FileInfo::Macintoshvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
LastBackupDate (defined in Apple::FileInfo::Macintosh)Apple::FileInfo::Macintosh
Macintosh(uint32_t CreationDate=0, uint32_t ModificationDate=0, uint32_t LastBackupDate=0, uint32_t Attributes=0) (defined in Apple::FileInfo::Macintosh)Apple::FileInfo::Macintoshinline
ModificationDate (defined in Apple::FileInfo::Macintosh)Apple::FileInfo::Macintosh
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::FileInfo::Macintoshvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1Macintosh.html b/html/classApple_1_1FileInfo_1_1Macintosh.html new file mode 100644 index 00000000..4f40eb21 --- /dev/null +++ b/html/classApple_1_1FileInfo_1_1Macintosh.html @@ -0,0 +1,229 @@ + + + + + + + +RetroLinker: Apple::FileInfo::Macintosh Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::FileInfo::Macintosh Class Reference
+
+
+
+Inheritance diagram for Apple::FileInfo::Macintosh:
+
+
+ + +Apple::FileInfo +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Macintosh (uint32_t CreationDate=0, uint32_t ModificationDate=0, uint32_t LastBackupDate=0, uint32_t Attributes=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t CreationDate
 
+uint32_t ModificationDate
 
+uint32_t LastBackupDate
 
+uint32_t Attributes
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t FileInfo::Macintosh::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void FileInfo::Macintosh::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1Macintosh.png b/html/classApple_1_1FileInfo_1_1Macintosh.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8a93d5e11698081b57c22dbefd612b37c1453b GIT binary patch literal 1447 zcmcIkc`(}v6b@QijUj5VbM$jr{v2~4B zs||v6)G^UEQE?@%XdOXnX*3P0h+8(>nf+t`+kf`Wy!XBLzQ5l0&Ac=>S7!}%xH<>~ z(r`IP@K7K}k#7#DC~79o$Xo#kw+miQa=Bd5&P& S5J^){vH;}g#r+0zo`qs!RxltLh;8(m3rW_55u14tS8Q7(3R6ie5e*fY4y|3 z9kY;*B6MGWLCNa)SR2imJzQN3Ydu>4+d6vy?7wut+EkXQhviU8p@BA43!EgmR_Xe5 zVe6Uu2BvY%>TOvSv^=?c?9Gc>(_^9S2}NBxL`<@4FY*G|uxe9yZ0f0;oO~IKTTPL^ z3+uL%#lgA7+xqv87n8%2$0 zSh|u2n5VN3fFiSA(zQS8Q58YCxRnpP)C;(%7y-&_aocms$Xqllp>jE zzuT;>)D30Y-2uA}3(Q8#zOVbNRPM5hl-`i|AU`w(RGW_ljrPJo(m60l7Oo14{Wonn zVwveLChI^x6Zv{5GMb_Vsk_{bq0@r|H*CTX?BQ=c8ado$>MOg!Hs~poN2MQ>xj$~^ zNFs}C8)`+?%AQ%$#$#5jnY~wP#?vNd;6akYJ?^XVX9@j_6R;Jviq27Nd`-bg?CkQ& z(H!IFT_zzy4`E^ZLjJdh>;}qJSb96T)tn>SUR!JzHJuV?_d@WoozIT_T%$sJ0{w!1 zkBfR2d^CJ6obSf>j*H;bu2zA$x=hBrAlP^mn_q8hCMn~)+xx)5&WPQ|J~?IXnrkuq zxvjuX`A?Sip_2H}(6~9)C9ga2Ce=OxKMdLCr$1<{+<6q9cu^NQjPls^jf{;zr_+Ul z*G$bqf+5+lJ*7JtwgPH7y-V}O#%zfLp&V_MOsBJo90(nxr0Ym-U5L^SlLRXMatKPQ z+0$>otFITSxvT+BFj2B~_)nt$0$zjN*_d1kzq$9Izt=`1|^(`qOMZch%d7Qax(v_Rqa(2le~j8y0+kzuu0HSiKIt45PiDw>aGJWHiBX5g7YyXy{XkP&Txs-ikg6c2PAF&5U zBujA4Er#jqmq=nn2()LGIboJcHH*QLfX1O%8geqaC7oB-jR!=*G}OV26$rjA9smks zxV20Ntft!9K)N`qj3|BT6|%x)5I@5?Zv*YfmOM@ZFm-=VpOzf)5*P+Pj8DEO7_rhN z-RWDry48Hl{N%0xG5P(@GzVbqZMZ4`#9AdY7%XKD28^HHQY(=nnX>GtzdtX?#mSYx IboBf6FL;r_ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::FileInfo::ProDOS Member List
+
+
+ +

This is the complete list of members for Apple::FileInfo::ProDOS, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
Access (defined in Apple::FileInfo::ProDOS)Apple::FileInfo::ProDOS
AUXType (defined in Apple::FileInfo::ProDOS)Apple::FileInfo::ProDOS
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
CreationDate (defined in Apple::FileInfo::ProDOS)Apple::FileInfo::ProDOS
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FileInfo() (defined in Apple::FileInfo)Apple::FileInfoinlineprotected
FileType (defined in Apple::FileInfo::ProDOS)Apple::FileInfo::ProDOS
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::FileInfo::ProDOS)Apple::FileInfo::ProDOSvirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ModificationDate (defined in Apple::FileInfo::ProDOS)Apple::FileInfo::ProDOS
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ProDOS(uint32_t CreationDate=0, uint32_t ModificationDate=0, uint16_t Access=0, uint16_t FileType=0, uint32_t AUXType=0) (defined in Apple::FileInfo::ProDOS)Apple::FileInfo::ProDOSinline
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::FileInfo::ProDOSvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1ProDOS.html b/html/classApple_1_1FileInfo_1_1ProDOS.html new file mode 100644 index 00000000..f9175c5e --- /dev/null +++ b/html/classApple_1_1FileInfo_1_1ProDOS.html @@ -0,0 +1,232 @@ + + + + + + + +RetroLinker: Apple::FileInfo::ProDOS Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::FileInfo::ProDOS Class Reference
+
+
+
+Inheritance diagram for Apple::FileInfo::ProDOS:
+
+
+ + +Apple::FileInfo +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ProDOS (uint32_t CreationDate=0, uint32_t ModificationDate=0, uint16_t Access=0, uint16_t FileType=0, uint32_t AUXType=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t CreationDate
 
+uint32_t ModificationDate
 
+uint16_t Access
 
+uint16_t FileType
 
+uint32_t AUXType
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t FileInfo::ProDOS::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void FileInfo::ProDOS::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1FileInfo_1_1ProDOS.png b/html/classApple_1_1FileInfo_1_1ProDOS.png new file mode 100644 index 0000000000000000000000000000000000000000..7f81bf17741fcb6b87db37123c7d295f546aece6 GIT binary patch literal 1426 zcmaJ>doa&{ddoOe9!s5&-Z)I_w)UpZ?>1`F}2M)n*jh&b3Kke zE!P}5x2Pz|WuBGsLAl!I%K-@YbAycN%VWk@r=dJzK==7|});o=esh9$qzhnpuQB-?cd5`zA+iUgX=c z8ze&Q=jgg!cnyWM?GY@2XXxYS>#VmE!XkI8cIX5(_0-r38V^?_63VVGb<)?TR=RgN zJDX%>h(u?8_x~fvG5z+y#rlUm$&-Xv-Lg?%$V0&<6y}B`E6Rg4mZ;JY zo80AfrB)}d{gD(87AYOVeB(!%_G9-m-{13wNOTHW6`YtN@q9yq_Tj~DZs;C?F>dW7 zX+f>3i+EE~J?@K{kg)42I;3uwaCD6suNA9_FEob_l`iEgtSRZZzb3SytofX{RER(b zd`N4#31PhB(EROQR^$0j=yUsQh*?=IniIM$@M=)0C>gJ?#?S|dGpcZX$`?a+hM@r% z@(%s3!{V3GySVFyub*#uu-Boj&y|AJ8q+{!TPr^?daHH*&Ji-B za^ywI8W?5O>EU0Yp91dky8t$7T-U_Dsr4gQwsdLpv5CrPBd>W(Y%e_mFFbnmQ*>Gp zo7hZ$-%O8cnyG(4KbS%cns(A<4>d{nK5D6qF&xhW^W@zsxV8M$6rNWnHxp(VDMzBtx}-O#F2&oV!h)i@@KBXr{VUn5DTA(mjWt`BBl#t}|G6FnM1 zXdpfd>7Uq$7Ta@dH7_D>iKX8DM(xphC5rP0;w$g-J}WJDgVTyfZ>EH8{jSL2^~P&2 zm+N!k4*uk!ek%RV)cgrnNpz!IlAf$mw8SMRPDUry*b?b<)}VYaRu#<&(--(-PG$?z eqsQ{;hC*DK9xdV8$Ugb^1YBJ_(G2Ia*Zu+=nzoPt literal 0 HcmV?d00001 diff --git a/html/classApple_1_1FinderInfo-members.html b/html/classApple_1_1FinderInfo-members.html new file mode 100644 index 00000000..98b074dd --- /dev/null +++ b/html/classApple_1_1FinderInfo-members.html @@ -0,0 +1,109 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::FinderInfo Member List
+
+
+ +

This is the complete list of members for Apple::FinderInfo, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Creator (defined in Apple::FinderInfo)Apple::FinderInfo
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FinderInfo() (defined in Apple::FinderInfo)Apple::FinderInfoinline
Flags (defined in Apple::FinderInfo)Apple::FinderInfo
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::FinderInfo)Apple::FinderInfovirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
Location (defined in Apple::FinderInfo)Apple::FinderInfo
ProcessModule(Linker::Module &module) override (defined in Apple::FinderInfo)Apple::FinderInfovirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
Type (defined in Apple::FinderInfo)Apple::FinderInfo
WriteFile(Linker::Writer &wr) overrideApple::FinderInfovirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1FinderInfo.html b/html/classApple_1_1FinderInfo.html new file mode 100644 index 00000000..59959949 --- /dev/null +++ b/html/classApple_1_1FinderInfo.html @@ -0,0 +1,257 @@ + + + + + + + +RetroLinker: Apple::FinderInfo Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::FinderInfo Class Reference
+
+
+
+Inheritance diagram for Apple::FinderInfo:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + +

+Classes

struct  Point
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void ProcessModule (Linker::Module &module) override
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + +

+Public Attributes

+char Type [4]
 
+char Creator [4]
 
+uint16_t Flags
 
+Point Location
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t FinderInfo::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void FinderInfo::ProcessModule (Linker::Module & module)
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void FinderInfo::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1FinderInfo.png b/html/classApple_1_1FinderInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..21ceac5e5f05f8bd7d80255179d636682e28b057 GIT binary patch literal 1115 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GWAJY5_^Dj46+eYt6g0#7Ud z!d2Su{~tN5)xDtaT*(scE4JpmEN9qR{xNO55fW6o(Q3ETI-P9g!O99q}~2){&s7gf?Q z`)gz^>{OU7cRSYhNBZkMPAk?Oe;X$;{f_hbyB72I@M~@naCGy`5LCS(v&!9r-C#%c zyDRcNXMRs`I=xyxxjQ2>{8Qw2)ybl-k1db!(qMY;>~&bgE6GDp{K%^{-+3y-FPV9P z43X(_KPkA)+;`v3Pw%GO@nk>StH1l()$a>!IRux=ta-KUWV-G9b8U0V7N47$zn}l% zjO77YQwo0EzUudKe*PLROOs>Wz7J|Ex@$k#?Kx^!DSt0%{vQ7PjsExAx8G2Ie>nQh zlz*3t1?tH zPhn(uvXqBGK|hs&p;D8X;e@v&gG1aY28K^TYzz~o8!gNW z-L?Dm>vS!9E#rTWjs<)ToiA zPI)osBwy)=6_@esOi!NSe<$VQ%4okE#?v>~N<4Ai?fx`R(%=l=FVpRchZW>+eeHQ! z_2KCLlo|0BZ!KrU#6MjV8hP)Y_wB%&Z9MOnzDjs&w13&1{g)?a&+3@9zdMipy^`QX z;o8ZGKeB`cZG&filKy>R-$WOe{|;BDRI@29+PZ|t#RV96z>u+I%U&BB&G4cAD`Uga zugpC2&;JszKkz_cTKf-Hw!PCC9`ND}W8BeDpq1Pc8DntfjJLPsjG0fD@|-#IY1c^u zsVm!$S})Fjzh~8|@2P43vhOAvD0j#*8-Ml-Zu|ZGp}rpd13o2#a!Ij3 + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::IconBW Member List
+
+
+ +

This is the complete list of members for Apple::IconBW, including all inherited members.

+ + + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
IconBW() (defined in Apple::IconBW)Apple::IconBWinline
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1IconBW.html b/html/classApple_1_1IconBW.html new file mode 100644 index 00000000..94d605c6 --- /dev/null +++ b/html/classApple_1_1IconBW.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: Apple::IconBW Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::IconBW Class Reference
+
+
+
+Inheritance diagram for Apple::IconBW:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1IconBW.png b/html/classApple_1_1IconBW.png new file mode 100644 index 0000000000000000000000000000000000000000..c141f4cfbad15ed82bc780f14c1250b14d1824ed GIT binary patch literal 1086 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GUCJzX3_Dj46+eORBV$?Ee(EUjKadu>7%!5_U1I%O^bVv;DvL-?e!P`!;>7`&*%0 zoNQ!j^IF&3`cZdoX-`sse38_%03+wV9ZF{DwWkBh zRPz_R)}B~6H6U$@P-6Y%DYI9<@jE-W=E9@jrPu#$vHQZF=(v)7_0G&wk@~wgD?PuP zQT%NEYiFxxmQ%!3W&hP}E&erKdbOk9+|x(X0_5K%t-sQ~`-b+{hkD<L2bYq4a zrzIKQJmq2dR>a0oZOPoQcMju$I8Z`m)u zJ5D*(aa)tWS*RLdHeoV;=V#`7!IdH#y!de3>@iqEz* z=SfXTwV1c#^rGPHlQyL5rT^YAng6fc)!nJ>4__?U|9snN5WhSHiRV znHvxL_aNpg_q}H`r=QrcmLZMxzU01k$Iz=m=N7EW(oYWv-5Q?4q1dwVE5FpYUm9XO SkLCb#I)kUHpUXO@geCyHYz?OX literal 0 HcmV?d00001 diff --git a/html/classApple_1_1IconColor-members.html b/html/classApple_1_1IconColor-members.html new file mode 100644 index 00000000..99e0c60c --- /dev/null +++ b/html/classApple_1_1IconColor-members.html @@ -0,0 +1,105 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::IconColor Member List
+
+
+ +

This is the complete list of members for Apple::IconColor, including all inherited members.

+ + + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
IconColor() (defined in Apple::IconColor)Apple::IconColorinline
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &out) overrideApple::AppleSingleDouble::Entryvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1IconColor.html b/html/classApple_1_1IconColor.html new file mode 100644 index 00000000..60902895 --- /dev/null +++ b/html/classApple_1_1IconColor.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: Apple::IconColor Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::IconColor Class Reference
+
+
+
+Inheritance diagram for Apple::IconColor:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
+virtual offset_t GetLength ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classApple_1_1IconColor.png b/html/classApple_1_1IconColor.png new file mode 100644 index 0000000000000000000000000000000000000000..2aff79bca0f9eee95adf3e14acd84543942f4b0d GIT binary patch literal 1096 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GVdJzX3_Dj46+eK={g0#7S{ z;mPLsu!yX>y1TdJ(VLqg9TWIDesV84ep-3`vGZ ziQlo*UTW?yg@sSA`fpS=Tez9ua=!mw|#%EOJ{fB^E2CD zJKH=H^6C}huit%Z(!Za_R!vAw-gQId)#2bbbANphsa|epbM)Rye*cZ-m_m(;OI#}U z*u2bL^?fTZ!#_8Dh8Z#T2R>At<^Rac!eu9CR3vw{E4qxIisFi#g`77VRlF45%qdWT;6?kx7a zo2C&jqyHV>er;*3{=3_fryIPJ-$Wi;{Y;DJ>2H%oGqSoKeLCj*=-!uHcP)FZ%kv9U zSNvM_@)ytTkGC(^9@5o+ej@eAh53fhonMcH`NV#(BFZNKa30t2&l-hS&LB zq~tMX^T?7H(}cgBc$y(^_4C5Jz@5=nJd2y_&aFLt;beQ6ZSbyrGe0`FeQdovuleBD z&~s5!pT6C@MQ-ZX$?x`t$gYWfc74ikE888*I#>L(e)(;go{-?(i{_HMLT7ipn0IQz z{TuDu+=K-GvWGgqlkDhtHpx&x@a1WVj*c&)5_`Valzdl zeE2_d^OWf`9uQ8!7QXnS;6cDSOY@x%X3ShZ&CtO3^=XM2GryKjUHJX#wp^P}MKkAo zOir`A=E`<`_74;1HyV3)@f_4CGc9bLedCGk%v1Sy`+M(;F39FdeU`B~(%S0%+IVB1 zLXVy^XXd|9bCyoZJQMe+`nh>ZLfXF&aY+@;?>wd3>}Dy}ZnD>!Euoeu@x=M?2IJRz zzf7ooao;;M;qBfjkMEm5ukM`r)A{b|%U1&v)50bh{$XM^-n_4;ab{%vu>)t;tUvHz dPI2*Td3NTX#}vCCvH|lvgQu&X%Q~loCIABm5`6#w literal 0 HcmV?d00001 diff --git a/html/classApple_1_1MSDOSFileInfo-members.html b/html/classApple_1_1MSDOSFileInfo-members.html new file mode 100644 index 00000000..dffa7bac --- /dev/null +++ b/html/classApple_1_1MSDOSFileInfo-members.html @@ -0,0 +1,106 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::MSDOSFileInfo Member List
+
+
+ +

This is the complete list of members for Apple::MSDOSFileInfo, including all inherited members.

+ + + + + + + + + + + + + + + + +
Attributes (defined in Apple::MSDOSFileInfo)Apple::MSDOSFileInfo
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::MSDOSFileInfo)Apple::MSDOSFileInfovirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
MSDOSFileInfo(uint16_t Attributes=0) (defined in Apple::MSDOSFileInfo)Apple::MSDOSFileInfoinline
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::MSDOSFileInfovirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1MSDOSFileInfo.html b/html/classApple_1_1MSDOSFileInfo.html new file mode 100644 index 00000000..d6ead949 --- /dev/null +++ b/html/classApple_1_1MSDOSFileInfo.html @@ -0,0 +1,219 @@ + + + + + + + +RetroLinker: Apple::MSDOSFileInfo Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::MSDOSFileInfo Class Reference
+
+
+
+Inheritance diagram for Apple::MSDOSFileInfo:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

MSDOSFileInfo (uint16_t Attributes=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + +

+Public Attributes

+uint16_t Attributes
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t MSDOSFileInfo::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MSDOSFileInfo::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1MSDOSFileInfo.png b/html/classApple_1_1MSDOSFileInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..fc692d26eb66f3682bffb319911ddcf3b687d7a3 GIT binary patch literal 1159 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=Awno-U3d6^w7^zMr&Of#)cH z;j+o!>mPLs{L@^qwp{w+#WweD{Y{iu<+X0ZxK!ojVl5cJ52{*sXMX zMWMY%hUOGeRo5HyOkO_m+8vzbE_Aj&zU=Ml@6NM11edCWm0nsB<>H;T-N@BmCbrO z!vjtuHiiq+4H+8t^)NDgN#$W!pr6dZP%FvI@Zz)tgG2l=28LhgN(xq`Mov4~+S-wk zCCMx}abHhkhey0=v$E2y6_?8%J^OR{vlj2_;}v&u{XeX;Q&Y+cHQbTSIDbcL{P7vg z(*>CYL+htY?CE?xWBTUUt-{-%yjuHZ?f=8kuP^Nr|Ngco^}trcFKZr$7K^rhs+9@! zF?B7pESS8*y!Q6QQ~jsDq@UpljW>;*pJ-h-`>yz%OGSM#ZajY_gKf9OF}JOfxGi{l z)~-j}xOWy>rmsj}bL@`6l6hwgTF@byTOv5q<>$yH_^rAzvI;j)oeg#3BU`_L?Gb&08#`GT{3nnW@}S6R2)2BF=Sfp?+PtV^2hOa~Pfkd? zc0IIh-t}#|d)JrQ>K*YY{uf&QQ~qPVeaf%CnLi`MC1d!Lj!#IMvhGya|5@waI>bt) zJyYI${DCizvroiXMd!XHCU15XP0sO?vUx9R{JC?T;gpWYCYG$9_83(k^R=mN+qT*` z;BrB#{k@bG*VfKld27v-vdY!lcvfm(b*(?~|9rr++j>!3?`CS7MQ%#J@hn90#e0ca z9%bEOyH(q^6@34?Aw8q}vA!hR*A1t4n4ep!|1@aptiQ#X@onPo+8^!=x%mHhab|Ib z{hKUvwzRa`y~hun`C}u=Y`htmux3Wa&pT-O{Mj}8%TvF7RXTO416X7*c)I$ztaD0e F0syswFGT + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::MacBinary Member List
+
+
+ +

This is the complete list of members for Apple::MacBinary, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AppleSingleDouble(format_type type, unsigned version, hfs_type home_file_system) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinline
AppleSingleDouble(format_type type, hfs_type home_file_system) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinline
AppleSingleDouble(format_type type, unsigned version=2) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinline
AppleSingleDouble(AppleSingleDouble &other, format_type type) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinlineexplicit
AppleSingleDouble(AppleSingleDouble &other) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleinlineexplicit
CalculateValues() overrideApple::AppleSingleDoublevirtual
Clear()Linker::Formatvirtual
crc (defined in Apple::MacBinary)Apple::MacBinary
CRC_Initialize() (defined in Apple::MacBinary)Apple::MacBinary
crc_step (defined in Apple::MacBinary)Apple::MacBinarystatic
CRC_Step(uint8_t byte=0) (defined in Apple::MacBinary)Apple::MacBinary
DOUBLE enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
entries (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
FindEntry(uint32_t id) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
format_type enum name (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() const overrideApple::AppleSingleDoublevirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
generated_file_name (defined in Apple::MacBinary)Apple::MacBinary
GenerateFile(std::string filename, Linker::Module &module) overrideApple::MacBinaryvirtual
GetAUXFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetCreationDate() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetDataFork() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetDefaultExtension(Linker::Module &module) overrideApple::AppleSingleDoublevirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetFileDatesInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetFinderInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetMacintoshAttributes() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetMacintoshFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetMacOSXDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetModificationDate() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetMSDOSDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetMSDOSFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetProDOSDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
GetProDOSFileInfo() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetResourceFork() (defined in Apple::AppleSingleDouble)Apple::AppleSingleDoubleprotected
GetUNIXDoubleFilename(std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_Macintosh enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_MSDOS enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_ProDOS enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
hfs_type enum name (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_UNDEFINED enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_UNIX enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
HFS_VAX_VMS enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
home_file_system (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_AFPDirectoryID enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_AFPFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_AFPShortName enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_Comment enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_DataFork enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_FileDatesInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_FileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_FinderInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_IconBW enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_IconColor enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_MacintoshFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_MSDOSFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_ProDOSFileInfo enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_RealName enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ID_ResourceFork enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
Initialize()Linker::Formatvirtual
MACBIN1 enum value (defined in Apple::MacBinary)Apple::MacBinary
MACBIN1_GETINFO enum value (defined in Apple::MacBinary)Apple::MacBinary
MACBIN2 enum value (defined in Apple::MacBinary)Apple::MacBinary
MACBIN3 enum value (defined in Apple::MacBinary)Apple::MacBinary
MacBinary(version_t version=MACBIN3) (defined in Apple::MacBinary)Apple::MacBinaryinline
MacBinary(version_t version, version_t minimum_version) (defined in Apple::MacBinary)Apple::MacBinaryinline
MacBinary(AppleSingleDouble &apple, version_t version, version_t minimum_version) (defined in Apple::MacBinary)Apple::MacBinaryinlineexplicit
minimum_version (defined in Apple::MacBinary)Apple::MacBinary
PrefixFilename(std::string prefix, std::string filename) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
PrefixFilename(std::string prefix, std::string filename, size_t limit) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
ProcessModule(Linker::Module &module) overrideApple::AppleSingleDoublevirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDoublevirtual
ReplaceExtension(std::string filename, std::string extension, size_t limit) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
secondary_header_size (defined in Apple::MacBinary)Apple::MacBinary
SetAccessDate(uint32_t AccessDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetBackupDate(uint32_t BackupDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetCreationDate(uint32_t CreationDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options) overrideApple::AppleSingleDoublevirtual
SetMacintoshAttributes(uint32_t Attributes) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetModel(std::string model) overrideApple::AppleSingleDoublevirtual
SetModificationDate(uint32_t ModificationDate) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetMSDOSAttributes(uint16_t Attributes) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetOptions(std::map< std::string, std::string > &options) overrideApple::AppleSingleDoublevirtual
SetProDOSAccess(uint16_t Access) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetProDOSAUXType(uint32_t AUXType) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SetProDOSFileType(uint16_t FileType) (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
SINGLE enum value (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
Skip(Linker::Writer &wr, size_t count) (defined in Apple::MacBinary)Apple::MacBinary
type (defined in Apple::AppleSingleDouble)Apple::AppleSingleDouble
version (defined in Apple::MacBinary)Apple::MacBinary
version_t enum name (defined in Apple::MacBinary)Apple::MacBinary
WriteData(Linker::Writer &wr, size_t count, const void *data) (defined in Apple::MacBinary)Apple::MacBinary
WriteData(Linker::Writer &wr, size_t count, std::string text) (defined in Apple::MacBinary)Apple::MacBinary
WriteFile(Linker::Writer &wr) overrideApple::MacBinaryvirtual
WriteHeader(Linker::Writer &wr) (defined in Apple::MacBinary)Apple::MacBinary
WriteWord(Linker::Writer &wr, size_t bytes, uint64_t value) (defined in Apple::MacBinary)Apple::MacBinary
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1MacBinary.html b/html/classApple_1_1MacBinary.html new file mode 100644 index 00000000..5faa0a22 --- /dev/null +++ b/html/classApple_1_1MacBinary.html @@ -0,0 +1,482 @@ + + + + + + + +RetroLinker: Apple::MacBinary Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

MacBinary is an alternative format to AppleSingle for representing a Macintosh file on a non-Macintosh filesystem. + More...

+ +

#include <macos.h>

+
+Inheritance diagram for Apple::MacBinary:
+
+
+ + +Apple::AppleSingleDouble +Linker::OutputFormat +Linker::Format + +
+ + + + + + + + + + + +

+Public Types

enum  version_t { MACBIN1 +, MACBIN1_GETINFO +, MACBIN2 = 0x11 +, MACBIN3 = 0x12 + }
 
- Public Types inherited from Apple::AppleSingleDouble
enum  format_type { SINGLE +, DOUBLE + }
 
enum  hfs_type {
+  HFS_UNDEFINED +, HFS_Macintosh +, HFS_ProDOS +, HFS_MSDOS +,
+  HFS_UNIX +, HFS_VAX_VMS +
+ }
 
enum  {
+  ID_DataFork = 1 +, ID_ResourceFork +, ID_RealName +, ID_Comment +,
+  ID_IconBW +, ID_IconColor +, ID_FileInfo +, ID_FileDatesInfo +,
+  ID_FinderInfo +, ID_MacintoshFileInfo +, ID_ProDOSFileInfo +, ID_MSDOSFileInfo +,
+  ID_AFPShortName +, ID_AFPFileInfo +, ID_AFPDirectoryID +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

MacBinary (version_t version=MACBIN3)
 
MacBinary (version_t version, version_t minimum_version)
 
MacBinary (AppleSingleDouble &apple, version_t version, version_t minimum_version)
 
+void CRC_Initialize ()
 
+void CRC_Step (uint8_t byte=0)
 
+void Skip (Linker::Writer &wr, size_t count)
 
+void WriteData (Linker::Writer &wr, size_t count, const void *data)
 
+void WriteData (Linker::Writer &wr, size_t count, std::string text)
 
+void WriteWord (Linker::Writer &wr, size_t bytes, uint64_t value)
 
+void WriteHeader (Linker::Writer &wr)
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
- Public Member Functions inherited from Apple::AppleSingleDouble
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsResources () const override
 Whether the format supports resources.
 
AppleSingleDouble (format_type type, unsigned version, hfs_type home_file_system)
 
AppleSingleDouble (format_type type, hfs_type home_file_system)
 
AppleSingleDouble (format_type type, unsigned version=2)
 
AppleSingleDouble (AppleSingleDouble &other, format_type type)
 
AppleSingleDouble (AppleSingleDouble &other)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options) override
 Selects a script file to use for linking.
 
+EntryFindEntry (uint32_t id)
 
+void SetCreationDate (uint32_t CreationDate)
 
+void SetModificationDate (uint32_t ModificationDate)
 
+void SetBackupDate (uint32_t BackupDate)
 
+void SetAccessDate (uint32_t AccessDate)
 
+void SetMacintoshAttributes (uint32_t Attributes)
 
+void SetProDOSAccess (uint16_t Access)
 
+void SetProDOSFileType (uint16_t FileType)
 
+void SetProDOSAUXType (uint32_t AUXType)
 
+void SetMSDOSAttributes (uint16_t Attributes)
 
+uint32_t GetCreationDate ()
 
+uint32_t GetModificationDate ()
 
+uint32_t GetMacintoshAttributes ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
+std::string PrefixFilename (std::string prefix, std::string filename)
 
+std::string PrefixFilename (std::string prefix, std::string filename, size_t limit)
 
+std::string ReplaceExtension (std::string filename, std::string extension, size_t limit)
 
+std::string GetUNIXDoubleFilename (std::string filename)
 
+std::string GetMacOSXDoubleFilename (std::string filename)
 
+std::string GetProDOSDoubleFilename (std::string filename)
 
+std::string GetMSDOSDoubleFilename (std::string filename)
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+enum Apple::MacBinary::version_t version
 
+enum Apple::MacBinary::version_t minimum_version
 
+uint16_t secondary_header_size
 
+uint16_t crc
 
+std::string generated_file_name
 
- Public Attributes inherited from Apple::AppleSingleDouble
+enum Apple::AppleSingleDouble::format_type type
 
+unsigned version
 
+enum Apple::AppleSingleDouble::hfs_type home_file_system
 
+std::vector< Entry * > entries
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + +

+Static Public Attributes

+static uint16_t crc_step [256]
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble
+EntryGetFileDatesInfo ()
 
+EntryGetMacintoshFileInfo ()
 
+EntryGetAUXFileInfo ()
 
+EntryGetProDOSFileInfo ()
 
+EntryGetMSDOSFileInfo ()
 
+EntryGetDataFork ()
 
+EntryGetResourceFork ()
 
+EntryGetFinderInfo ()
 
+

Detailed Description

+

MacBinary is an alternative format to AppleSingle for representing a Macintosh file on a non-Macintosh filesystem.

+

Member Function Documentation

+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void MacBinary::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Apple::AppleSingleDouble.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MacBinary::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1MacBinary.png b/html/classApple_1_1MacBinary.png new file mode 100644 index 0000000000000000000000000000000000000000..be4663e128d115e627207d35944fe5b8d4b1098a GIT binary patch literal 1363 zcmcIkSx}P)5dH-bQIMjoD2KFwq{@(JDUA$=N+S>taL^bWfq)8@#6TpR<`LKP?=5Tgl(DC&NN) zHaTnp0Kf(riij{F)#Tk9%}vqE`LN6cjwg?wK4LT)P3ioyGOdVHe_-Dp!j6*Rd4WJ+ z;(fShYD_(=)QGTCfT{l1;AZ7x0I;5qL>xYyxlU5KRJioD_07D)PxXdyaAV2((1=Jl z>24b@{coEc`Z(*g%{BdE2pjqV`X(;3xa~%2d{-|W8Y5763SacJ+=JXn?wj4scr><) z6|H5cyQm}F^TDjf@e0CBfiaqdw^ZlZsD>`K5+`#OdhutieJ44WJMK!#r}X&+0rCKS z?Ug-@xTuO)kEBja!kGs>8-~3ubA~6aykF&#Eql`t)!Z5bo_I-~O)$>=x*KQp`{M&x z94Vy$^~0&!xtZ}5OBDvX;N&sqjz2#oX?|9=ymI!~inoupM+eJmQm-zzL0T(hLD$Bx zeEsEJEaNLKva~+|4QU-aGlFi7oS1*0!gP(Nlsb4Xqp7vv!{>v|#oK1-n+0;6)Gys& z&=pp)jjRh|DO)e@pD&nm8Hd z0HG|W&ISk^ZD7tQ>24R~mYTQu#QvYf-}>78BIoS)O}-XCz$b`0t&5r#@VKr)>3U3= zhs6}iAspo1=QTR-LceGyU#x$mm+Yqj$xh|BEe_Pyk0xfhPc7DisA{TAsli2$Zg?O< zD!>!`DiP_Y>q{l0SxuCgF%0UCtwMs7QeKR`VTrSj2R|3nljcW~>1^E>6s{PZeK4Wf zk5X~}x*?fnR29F)6UdDCe24O(x($ZeP9CqRJCKdP0`4_)#Y- zyH0p4KI~MqLU~~tTSo9qY$tXI8FwS)s9UpF;dB0T>72x&mIW)zT#v&*DA_!EM$k*k>^jQK|ce()c@t-8td;`T5=OPKNu0zk&2!u(Sc6Lk; zb+eQ9+57DG1(#$ATkXi?K5zxQvJHbBsLRmD=GSR*ky(?YD$qJo-IXkWn6iOC(FEn#>O6kH{Kp7=mSwV=wOEs*gN|h z({*8cYSl@EDAKH=wjTaAYkZbq8&U}^_Xh((({I`P{mB?$NU9ZZScadQV$4&1KKpqK0GzZ1z F{sU-y(((WR literal 0 HcmV?d00001 diff --git a/html/classApple_1_1MacDriver-members.html b/html/classApple_1_1MacDriver-members.html new file mode 100644 index 00000000..35934d62 --- /dev/null +++ b/html/classApple_1_1MacDriver-members.html @@ -0,0 +1,135 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::MacDriver Member List
+
+
+ +

This is the complete list of members for Apple::MacDriver, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat) overrideApple::MacDrivervirtual
apple_single_double_version (defined in Apple::MacDriver)Apple::MacDriver
CalculateValues()Linker::OutputFormatvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() const overrideApple::MacDrivervirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideApple::MacDrivervirtual
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
home_file_system (defined in Apple::MacDriver)Apple::MacDriver
Initialize()Linker::Formatvirtual
macbinary_minimum_version (defined in Apple::MacDriver)Apple::MacDriver
macbinary_version (defined in Apple::MacDriver)Apple::MacDriver
MacDriver(target_format_t target=TARGET_DATA_FORK) (defined in Apple::MacDriver)Apple::MacDriverinline
MacDriver(target_format_t target, int produce) (defined in Apple::MacDriver)Apple::MacDriverinline
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
produce (defined in Apple::MacDriver)Apple::MacDriver
PRODUCE_APPLE_DOUBLE enum value (defined in Apple::MacDriver)Apple::MacDriver
PRODUCE_FINDER_INFO enum value (defined in Apple::MacDriver)Apple::MacDriver
produce_format_t enum name (defined in Apple::MacDriver)Apple::MacDriver
PRODUCE_MAC_BINARY enum value (defined in Apple::MacDriver)Apple::MacDriver
PRODUCE_RESOURCE_FORK enum value (defined in Apple::MacDriver)Apple::MacDriver
ReadFile(Linker::Reader &rd) overrideApple::MacDrivervirtual
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options) overrideApple::MacDrivervirtual
SetModel(std::string model) overrideApple::MacDrivervirtual
SetOptions(std::map< std::string, std::string > &options) overrideApple::MacDrivervirtual
target (defined in Apple::MacDriver)Apple::MacDriver
TARGET_APPLE_SINGLE enum value (defined in Apple::MacDriver)Apple::MacDriver
TARGET_DATA_FORK enum value (defined in Apple::MacDriver)Apple::MacDriver
target_format_t enum name (defined in Apple::MacDriver)Apple::MacDriver
TARGET_NONE enum value (defined in Apple::MacDriver)Apple::MacDriver
TARGET_RESOURCE_FORK enum value (defined in Apple::MacDriver)Apple::MacDriver
WriteFile(Linker::Writer &wr) overrideApple::MacDrivervirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1MacDriver.html b/html/classApple_1_1MacDriver.html new file mode 100644 index 00000000..06f8ff91 --- /dev/null +++ b/html/classApple_1_1MacDriver.html @@ -0,0 +1,484 @@ + + + + + + + +RetroLinker: Apple::MacDriver Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::MacDriver Class Reference
+
+
+ +

This is not actually a file format, but an interface to permit generating multiple binary outputs for Macintosh executables. + More...

+ +

#include <macos.h>

+
+Inheritance diagram for Apple::MacDriver:
+
+
+ + +Linker::OutputFormat +Linker::Format + +
+ + + + + + +

+Public Types

enum  target_format_t { TARGET_NONE +, TARGET_DATA_FORK +, TARGET_RESOURCE_FORK +, TARGET_APPLE_SINGLE + }
 
enum  produce_format_t { PRODUCE_RESOURCE_FORK = 1 << 0 +, PRODUCE_FINDER_INFO = 1 << 1 +, PRODUCE_APPLE_DOUBLE = 1 << 2 +, PRODUCE_MAC_BINARY = 1 << 3 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

MacDriver (target_format_t target=TARGET_DATA_FORK)
 
MacDriver (target_format_t target, int produce)
 
bool FormatSupportsResources () const override
 Whether the format supports resources.
 
bool AddSupplementaryOutputFormat (std::string subformat) override
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options) override
 Selects a script file to use for linking.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + +

+Public Attributes

+enum Apple::MacDriver::target_format_t target
 
+enum Apple::MacDriver::produce_format_t produce
 
+unsigned apple_single_double_version
 
+AppleSingleDouble::hfs_type home_file_system
 
+MacBinary::version_t macbinary_version
 
+MacBinary::version_t macbinary_minimum_version
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

This is not actually a file format, but an interface to permit generating multiple binary outputs for Macintosh executables.

+

This class is needed because Macintosh executables require utilization of the resource fork, a part of the filesystem which is generally unavailable on other platforms. There are multiple ways to represent the resource fork on a non-Macintosh file system, including a separate file, an AppleSingle/AppleDouble container or a MacBinary file. This driver permits generation of one or more of these different formats for the same executable.

+

Member Function Documentation

+ +

◆ AddSupplementaryOutputFormat()

+ +
+
+ + + + + +
+ + + + + + + +
bool MacDriver::AddSupplementaryOutputFormat (std::string subformat)
+
+overridevirtual
+
+ +

If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsResources()

+ +
+
+ + + + + +
+ + + + + + + +
bool MacDriver::FormatSupportsResources () const
+
+overridevirtual
+
+ +

Whether the format supports resources.

+

Formats such as NE, LE/LX, PE and the Macintosh classic support including resources in the final binary. To simplify writing resources, the ELF parser permits incorporating them directly in the binary image as $$RSRC$_<type>$<id>.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void MacDriver::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MacDriver::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetLinkScript()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void MacDriver::SetLinkScript (std::string script_file,
std::map< std::string, std::string > & options )
+
+overridevirtual
+
+ +

Selects a script file to use for linking.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void MacDriver::SetModel (std::string model)
+
+overridevirtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void MacDriver::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MacDriver::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1MacDriver.png b/html/classApple_1_1MacDriver.png new file mode 100644 index 0000000000000000000000000000000000000000..da4868c3c91937f20f4bfca301d97c1f38e8bfb3 GIT binary patch literal 901 zcmV;01A6?4P)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0009J zNkl3q;^PF zf`b5+;3NRjg`5Sz1nDdQ6HE<4l_Xdn7LGz``;Ed9q!26|_xiBdV5Qe`4M^{CwU8YX zNWgMLQWO#BN7iS9Y%h|m%0^^PhGkui5UtBI^L;k;fE}0h0>bJFQlxB@0r=`@hGw%t zozGXW1lZLBb}T2aAd29=~E3UUWTWw+e1M5Y0ABy_Gks|UG>BMp+Z-AOrV<&`Ml z@(lPfJ*@{X$xS_YNp9-FOL9{WUXq)7@RHorgO}u{9=s$s_24B*1e6NY61V#G;&;;k z0Q}Xs0054T;{?}r8sRtr0USm+PvCFC37o(QoWKbHKy@c@0w-_+Cvbw_MvziUM+c-B zV>~#VzzGaNFv9$bF`6Ez>CYIW>7>Xe#wf-ZyTQ{v!N#$fP_t8l7-RfmEC|Z#LeGBq zD5SItWx5#LOPb=2mn<*Z`jwRuqZvUptZv#6up*c-^*Z?;Y)g7?T_K|G z6M`^XHxN{X+DschiR+qxM3zmI<4p-zUj^&g56N!zaK4e?UQwioHX&U$QF;;9fteno zwjt;p-zRKGX$NXsn;1+95YhAr0jJVPpmR*Z!13J>2&{68h<6_dnulo&w3!f?@UID$ zk7rG=$b;doCV9~Qj9-spFn + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::MacintoshFileInfo Member List
+
+
+ +

This is the complete list of members for Apple::MacintoshFileInfo, including all inherited members.

+ + + + + + + + + + + + + + + + +
Attributes (defined in Apple::MacintoshFileInfo)Apple::MacintoshFileInfo
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::MacintoshFileInfo)Apple::MacintoshFileInfovirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
MacintoshFileInfo(uint32_t Attributes=0) (defined in Apple::MacintoshFileInfo)Apple::MacintoshFileInfoinline
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::MacintoshFileInfovirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1MacintoshFileInfo.html b/html/classApple_1_1MacintoshFileInfo.html new file mode 100644 index 00000000..3c904728 --- /dev/null +++ b/html/classApple_1_1MacintoshFileInfo.html @@ -0,0 +1,219 @@ + + + + + + + +RetroLinker: Apple::MacintoshFileInfo Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::MacintoshFileInfo Class Reference
+
+
+
+Inheritance diagram for Apple::MacintoshFileInfo:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

MacintoshFileInfo (uint32_t Attributes=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + +

+Public Attributes

+uint32_t Attributes
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t MacintoshFileInfo::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MacintoshFileInfo::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1MacintoshFileInfo.png b/html/classApple_1_1MacintoshFileInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..75e8539b17269d75d4a3b022dec28ab4f437e285 GIT binary patch literal 1171 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=AxCo-U3d6^w7^CT{*Bz|-1a zlBWLuzxaMH5!c)0)#bs~FYgp@=J+H~!}@6Z3H75VPrb4KbbpJPkx#FH`9m@+o*K7+IdID-LUs;|MY5(KVEw_|Cpe}y_it|;@DPv##y{+r_@s}#OOqmmL)OT``?b~y0I=chs&CK7= zuXt8UO-+yEIz4qldtlu9Felz#`L(OmJet!_DeqLMA zwfD1~&Cz?6^7E2xo9%`EML+3Yy7E-CEJKZ(KEsR{`vV`U&hmd`=8;RR>WEL+P|e9O zPa&Csp;nTa;l*hQ28Z}#3=F@F*cdKMH)Lqo*Tcy0C6$L^fj+vD^}0qH|BV*P=Z^}>QTVI~vVJMP&w4}D}?~l^5_yX_KmPL|=U($V^FZ?EDAkw~3Zlhgr z_?=l3w5J!h6&*`DBkP=XQ{otN`0^K5bY*WCPv2boVorNi|EIf`5+ziBnQqr}er|K+ zwPgS6gFXLG8tf~0Wg`(2Z+X2dIPSi8^s1cLUEhNyMw~sVuX($?s=!w`@N44h|V(ozt7n=ra6R6USh% zv##Oc*IDw9*d=TZeG%AyAmO_ZgN-9`A&wF$eoyBVPv-8MS(zotY`l42PvgwU_~$%( zztzTSneW?~bU`&vXW@;nvA1W;>@PX>pi02kVdJBWLxP75-!E0!dFsL0EOX(o4W|{p zUTk^F`+Cn`@4QMCPP6iL)uG0Q#_vmyO;GN0&cD6ytg5lvotXKz*kWI?WZA6hdi;0C znF}ppeK7_i-BvG@s?}O6WU8jrAD{62hJMJ#qnX+%&-*32N^-s}w0cl~WW(CXa(S=q zM*@zU-Pm<(z1){zp5`ZcMtM_8-U?dT@yp+A|F`#w+}^Er@tUrW-oIbU=X_f`zVOVM z+SuCVw_neh`BTz}EiJ7!HZ>uwZWY*v#}1rXqksOvoZ{lw^0&0VS?t|9n+aHaFnGH9 KxvX + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::OMFFormat Member List
+
+
+ +

This is the complete list of members for Apple::OMFFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideApple::OMFFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideApple::OMFFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classApple_1_1OMFFormat.html b/html/classApple_1_1OMFFormat.html new file mode 100644 index 00000000..a113a33d --- /dev/null +++ b/html/classApple_1_1OMFFormat.html @@ -0,0 +1,378 @@ + + + + + + + +RetroLinker: Apple::OMFFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::OMFFormat Class Reference
+
+
+ +

Apple GS/OS OMF file format. + More...

+ +

#include <gsos.h>

+
+Inheritance diagram for Apple::OMFFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Apple GS/OS OMF file format.

+

The file format was originally invented for ORCA/M as an object format, later adopted for the Apple GS/OS operating system. It had multiple versions, including a few early versions, version 1, 2 and 2.1.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void OMFFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void OMFFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/gsos.h
  • +
  • src/format/gsos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1OMFFormat.png b/html/classApple_1_1OMFFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..e7109937cf6d37b0aec51246727ddf70f89f2aac GIT binary patch literal 1633 zcmb`Idpr|r7{}jjhDJ$p603D}=(dh2xfInjOD>tHM0Mi0)WOCujjansu}+GEu#U^x zR;ojeQl^WDm?M`o*jscoz)+we@_3M_mAg&zVG{cp3mp^ynnoD-k!L*2y+Ag zU@qPb>jMB}nKnPK57Wlzkmo7d&BA++ud7C*(WXNq3NqsfYs*IKXtSJ`Ln4t#d%mf~ zuS9z{C)UT40JQvd*+KI=0DzC+vD-e=SJQuT~ zZ?6SxSM!dX?DTCyo=7%5r6^^;CRRC|P%>AQulBIO2?Xg`G zoHfHs)#-CSlGK28mZ%c?^%L%IV{>!I!Hx!i3aZ90NR+v$)aD8O@ zKuSOcEBkO&*B#mBmfN4XB%6NIy5d4{r!*AqOB_+9sz^E={cK$(xe$VkNV@EwUu40O z%pS@)Sa6(pZ;+cf+pgN$x8c@+4UH%NOkL=yq*zFOn$hda9r)(BV}%bWMaNvGl^fWl zGxnsWIiZOre{H%>#A4H$j*yH7=?#fu|rWkk4@^v>)tz@>p zoq5Cjv-haXM`9$5`B?MmH}#8N1nWc$%^6ofh^v0)f$AQxiCH&niD?;@+d)hjTqBQL zAA9N$rSbAtf;GxOMkO?C%OX8qOyLWYvX9LOY<^IXK9fzsq9+}9wi5k@=O zKvm+V4BfEeAMc$DjtVCTpM^I4MGNNR4`RhE+oB%hHoNiM2^p$q8X6Jmj(yGrGxN65 zqJ&>cZW=b~p>EUt(9}uw7d_KQ5;#WmuE%2Mt)U+pBO2U@WLMSJ+w~gJyU2k_`Xadk zI%esWk8lCgiI0#ACMwxLC;E1!DebJ&uWJD0_w-eBk5~bSnO2Yroln0Gbp8ty9|fUl z&`;!-)OzbP*bc9muXv1FG=7`^eWp2`9n|usP-k7Y-*CdWpliZUmjY8MW4F zAS>8?)09%DSD~0I5Se`j^Mg(oE^tIf&zL@h=L7~UtEL~Xo=Ag6Vl`Nc1%;RKs4}!c$ z7S}8=a&h>Divs<;4lhOtb34d^Trx`kMm=tb{X@^^N~EIf3}%{T!&pYrv}1;RWkF9-3)C1Auq+ K#Fp + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::PEFFormat Member List
+
+
+ +

This is the complete list of members for Apple::PEFFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideApple::PEFFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideApple::PEFFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classApple_1_1PEFFormat.html b/html/classApple_1_1PEFFormat.html new file mode 100644 index 00000000..f589f508 --- /dev/null +++ b/html/classApple_1_1PEFFormat.html @@ -0,0 +1,377 @@ + + + + + + + +RetroLinker: Apple::PEFFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::PEFFormat Class Reference
+
+
+ +

PowerPC Classic Mac OS "PEF" file format. + More...

+ +

#include <pefexe.h>

+
+Inheritance diagram for Apple::PEFFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

PowerPC Classic Mac OS "PEF" file format.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void PEFFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void PEFFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pefexe.h
  • +
  • src/format/pefexe.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1PEFFormat.png b/html/classApple_1_1PEFFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..a98b1e81ead37b631e384aff855542796d8bbd6a GIT binary patch literal 1610 zcmb`HZ8#Hp6u|!*la!0AWXM~$qLNCeOy;I%+!$eXiRq0oqG1?gdn!!wRuYBrc-;z* zBJVHFTZOpZ!`);zmbYQK!6!wGcYa^=)?A zkuPYP#LibPu?@Ak;|DdLaq;3TN`=LuV05ax8bAK-$jklKCr*DzHE5$}3pTv^Uv%j- z*pQwK4}MuoXj5p;>*6%DXSMid9;#yLkF{UpI`KWT8!b!tugYf?si+K+2iKqE1T`GT zpRHVfnGkcU$|thKs~^*gxuZnA)we0g*2e!p{_!BbM6ps1|J{99bnN# zj%TWoaivdRMscy|$Ms{4E1}jOY6&87Pzqc5hMB!6by#If$KXZWzMM(_MiYi#=ty0~ zS_{9X&3*Fi(oO$pr`I1j{EO46Qb$Ss(<}8|8l8>rY-iVnq&8pjk)k^Qen_x&zf ze%&b^Fe(9R3vD_JZn)(;U(OCxqY*MFeJ5qkb$jxda11_hPW4W8v1OI=Hl$#nh1J4_ zCo6@P?mOL=<&hw4&Fk>kEF>W-SGRV0r;j`=#^&j}#1wJa3~L3V zKzAX;LMAGLZnl(u$~YT^>>&Gc0*K|uTjOKCwzfigGmqem7TiZS6bMPen{%Np=3S=D z9*!WNFi+&^az=#~Fy4$B!kF+r-`A*MP`bFyT`)`b2&AaZ*wuvWw+O6zZ=lU-af^MP zN8n&>SL*$e)j4938<_b>k@Y%sT-3IDZ8D6}egeBbTplk^jXATp!)$1b@)C#C)uk}Z z_lvA!!gt&qU&!fuZAn z-HWf?)HF|*Oxb3-3I?-B4#{N3K$DrwT#(Pi>j4H+ZCwv}nVn}Cn(fsen}@+P^nVru zaWMQ{;O;lu9X5wIP|um+MTU@6TXc$7UBtYfLK#?2w&k$9AG!#8*S~J$)BQ?$3~@u0Z( + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::ProDOSFileInfo Member List
+
+
+ +

This is the complete list of members for Apple::ProDOSFileInfo, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
Access (defined in Apple::ProDOSFileInfo)Apple::ProDOSFileInfo
AUXType (defined in Apple::ProDOSFileInfo)Apple::ProDOSFileInfo
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
FileType (defined in Apple::ProDOSFileInfo)Apple::ProDOSFileInfo
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::ProDOSFileInfo)Apple::ProDOSFileInfovirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ProDOSFileInfo(uint16_t Access=0, uint16_t FileType=0, uint32_t AUXType=0) (defined in Apple::ProDOSFileInfo)Apple::ProDOSFileInfoinline
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
WriteFile(Linker::Writer &wr) overrideApple::ProDOSFileInfovirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1ProDOSFileInfo.html b/html/classApple_1_1ProDOSFileInfo.html new file mode 100644 index 00000000..8f7d5586 --- /dev/null +++ b/html/classApple_1_1ProDOSFileInfo.html @@ -0,0 +1,225 @@ + + + + + + + +RetroLinker: Apple::ProDOSFileInfo Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::ProDOSFileInfo Class Reference
+
+
+
+Inheritance diagram for Apple::ProDOSFileInfo:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ProDOSFileInfo (uint16_t Access=0, uint16_t FileType=0, uint32_t AUXType=0)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + +

+Public Attributes

+uint16_t Access
 
+uint16_t FileType
 
+uint32_t AUXType
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t ProDOSFileInfo::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ProDOSFileInfo::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1ProDOSFileInfo.png b/html/classApple_1_1ProDOSFileInfo.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc68bdcd2594d46d0769fe154f5aab44f405673 GIT binary patch literal 1161 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=AwHo-U3d6^w7^zTLE1fydRn zaM|SV^^dx1JRAc2_vS7UUcNi9X98>EAJ#`(muTDieLM3{sopnR`S2BviHUhE=Qo_` zJHS2drl5w=p6jjM*K*(HJ$Qep^v?ZXzs_1P9iF{;19xTai=X|smfAYnZ2DJITdf$J zanB-d`OVn^UGqQRcsIYfe%n3mmRI+GT;;y6`u)SRyB6=Rw2MS_C@fal(jkg_hN6lL_V&vvS<=-L}BKQHP1mG}2!H}V0Uk@Y0msB2x z1^USh47HNX3@=VgFgU~?V_^7Y#Kv%8I+~J(VBOQ3eDri&T!K$abaVi9y14wB#M9TY zB5?WJBWHiEejX|n)?c{)?d%7-c4|tiR3+|gZScQy=&s?j1F1(GTppEo9-M8_f4k(` z=CViAV)y#KzxMw_$nGoWkM5P-ShB;c%{;q4Y0aU4ef_p-%555Y?0K5+p2gk{-YK}u z{?Rdodz}w|@#Ow5EsHNWec7@|((sG>ncoY)Nf~sUjrbn%ex-Ka?g`q{i`gs}z1W<1 zBHyg7@c30dtJ2fb-_AVEk+u50Fm7?twh{@q&bqT}PhYsn|F!1W+bV-c@{-5c{pPYa zKVJQ0){UoMcWzmF>YL~H7@^Lsw|`D5ieJut+(a;Re|H{x>BNo~efv&cSbNLG<$K7k zKgX=Dm`>_=Vee70GhIPxmiI9SmnHhi3QCuzr$>*4kMJ8* zw7gWTYdm;Pm7$`Ew15Z4&74z~&(*|bj6Yv7VoOT{#+LEseR@V;=G@v=;9{`(Pv^F` zdUuZ~tCj@s6T1KYS5n%$S5nQd9p5~9Ycg%yTmAbd3i#j8n92WDoh?5} zTuymzUTNr6aA?}RL(UO%_k^7}qrU4%fKuP$9LWv5yIIxmcpVUR_M0@z@k@wlOl1Fl z!;Z|=Y^#d*7v@R|xt6^@bIe`hRKeRhombc8@k!pAqh(v$vydyrJpFfU#hDB5UanfM zZ@}~IFz4ZqJHO105t@9{e)=re&cHCw`>Xj67kgg#zrT3p%$LhU%aRk)u3eumF=M8@ p28cP`(7^chX=97$ckcXR-{JXPt!wEWK4782;OXk;vd$@?2>>|cF + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::RealName Member List
+
+
+ +

This is the complete list of members for Apple::RealName, including all inherited members.

+ + + + + + + + + + + + + + + + +
CalculateValues() (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
GetLength() override (defined in Apple::RealName)Apple::RealNamevirtual
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
name (defined in Apple::RealName)Apple::RealName
ProcessModule(Linker::Module &module) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryvirtual
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
RealName(std::string name) (defined in Apple::RealName)Apple::RealNameinline
WriteFile(Linker::Writer &wr) overrideApple::RealNamevirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1RealName.html b/html/classApple_1_1RealName.html new file mode 100644 index 00000000..a3946a32 --- /dev/null +++ b/html/classApple_1_1RealName.html @@ -0,0 +1,219 @@ + + + + + + + +RetroLinker: Apple::RealName Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::RealName Class Reference
+
+
+
+Inheritance diagram for Apple::RealName:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

RealName (std::string name)
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
+virtual void ProcessModule (Linker::Module &module)
 
+virtual void CalculateValues ()
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + +

+Public Attributes

+std::string name
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
+

Member Function Documentation

+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t RealName::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void RealName::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1RealName.png b/html/classApple_1_1RealName.png new file mode 100644 index 0000000000000000000000000000000000000000..928d6fdcab9930fafed572886bf898aac8584321 GIT binary patch literal 1140 zcmeAS@N?(olHy`uVBq!ia0vp^hk>|*gBeKX+O0PSQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GWwJzX3_Dj46+%`I+G;Axp| zQM~#8e{u0j!2p}J+r)Qr7T*r(n8EJxgX@Ud(rI$+)ywi9-QHkk#M3JvdCctt&*c{! za}0X>6ed2rC88I#{mX9IdhuJoe?EKIUC7eby?O&@<+~R@-+#USjp5_muV24@a$9y` zPvM;DH)jiU#ecr>etvWPwtLzwuiXE$n;jZ~P?I z^Y)5D`z05OG>pCaHmo(-S@iU-=FZ7{v+DQ1x#j-8{hNZzl%fr*ye6Nox;K~A@~zuk zp=C^ZyKZsO6udC?#%44TmGdrl;-`Q5bmf?ea72|;iznI#tXV-M-Cw$;I>|Dd# zd{vd9qN#_G;Y%tH!vg(e28LQmW`-B1B^Vsyk1;U(GGb%6Fx`-$VIR5@nXFmMG7A!g z1SO-6DJU({PZkio7=HGFi%Zz6FS0uBewO;G;|3`-cdPC>GHeT~Q-~T)3_C0f|foA^Ie^!&Rw@hMH zN=|xC@vENOYEOB4e>?FsL*DA=g?E7~b!FT3HrJh7 zd-}r3_A=Y#UHg7M(wF?k?N`lLb}HO5J9OIi(o9RO)7p1;g~+b)eRh4y?dq!KKHVOl ztzUk77AGRObFsfsNq(;2#A>bJx+M8q)~wkA)A?6-@~qi)NNGy?q(8my z409H*ZaVQZpww#9zpuOOj$LpIH@uP=BRk`T?3qXV-$m{BoAkV-HF2f(-P#*ZoFhM^ z?X-4(pET=!@{N=2x`(Hk>~%T*?EA{iA#a`c>ut4+y}mT4Y1+g)TlKP4D*d*FVdQ&MBb@0K=;v AmH+?% literal 0 HcmV?d00001 diff --git a/html/classApple_1_1ResourceFork-members.html b/html/classApple_1_1ResourceFork-members.html new file mode 100644 index 00000000..9a1109b2 --- /dev/null +++ b/html/classApple_1_1ResourceFork-members.html @@ -0,0 +1,174 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::ResourceFork Member List
+
+
+ +

This is the complete list of members for Apple::ResourceFork, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
a5world (defined in Apple::ResourceFork)Apple::ResourceFork
AddResource(Resource *resource) (defined in Apple::ResourceFork)Apple::ResourceFork
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
attributes (defined in Apple::ResourceFork)Apple::ResourceFork
CalculateValues() override (defined in Apple::ResourceFork)Apple::ResourceForkvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
codes (defined in Apple::ResourceFork)Apple::ResourceFork
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data_length (defined in Apple::ResourceFork)Apple::ResourceFork
data_offset (defined in Apple::ResourceFork)Apple::ResourceFork
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
Entry(uint32_t id) (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entryinlineprotected
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() const overrideApple::ResourceForkinlinevirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideApple::ResourceForkvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module) overrideApple::ResourceForkvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetLength() override (defined in Apple::ResourceFork)Apple::ResourceForkvirtual
GetScript(Linker::Module &module) (defined in Apple::ResourceFork)Apple::ResourceFork
id (defined in Apple::AppleSingleDouble::Entry)Apple::AppleSingleDouble::Entry
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
jump_table (defined in Apple::ResourceFork)Apple::ResourceFork
Link(Linker::Module &module) (defined in Apple::ResourceFork)Apple::ResourceFork
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
map_length (defined in Apple::ResourceFork)Apple::ResourceFork
map_offset (defined in Apple::ResourceFork)Apple::ResourceFork
memory_model (defined in Apple::ResourceFork)Apple::ResourceFork
memory_model_t enum name (defined in Apple::ResourceFork)Apple::ResourceFork
MODEL_DEFAULT enum value (defined in Apple::ResourceFork)Apple::ResourceFork
MODEL_TINY enum value (defined in Apple::ResourceFork)Apple::ResourceFork
name_list_offset (defined in Apple::ResourceFork)Apple::ResourceFork
OnNewSegment(Linker::Segment *segment) overrideApple::ResourceForkvirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) override (defined in Apple::ResourceFork)Apple::ResourceForkvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideApple::AppleSingleDouble::Entryvirtual
reference_list_offsets (defined in Apple::ResourceFork)Apple::ResourceFork
ResourceFork() (defined in Apple::ResourceFork)Apple::ResourceForkinline
resources (defined in Apple::ResourceFork)Apple::ResourceFork
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
segments (defined in Apple::ResourceFork)Apple::ResourceFork
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideApple::ResourceForkvirtual
SetOptions(std::map< std::string, std::string > &options) overrideApple::ResourceForkvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideApple::ResourceForkvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~ResourceFork() (defined in Apple::ResourceFork)Apple::ResourceForkinline
+ + + + diff --git a/html/classApple_1_1ResourceFork.html b/html/classApple_1_1ResourceFork.html new file mode 100644 index 00000000..6692918b --- /dev/null +++ b/html/classApple_1_1ResourceFork.html @@ -0,0 +1,694 @@ + + + + + + + +RetroLinker: Apple::ResourceFork Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::ResourceFork Class Reference
+
+
+ +

A Macintosh resource fork. + More...

+ +

#include <macos.h>

+
+Inheritance diagram for Apple::ResourceFork:
+
+
+ + +Apple::AppleSingleDouble::Entry +Linker::OutputFormat +Linker::LinkerManager +Linker::Format +Linker::Format + +
+ + + + + + + + + + +

+Classes

class  CodeResource
 
class  GenericResource
 
class  JumpTableCodeResource
 
class  Resource
 
+ + + +

+Public Types

enum  memory_model_t { MODEL_DEFAULT +, MODEL_TINY + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool FormatSupportsResources () const override
 Whether the format supports resources.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
+void AddResource (Resource *resource)
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 
void CalculateValues () override
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
- Public Member Functions inherited from Apple::AppleSingleDouble::Entry
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+enum Apple::ResourceFork::memory_model_t memory_model
 
+uint16_t attributes
 
+std::map< uint32_t, std::map< uint16_t, Resource * > > resources
 
+uint32_t data_offset
 
+uint32_t data_length
 
+uint32_t map_offset
 
+uint32_t map_length
 
+uint16_t name_list_offset
 
+std::map< uint32_t, uint16_t > reference_list_offsets
 
+JumpTableCodeResourcejump_table
 
+std::vector< CodeResource * > codes
 
+std::map< Linker::Segment *, CodeResource * > segments
 
+Linker::Segmenta5world
 
- Public Attributes inherited from Apple::AppleSingleDouble::Entry
+const uint32_t id
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::AppleSingleDouble::Entry
Entry (uint32_t id)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

A Macintosh resource fork.

+

Macintosh classic applications are stored as CODE resources inside a file's resource fork. When generating a binary image, the resource fork is usually bundled up in an AppleSingle or AppleDouble file.

+

This format has been obsoleted in favor of the PEF format, used on PowerPC based Macintosh computers.

+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::CalculateValues ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ FormatSupportsResources()

+ +
+
+ + + + + +
+ + + + + + + +
bool Apple::ResourceFork::FormatSupportsResources () const
+
+inlineoverridevirtual
+
+ +

Whether the format supports resources.

+

Formats such as NE, LE/LX, PE and the Macintosh classic support including resources in the final binary. To simplify writing resources, the ELF parser permits incorporating them directly in the binary image as $$RSRC$_<type>$<id>.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void ResourceFork::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + +
std::string ResourceFork::GetDefaultExtension (Linker::Module & module)
+
+overridevirtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t ResourceFork::GetLength ()
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::ProcessModule (Linker::Module & module)
+
+overridevirtual
+
+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::SetModel (std::string model)
+
+overridevirtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Apple::AppleSingleDouble::Entry.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1ResourceFork.png b/html/classApple_1_1ResourceFork.png new file mode 100644 index 0000000000000000000000000000000000000000..2c85e5bb8e28d61ba89e7e657e7e07c253610c61 GIT binary patch literal 2552 zcmd6pXIN8N8plJ4N{=1R`xvgitmXn&1ei z3<45LKuREy7C=C%WKaUqOG0SUOXkAt?w5V`+kV*l;l1ac^Pac-&hz}wCEhT*dJu9P z0s?^!UcZL20D<_?z&PfB0AObja$F7Etkn-)-i3>%6 ze2$YGKN}dF<=?$6Rp&#Z2Whi3p74|@@?3cIVq zGYbP!bj?7EQdEwMeB^K_Z24^JEyzAh;7hrV#o{QxixcIVY)#(g781WXj69B476;sH z3}j?JSnjYIzHH!^#@CDr&9Sp&TqIxWtEME~iT*?BemVVzkcBI5(ZLU9nK@nL#o%(h z*VFlq#_^rcJ)!4*0%GX48-AjgyLO+NkqB78exmj$1j^9|h|sys;bIw=ehkQE(p|>l zRgb(V@sLhqy)5$^h0~imzSu#<-F(tSDCOQ!0=fxK+n>SAG@dz$q$9U&3o8%_*>cnK zO&$vYvaS0B5ZaqPx^H!Js&&v7Rl+qR!{*qVBKLEOJ0?fwmn#15*nFuoATraKd#*`d zl#s1Dp?{S4T1>Cc@E3f61W=}yfy}r;2=iL7GOn01n{}vTeK{d4ta~SAc@yU~P-cPv zQLy0P48Xz6!l)^p-^oi;gy zYt!T;fSj~abMJ0bia=AuVa@{Hq{AOw<(Z8ENkoWNgKjzH0z|H|z?qlrOo@Vdv z!AV8%cS`3s>BOD`PMPzL3OLg-XS93mKmu7@{u`i;H~&v|jpst5+ZO(|<&%I}2^~_} zAHPl9Hoce}`(C2$JWNfa7H!Gys`7k+IqJt8*oCE(DmhTrL5?m~8aw=JE(V4AgHh!f zsAs=jAZQDRiam7~;zAbgNiBF!u9e4Cd#w{F`kJL3mBck^`WWlMQq>l6l@Sz5D4gSF z%i&S+vMnl92t2;s#r%4Sow4244_5w|Ljt|Bb-%C37e|=I7PT1BUi}~{rkNCk&t5}E zrUiA}eeCRGI)yvi7MPV0PSfam%DXi=v9V>Z(5x(G?m{>lM(wwp|BTjz_ed?(2wg#q zi7P3E_%U;$>{4SN#x#dB_B|h6{iBHMhlPfWe644j1`QM@JF_@$j#GG#NmkN@tc(MS zBN3V&|2Zqs*6oglmm-HAAH$w;9&oQJwWxF!#a2UAf3C%eaLqPlK21%&C=oN{F4`PHI}>vA4R zy0naxE9!EYit!_ksX4t0_(W0m2yLs7#Z>(|r@^gK80l9Jvm9@&-*Ah4{vwuG(b)ac z+Tv3tJ)IXktMfzU#C&UA9eTNYqPB->gd#6+A;BWBqp+M`MtrR9I;J6z;Q=ox!I6+I zi6mqS8y=b-nmswN>Van+S@25h<&PblHUCshL-aVk`cVDK%;DXy+Ea5AbE9O5CKX}J z^;lLR+_Le@ItvD4ayZVkA?s%oowrxx0+R>*OUqgh9XUH-B<7}Ln(ISR!AlQfA z_tQ&5X$b50`5%}Q8Zv_;o#oPR*L=B%Y?^75ahUI>2e?vx=@BywIaviPzz+ zo}p^3nLbv1JPw)7#bKSS>&el1nZ%e7`3iP3UaN7KvmQ9LbX@6vRBY>Iu=e6~%KC>} z(%!4IF=USUyMo+y!i6d@_xp)x{r9c+O1z!2#H9%ukpp6?bc(w_^4-SUv3AD8BX?I^ zjKy0@k;j}#q}ql*y{-CWSvd6qhEVZ>B&~u{#ECM(3EwuG4_J<)=B?$eEE{B0l?<>^ z<%PLTp2za8ek#dH$EZT;fMCr*k;cj~nVK7Z0?uMt{PT-!p z3Itvedn!B6O|v600DYxIQdjzy5i5^QM4pq3k7@3;!MBs6^XW-)#$W}Qn)054KuW9- zFxb*vmZTw(u233GHa19xxD2g^dV_Y7r9Q&l5P&*Hg5sO`YpWfE&%CY$i9CYvBVfXU zSVNnuVt{DNSsjiLvsFlqA`k(UmVh7l7z1eQzRM5!pa&!cF{oZN5aD0jX3j_a)`;B8DA#UToJg$2NjSMyu>#}suKR++V8x?d*42^@ZA7C#$I5g z=HA5f#S{Nal8#V3y1;Al=T*QlW8PeYv|XeE0%Nqi^DEFoVfUFnjJ4Ww2Gl>HN*H4j zhD(ti2oj+!zGO)%_3%h#(?(6(fE3tlB-&x)Rfl#HwV?6ND(k8Tn-W6&v|mL3aPyzs zO89nB04QeE6_5Ti2aa_99kNtFT@;u$+wL7kVB^>Su^Zf*%I2h7HOBVY1hf`yY+V~C z7jdkp09avP%Z4`)bRU^us}bCFjQ!O*kw%CLyb@8l-jB|`i^emaXQk<^lIb)yjR9Q( z1H@Ce9H_62N-Vn_TMh@St(1rO*({{ywI6e3LtNukWpC`($=b2}#tHnU#z@t_!U7`{ zXU>DbnfiZQf&K<4Rwk3n4;A0LQDy(bX6zBRdCcSc?6X3b?vh9Y{?S0!jm%Kw%b3W& E02Mj^>Hq)$ literal 0 HcmV?d00001 diff --git a/html/classApple_1_1ResourceFork_1_1CodeResource-members.html b/html/classApple_1_1ResourceFork_1_1CodeResource-members.html new file mode 100644 index 00000000..797812aa --- /dev/null +++ b/html/classApple_1_1ResourceFork_1_1CodeResource-members.html @@ -0,0 +1,143 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::ResourceFork::CodeResource Member List
+
+
+ +

This is the complete list of members for Apple::ResourceFork::CodeResource, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
a5_address (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
a5_relocation_offset (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
a5_relocations (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
attributes (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
base_address (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
CalculateValues() overrideApple::ResourceFork::CodeResourcevirtual
Clear()Linker::Formatvirtual
CodeResource(uint16_t id, JumpTableCodeResource *jump_table) (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResourceinline
data_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
far_entries (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
first_far_entry_offset (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
first_near_entry_offset (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetLength() override (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResourcevirtual
id (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
image (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
Initialize()Linker::Formatvirtual
is_far (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
jump_table (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
MeasureRelocations(std::set< uint32_t > &relocations) (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
name (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
name_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
near_entries (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
ProcessModule(Linker::Module &module) overrideApple::ResourceFork::CodeResourcevirtual
ReadFile(Linker::Reader &rd) overrideApple::ResourceFork::Resourcevirtual
Resource(const char type[4], uint16_t id, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
Resource(const char type[4], uint16_t id, std::string name, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
resource_size (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
segment_relocation_offset (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
segment_relocations (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
type (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
WriteFile(Linker::Writer &wr) overrideApple::ResourceFork::CodeResourcevirtual
WriteRelocations(Linker::Writer &wr, std::set< uint32_t > &relocations) (defined in Apple::ResourceFork::CodeResource)Apple::ResourceFork::CodeResource
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1CodeResource.html b/html/classApple_1_1ResourceFork_1_1CodeResource.html new file mode 100644 index 00000000..a6e2542f --- /dev/null +++ b/html/classApple_1_1ResourceFork_1_1CodeResource.html @@ -0,0 +1,396 @@ + + + + + + + +RetroLinker: Apple::ResourceFork::CodeResource Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::ResourceFork::CodeResource Class Reference
+
+
+
+Inheritance diagram for Apple::ResourceFork::CodeResource:
+
+
+ + +Apple::ResourceFork::Resource +Linker::OutputFormat +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

CodeResource (uint16_t id, JumpTableCodeResource *jump_table)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
offset_t GetLength () override
 
+uint32_t MeasureRelocations (std::set< uint32_t > &relocations)
 
+void WriteRelocations (Linker::Writer &wr, std::set< uint32_t > &relocations)
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::ResourceFork::Resource
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+JumpTableCodeResourcejump_table
 
+Linker::Segmentimage
 
+bool is_far
 
+uint32_t a5_address
 
+uint32_t base_address
 
+std::set< uint16_t > near_entries
 
+std::set< uint32_t > far_entries
 
+std::set< uint32_t > a5_relocations
 
+std::set< uint32_t > segment_relocations
 
+uint32_t first_near_entry_offset
 
+uint32_t first_far_entry_offset
 
+uint32_t a5_relocation_offset
 
+uint32_t segment_relocation_offset
 
+uint32_t resource_size
 
- Public Attributes inherited from Apple::ResourceFork::Resource
+char type [4]
 
+uint16_t id
 
+std::optional< std::string > name
 
+uint8_t attributes
 
+uint16_t name_offset
 
+uint32_t data_offset
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::ResourceFork::Resource
Resource (const char type[4], uint16_t id, uint8_t attributes=0)
 
Resource (const char type[4], uint16_t id, std::string name, uint8_t attributes=0)
 
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::CodeResource::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t ResourceFork::CodeResource::GetLength ()
+
+overridevirtual
+
+ +

Implements Apple::ResourceFork::Resource.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::CodeResource::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::CodeResource::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1CodeResource.png b/html/classApple_1_1ResourceFork_1_1CodeResource.png new file mode 100644 index 0000000000000000000000000000000000000000..62c5bda01fa2b97555d130e81e586181a662c054 GIT binary patch literal 1491 zcmeAS@N?(olHy`uVBq!ia0vp^cY*i-2Q!e|9yBc%NJ$6ygt-3y{~ySF@#br3|Doj; z2ATyD)6cwk@ZbSZ-1KbN5}+JsNswPK1CS2}=1jA%Ffg#jdAc};R4~4s`*PiC1D=+4 z$5ns+`PVp`Z3>L)I(Ky9#hJfS&Wl^0i&v=0{*zQV$w=Yd;@@gp`ikOqIGAh8#5SDc zJ}&xtPr<}@Z6~KCOpnY7@y&jf{#(vJ$FJ?>_}=1p zXNz%nasTT0Luz~HZ>tLb_IEO`ZuCuFj>k>ucP+jbd%LuXKWv-aHTz!K%WaYh$|Vh7 z%p8xrxUEoA-u~kE?=G2V=PTboS~mIkp>@n9Us84j-wwZ|+P~ad`la00dq-Ua%wHbX zZi`P_`99?7%{PYg3+;BzuK#uKsIU0NskXuC2d9KicK>cIb-2vfzxw^F4PDi1Z9{Bj zQ$yVP#Y_6D-yhNzJG`pl4%6n30X`0zv&GsU?*1+EdCm8C6TfXENL;(PbM^CmrgaNV zyd@d_1?V%(2n)WvH_rI6ukZ5*YR6{JK3Am1kTLZlV}qZhEW?W_BrxtQEsedN**aB4 zed@)DOMu!vUtMwCwbbZpy~^tSM{EC{Se5iTs8s2soBCOmo3G7x@r!-ub$vadPsRU> z{EI*5{;WK1>n6VAl;iOWmD%3TMMvK~H@S1Y?NV6ftLRB@zF5cJaJi8bw(8A`Rf@jL zt9IBouafqxTP|HQy*wu8z3=g?{ha1ImIanusQjFow@iE6Pu|$qyLV-C_)hv0w*6wL z-R{Zn1Sdv{?UISK*s-hpC~u8OEZ_8Ff>-~Zz9@CvWx)*N(_LoiW)o+&Pk17}%fo%r z^wN{ODnGaO^r^hRa;HS)r@4{Uq$`?>l|APcmAu}yZZj7hLQi^EtBUm2($n82J_-M{ zcvfQS$6ISuZoZh2C;70n#QnI#q;@Oo?b(|rr7RA%N;jL`Yk#v&exuRfXZtc2-Iufdu-zEZcge8~VCDAxXT2u%_PzWiI!V0SL1U5Wmv`+Uzd7z&-QQX=9b}k$$G=Vz=|_k0RJR}y;FB7NG-bv5tzot=3+d)xY- z1~Xh-uAF+|;!?6|xv=0&S2uN~MZsXAFE4UhYS>?9wF3@I8Ri~O0~Wswp00i_>zopr E0Cd&pw*UYD literal 0 HcmV?d00001 diff --git a/html/classApple_1_1ResourceFork_1_1GenericResource-members.html b/html/classApple_1_1ResourceFork_1_1GenericResource-members.html new file mode 100644 index 00000000..e6648df3 --- /dev/null +++ b/html/classApple_1_1ResourceFork_1_1GenericResource-members.html @@ -0,0 +1,128 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::ResourceFork::GenericResource Member List
+
+
+ +

This is the complete list of members for Apple::ResourceFork::GenericResource, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
attributes (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
CalculateValues() overrideApple::ResourceFork::GenericResourcevirtual
Clear()Linker::Formatvirtual
data_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GenericResource(const char type[4], uint16_t id) (defined in Apple::ResourceFork::GenericResource)Apple::ResourceFork::GenericResourceinline
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetLength() override (defined in Apple::ResourceFork::GenericResource)Apple::ResourceFork::GenericResourcevirtual
id (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
Initialize()Linker::Formatvirtual
name (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
name_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
ProcessModule(Linker::Module &module) overrideApple::ResourceFork::GenericResourcevirtual
ReadFile(Linker::Reader &rd) overrideApple::ResourceFork::Resourcevirtual
resource (defined in Apple::ResourceFork::GenericResource)Apple::ResourceFork::GenericResource
Resource(const char type[4], uint16_t id, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
Resource(const char type[4], uint16_t id, std::string name, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
type (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
WriteFile(Linker::Writer &wr) overrideApple::ResourceFork::GenericResourcevirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1GenericResource.html b/html/classApple_1_1ResourceFork_1_1GenericResource.html new file mode 100644 index 00000000..178e7baf --- /dev/null +++ b/html/classApple_1_1ResourceFork_1_1GenericResource.html @@ -0,0 +1,351 @@ + + + + + + + +RetroLinker: Apple::ResourceFork::GenericResource Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::ResourceFork::GenericResource Class Reference
+
+
+
+Inheritance diagram for Apple::ResourceFork::GenericResource:
+
+
+ + +Apple::ResourceFork::Resource +Linker::OutputFormat +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

GenericResource (const char type[4], uint16_t id)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::ResourceFork::Resource
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Linker::Segmentresource
 
- Public Attributes inherited from Apple::ResourceFork::Resource
+char type [4]
 
+uint16_t id
 
+std::optional< std::string > name
 
+uint8_t attributes
 
+uint16_t name_offset
 
+uint32_t data_offset
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::ResourceFork::Resource
Resource (const char type[4], uint16_t id, uint8_t attributes=0)
 
Resource (const char type[4], uint16_t id, std::string name, uint8_t attributes=0)
 
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::GenericResource::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t ResourceFork::GenericResource::GetLength ()
+
+overridevirtual
+
+ +

Implements Apple::ResourceFork::Resource.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::GenericResource::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::GenericResource::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1GenericResource.png b/html/classApple_1_1ResourceFork_1_1GenericResource.png new file mode 100644 index 0000000000000000000000000000000000000000..41157bf9bb13ad086e51682b66c27087a20d17ca GIT binary patch literal 1523 zcmb7^i96JJ9LIn3*bYb6Y=%J(jVooi`RhDiv6MUA7JAxy5Kbu>|;(Jt#K zhS4;}d&!w;4$n4g!Eo0t)%F^GzuMd4#llTrP#@;F7VHIFUTUGDWNOSy@_F&joVD z>QaoeU+uSiF8V7`g(aI)?p=*?1mcyHp|*lwU9WmS#Ai~C*i4y*>5V3z!NldUzGdc& z*<%Ynd2_gynStNF9DmhubppFkR1_DkdD@u99A|Ev{K_w>A8vRddKwfs(i3tPsyHF+ zWIi=p);G5>5_vqnQ7p4vK7^Y~ro|lQx1MOkX~?tuN!(b?Tr+ynk{!)j z95vq}Q^E~id3M#rmUKh1)}2}{C1m-U09IR4Oy7i7!lJ(2T12f;b3+S7O~SSu`S|TW zgQ;tD&}hJfqOElg@MU+bRO@lKy{lrkyHT31U9S`b7-}qR7tvn#1aKj@U7Cpe4rmp1 zLw#`vHh;Pos^fNt z3Xdsnxg*Zn$VWc%C3;N%?mOGaC{<@pyh%FqVL0u*XN+B&5TJC6NgtmhI%9m*-g zT6_pa4Q0YXtKRq%+j&P#aYF5l1NFa*dfuPXlqdv!5^Ga~{T8a#vr$XWg=rLxSZ)5{ zf%+2>jL?JM=2=I|*WOZ17zG9{0Y>FfDu>r6f<16A88;qu#_U0P_D6#?UG|bmhg&^t zCryb6x~`-x#*QAH9bsYAPAKgzFus39n&|TK5PyMwKwwMFid6l()LV@B0eFmY1#)y! zWdP8E{|&^kyi=W38c>qQxqWt|L#0%>?#0hk7z%N1p-yt_ZT8f8!`Iyt^vkHQVk|cp z$!lXrrNYZid7T6rX$mQ7H>L4{wwl*MI=WX1H_Ot);+{LG+uI4^n+x;c+NQ}C{f!P< zMk=ZJY5e>CvQn>-g30zOxXC*nH94}fKX+4g-kp&p^{iAakGvg%BR!dg)Oi_n)W0dv zpq~>ZT$skqa%}2So6hK=&=Jyw(c#b$Aq!Xj^)nQLpJk6<+NmM*HJTkH;>TEIO2mt>cNVvqS3$EN# zNauj>lg@DiZ-+q1t2h*uGRj%E>vbboVd`Zm^bW5p=H$BT%OqKOKB8FQ9nj!Ip<~G* zliCBG;dr?PRtRm;eWV7WHxMc;)an*IL)d7Zq^~KZ30xcJJkhJQvWEQIGr^~spLFE( z_CH8NoRlaJskq$nUF + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::ResourceFork::JumpTableCodeResource Member List
+
+
+ +

This is the complete list of members for Apple::ResourceFork::JumpTableCodeResource, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
above_a5 (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResource
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
attributes (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
below_a5 (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResource
CalculateValues() overrideApple::ResourceFork::JumpTableCodeResourcevirtual
Clear()Linker::Formatvirtual
data_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
far_entries (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResource
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetLength() override (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResourcevirtual
id (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
Initialize()Linker::Formatvirtual
JumpTableCodeResource() (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResourceinline
LOADSEG enum value (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResource
MOVE_DATA_SP enum value (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResource
name (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
name_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
near_entries (defined in Apple::ResourceFork::JumpTableCodeResource)Apple::ResourceFork::JumpTableCodeResource
ProcessModule(Linker::Module &module) overrideApple::ResourceFork::JumpTableCodeResourcevirtual
ReadFile(Linker::Reader &rd) overrideApple::ResourceFork::Resourcevirtual
Resource(const char type[4], uint16_t id, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
Resource(const char type[4], uint16_t id, std::string name, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
type (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
WriteFile(Linker::Writer &wr) overrideApple::ResourceFork::JumpTableCodeResourcevirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1JumpTableCodeResource.html b/html/classApple_1_1ResourceFork_1_1JumpTableCodeResource.html new file mode 100644 index 00000000..b652e51f --- /dev/null +++ b/html/classApple_1_1ResourceFork_1_1JumpTableCodeResource.html @@ -0,0 +1,371 @@ + + + + + + + +RetroLinker: Apple::ResourceFork::JumpTableCodeResource Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::ResourceFork::JumpTableCodeResource Class Reference
+
+
+
+Inheritance diagram for Apple::ResourceFork::JumpTableCodeResource:
+
+
+ + +Apple::ResourceFork::Resource +Linker::OutputFormat +Linker::Format + +
+ + + + +

+Classes

struct  Entry
 
+ + + +

+Public Types

enum  { MOVE_DATA_SP = 0x3F3C +, LOADSEG = 0xA9F0 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
offset_t GetLength () override
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Apple::ResourceFork::Resource
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t above_a5
 
+uint32_t below_a5
 
+std::vector< Entrynear_entries
 
+std::vector< Entryfar_entries
 
- Public Attributes inherited from Apple::ResourceFork::Resource
+char type [4]
 
+uint16_t id
 
+std::optional< std::string > name
 
+uint8_t attributes
 
+uint16_t name_offset
 
+uint32_t data_offset
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Apple::ResourceFork::Resource
Resource (const char type[4], uint16_t id, uint8_t attributes=0)
 
Resource (const char type[4], uint16_t id, std::string name, uint8_t attributes=0)
 
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::JumpTableCodeResource::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetLength()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t ResourceFork::JumpTableCodeResource::GetLength ()
+
+overridevirtual
+
+ +

Implements Apple::ResourceFork::Resource.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::JumpTableCodeResource::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::JumpTableCodeResource::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1JumpTableCodeResource.png b/html/classApple_1_1ResourceFork_1_1JumpTableCodeResource.png new file mode 100644 index 0000000000000000000000000000000000000000..8b7c400a018512a9e4178721d304ace59c86c8bc GIT binary patch literal 1853 zcmb_d{Xf%t6#r^BMeXiYdeFkUWn8x>SwnGo6{_!q8YUA_seG4*wRW$hxvy>|6>7O; zqC_(>k~~|Rrc|14_LMx#u8UTN!fe*;PEUWpef9a_^Esb$KCkmR=lwqCby9ZuZiky9 zO#uLagF8I&0APeP$h^5Q!#>2_OEnzJckK-D((CmG@y*Z#HT_|cv%OuMdDincy}i8# zJyt*{G}ugz<9+=B!~N58nw2900OKd1=aztYBW13fUhs?g>`o8yq7i+wlx5!3_uK~a zw5@0J@HlOOQNHF3_ik8ZLv?4Dj3&{vC!$qkm6@5_I%xmHN1B2QCa8I6o5a21#%UiR zvWSyd&vIWY9n^JOaeMy0H2{y@oL#%Pb}Fd9MSZpobzw}d%N*)D1y_=W-Z6&D~uQsAb~& z7O&~U@CG2G=HQ@XpCdmf-|_wQ^QgmnT5oF~+&>jf(Vk4>IFuz%zLSZP;3fH5Db<~%Xpc&4~W*OD4*bl7P4GT{}0^TBE&n;u#LM)KUGP-McjE4TNiRx#9vXa^k)SwCHfr5`+z!YH2Cy&mkAZQM7Q8QR3g1%Y(q2k~n_#25~n zWdEVRNnRYd3fwnZUL4Gw zCza;H9xY^&90K0vte@2Y(Z>rKT}dj1)qo0o6mw4?W-Nl)R?^3>HU+xJ>L0qr9R{yF;oqDE!S%iYommsj}mhFY7>4{8l(h z)ZV?Op|De#tqK;E%J*&%hf4Gz1DT z3b%#;3lxeB3qOwpT8`Sp0BxRd-s}b6n*al¬O5ht9x1o9jhCZ9VZd$}h3C3LzU1 zY2M20M1zQm`$&dm?2UJUbgRB#>{SW{PwC%9U#G!MQ8>8v1Bw0uix@JZm62y#vA9}4 zSjK95F;^w5VsUWyS3RnZhpIrJ^mS+eU z!Z4xI?MC@XM2g?ZmYUBF85cPNt|m3hLur{oD5cXUj_tZfCRA5y zo^mFi4t@h=Jh2_u9{aWYG)yEo#hod{6eM`>D=w7`JkI2Hh66BqQVq-nRvCIktvVhI|8*y4rQDhZUr zAd;#q#LnP>j(b!o@tsGh3ynQ7`up2D3DL6i#0HTIL0>vHXza?$?s_xygB4AT0?Vr; z^EM-jR$`bDoEyg|1Wa;B7k}mSM<)BOjw_9}RK5s_3gN5ngycpzhKO|?j^_v!6WIBs zt(T*B@`cHBx=QM}v6iwWKf-zr_nD65V=eQp%U-&>ioy;hq4;DPEj)B2`J5j@y){*F zCqz{+s=Z|;6BX&|SMnXI`p1GX4>ZnNA@35SZ43jm5?$9G@wPvDIwYa2>V;4JuoNQb z`OxqwDy#u73`~mS + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Apple::ResourceFork::Resource Member List
+
+
+ +

This is the complete list of members for Apple::ResourceFork::Resource, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
attributes (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
CalculateValues()Linker::OutputFormatvirtual
Clear()Linker::Formatvirtual
data_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetLength()=0 (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourcepure virtual
id (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
Initialize()Linker::Formatvirtual
name (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
name_offset (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ReadFile(Linker::Reader &rd) overrideApple::ResourceFork::Resourcevirtual
Resource(const char type[4], uint16_t id, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
Resource(const char type[4], uint16_t id, std::string name, uint8_t attributes=0) (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resourceinlineprotected
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
type (defined in Apple::ResourceFork::Resource)Apple::ResourceFork::Resource
WriteFile(Linker::Writer &wr) overrideApple::ResourceFork::Resourcevirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1Resource.html b/html/classApple_1_1ResourceFork_1_1Resource.html new file mode 100644 index 00000000..f6ade660 --- /dev/null +++ b/html/classApple_1_1ResourceFork_1_1Resource.html @@ -0,0 +1,287 @@ + + + + + + + +RetroLinker: Apple::ResourceFork::Resource Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Apple::ResourceFork::Resource Class Referenceabstract
+
+
+
+Inheritance diagram for Apple::ResourceFork::Resource:
+
+
+ + +Linker::OutputFormat +Linker::Format +Apple::ResourceFork::CodeResource +Apple::ResourceFork::GenericResource +Apple::ResourceFork::JumpTableCodeResource + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
+virtual offset_t GetLength ()=0
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + +

+Public Attributes

+char type [4]
 
+uint16_t id
 
+std::optional< std::string > name
 
+uint8_t attributes
 
+uint16_t name_offset
 
+uint32_t data_offset
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+ + + + + +

+Protected Member Functions

Resource (const char type[4], uint16_t id, uint8_t attributes=0)
 
Resource (const char type[4], uint16_t id, std::string name, uint8_t attributes=0)
 
+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::Resource::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ResourceFork::Resource::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macos.h
  • +
  • src/format/macos.cc
  • +
+
+ + + + diff --git a/html/classApple_1_1ResourceFork_1_1Resource.png b/html/classApple_1_1ResourceFork_1_1Resource.png new file mode 100644 index 0000000000000000000000000000000000000000..aeebb4f51a81781bf5196c4c102ad94fc705790f GIT binary patch literal 2977 zcmd6pc~Fx{7Qg{nbVQNz00%{I7El-wbvZ;XQ5ZSI5%ELrU@TDNmLuGuv?NAG7{Q&4 zh7cELKqFU#aD^CFj;w1TzsjWi-xoyKb@ayYiJOH{~XHTDZSE*D$oD?pk6uzi9 zddNIsC+^kc=;$cW+c5pV17n{gpF88H2Hw}2od*7`nws_jPdC@|Y3d@LdpFH0tWkwwQx{o2F)KjF+z>cI%DYSRE`)Rlp-OP`j19eGExK;lhkzSPnYM zbCX8H;6B+pl<=f4#*jAd!bMXRWo@op6D{>!3b%_%_Ht&mPX61RqyrIjBta%28Wj>7 z<&O$XMTo(gY=)GDF+!xHFaAkgeb*{%&N$A0!iz`5`t+PFsxT zOtp^Bq1^YN#Hx_|tZ`ecYn!dSBM0fTq~e-^mG`fuxYqUdbo^f9@EhAXBPW2v<|O*f z+}wU2&=ZV}MvRpfla3F@j;uvhX3D*Janqa$jkb(_64`M;862ROVdEUrB z)D+FI_VGK-w&np}a6S;^3sLUDxij&HICp3hudmJj^Cb;HOA+}At4Cifz+K{Y)#q074<)i-Y@99La$32of>VAmYU-X z`**}UE1DMPg|*UdsG2k#2Ynk{9 zWN%x$JC(beZbin4>pghs`|C+pzk`=v4M*BlITjBnEE*i=)0jYo?kO~B2%vpomYS3d zaXjGZm+yDPl@7@gf_T;5JSJaO0nAjG;kyH4y}?B~nYh4`0!L*+^;MN%^@j+?!n1C6 zp$o6%9At9_F1_Ke10YWKFxeP_oGf9QJS$10KmSTVTarm6m%YEz{nqLy4cpr1un#+V zi-v}Bvym>?`ExKNz0S^WU`)P&F{#hK7zM!S0`cq4YJKuQVC27obXGDTN~OY2Ch+T7 zXmpi(bd@Ds&}LXlU(hKyUqu1YRVgO_Ud8Y1$f)2+xQ2VGD6)Iwfv5_ebGC>CUP{(L zN^KNp+;K9I1?B_QlbZLx7>n_Wq1(q;;l~Z6JKNI*tCER<GSOCnCMi^!_hqp>QR0w#5EAwl-?!_3|XcPw#MvPG&%-cw6Sw&mLcshx!+Y0evxK z>DWE_0zdL);2v^Qm-bKYLUQ;*Ox`s*k|_Mn&bt>4OLLhr&2}y%4k|&~Cv3 z&b5v9l~!NG7qtifa=rThMH0s|uRJK9>RI}>JZk0hBafmUl&9S9wf12j^Mj!CkR@-} z`NPTiDFjt{gM%)#Ih#ZRQ9#g4Q2+#8h$E6nDffLLP78dl{*_xnx*8gJ9-9@2xO9*sxe&ey-Y=wnALbhU7L%R%d z^h>`KT5S@n@=+LiwEyQ=Mb{ygzLQZ#dTi;-<+jd;;yh^{S4hQ%x-h5ML_0e=YXT(_ zwZ`%NBw^`Ug`GBf>qACV3yYPcl^2WKpcg0Z&qmI5@3NDniy<~&|YwngfK^#x- ztqbxN>gUaQYUM+ZGhgq+Zf<5iCk%``y!smg*MUdKv*yRm^LrAH3CE~Ycx-4-j`CxA z=*}gW#AL~>xw>gnS$_Lc7_!^dDI{w?R>th8R^6r5Z+0>diH--q}=^Pi3Uc*P0$vis#xw?Qd6td&xWN}ZUlKl#k*pKjn|TFuk_ Lj9c}I@az8qG?dBG literal 0 HcmV?d00001 diff --git a/html/classBinary_1_1AppleFormat-members.html b/html/classBinary_1_1AppleFormat-members.html new file mode 100644 index 00000000..3a06af7e --- /dev/null +++ b/html/classBinary_1_1AppleFormat-members.html @@ -0,0 +1,170 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::AppleFormat Member List
+
+
+ +

This is the complete list of members for Binary::AppleFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
AppleFormat(uint64_t default_base_address=0x0803, std::string default_extension=".bin") (defined in Binary::AppleFormat)Binary::AppleFormatinline
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::BinaryFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::BinaryFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::BinaryFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::AppleFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::AppleFormatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1AppleFormat.html b/html/classBinary_1_1AppleFormat.html new file mode 100644 index 00000000..59e01a10 --- /dev/null +++ b/html/classBinary_1_1AppleFormat.html @@ -0,0 +1,442 @@ + + + + + + + +RetroLinker: Binary::AppleFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::AppleFormat Class Reference
+
+
+ +

BIN file for Apple ][. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::AppleFormat:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

AppleFormat (uint64_t default_base_address=0x0803, std::string default_extension=".bin")
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Binary::BinaryFormat
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

BIN file for Apple ][.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AppleFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1AppleFormat.png b/html/classBinary_1_1AppleFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..de1e76f63e45ca2e472140c768bafe8e9462f01c GIT binary patch literal 1768 zcmcIleK?bA7=JOE@0G8TjybJF*0d#2talPS@)4_OLL@4bk8-RT-Z(1fqDE?!wobkx z)~MDh(@Ev>y_(}AG$kx7X@)2}uXC=>b^bfoxz2T-Kc44)p5H(B?|1+1=RV`(<)*7; zss#XmF4=vXF94{Z;rKC94c>EOywc%gxz7%Yt5T_iL+O~}c+QiOO}19YmR@X@_V@S0 z?{+P_3t>z%!PmBRFM_PnAO%Ojh_0l_FkotIdLl({`Nz6 zvWZ_?1- z<4iruyu0Gw{B@pizkseUzfE|}MMu20G>@;}MK7<7lFW=ME+uwe=y0+-HH2VY4lnS# zck8Qoe3dibul?(fDBkQ_JK zgm_}TB$J)3u6R?jXF--*17X4($37m%c_e`g`Q}zu%;_`K=xcDPK>uYFLNuh%asfO^ zsI6BTyqBs*E{1?Wl76ZSQuP=T1oSMBk1Y@?o6^xhCJNDyf&eoT>OX*WmfEKEv194Z zmUch*n&d&4o7$vv7>9H;ISvUj-=QE(!*$~g6iG0nqsPKzfAyLJdA?e9OprD8FrX#7|=f@#2eU2R><98n;H@rXc($Cl8+>dZ<#U z->cbo?V&E#xoy37Iq3Qzs;L|=^@)Ldgo2uz%}D21tU3b(HnXAkGOK3L`tUf_do`hYqk^qA z>E=}5@t~zSTW8Pt3^bwIe#>srr-0y;MyUI_1)s?=yl?k8A6rFxGW)STAfii*2=`8U z(KB6@Xx=?AeOtz&_Wm+qCVy&5!GJ|Km;uMC_HzS_8qG2OfYzp`J zDzzT^6)J1CYWg%QGxT5OP8EgmyAlz76`;9=H1O0=cC^)^w87ZK0mIEvJQ;_64rY*3 z-d~rEC(M0kj+Wv#B0e) + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::AtariFormat Member List
+
+
+ +

This is the complete list of members for Binary::AtariFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
AtariFormat(uint64_t default_base_address=0, std::string default_extension=".xex") (defined in Binary::AtariFormat)Binary::AtariFormatinline
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::BinaryFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::AtariFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::AtariFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::AtariFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
segments (defined in Binary::AtariFormat)Binary::AtariFormat
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::AtariFormatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1AtariFormat.html b/html/classBinary_1_1AtariFormat.html new file mode 100644 index 00000000..144bbea1 --- /dev/null +++ b/html/classBinary_1_1AtariFormat.html @@ -0,0 +1,519 @@ + + + + + + + +RetroLinker: Binary::AtariFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::AtariFormat Class Reference
+
+
+ +

EXE file for Atari 400/800. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::AtariFormat:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + +

+Classes

struct  Segment
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

AtariFormat (uint64_t default_base_address=0, std::string default_extension=".xex")
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Binary::BinaryFormat
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::vector< Segment * > segments
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

EXE file for Atari 400/800.

+

Member Function Documentation

+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void AtariFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void AtariFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AtariFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void AtariFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1AtariFormat.png b/html/classBinary_1_1AtariFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..79a414c950054a91d24e7ceae8c102f7771a80b1 GIT binary patch literal 1759 zcmbtVeKgZ+9RH0?Lz~@HB4HuYq=xcxXMSF8X6`H&N{E|D3VA6ndAUnTT`yX1TH(G=_Sa#vpB#EjIY>t%K)3tJ@Yj&trg_n&+2xu@rk=lMR*=b!KA^Zk6zlS3vQ zKxpV`004j>c)0lh0K`aHKY^<%_rhpWmh#w2_M*5e6bfZIIVDfbe_CU=XJ_n|;;zY& zkrCy)ZMR>w5>rp`A^8Hz``X&C!srJ8wUY!lkdg%XST1R}V}VlZ>^c5Ms(8-TG_RG} zMMxj$klqHI$r|{%DRSj$$}eJ%7EYX2FM8j$8+jod6`6-sy2IxF?8;zRZrcKj6xBO; z)i4oLi<=H@Lk52BEfL<;Z_j2Ai>3Yr*3*Ug><2Qz`*=5Fjq`*FAAg58_<21gAH9S0=US8oX-<2FUyNP*Vx}Rs$V`45IT;3!fH#Zmg zdOFA8R1;n%)ig{bzpj{-Nz!&oqq#<0dz&bZD<} z+k!ZWA${h}r7eEyyUk?j;0I>*2@jM{2apXDTm3;XJ+JR1!Grgth3DWyvXb-x+OM!`fmJuNi4${ZSntF9aIngH(*>@(r>12s(oe{x-e6|wy z-k>M<$-7yqGrexkr=X9VxUsF6W+FzkK-&zJi0qaiZ7+d0)WHl*^Swd!%(^wRJr+^% zb=ElWS;gruGdC047+Y_zpTkaGn6XhIf>H6&ouEX5ltybDQJ`^!uX4>mo^dvFaVDH{ zXb=asaQl#6KA#m%h$PN1w!R!3Hh$qsI%Ye*l<|dlsBB5l$<*S;Yha+fs+t^%wB4+> zL~KUO)1_oLL``L=x9+X*Jx2Oh=idyb<`8Cqh{oPxp(^F><%;10R6Fy|In(9IzB z)lE^!`3ex^kFviD$Y&nZ7VKtO4kNYvi7B0e$ClN9JQ|k|#J+ohB%Trm9-&R=iGq)@ zYdf&Pxet@ZFdp=k{oz=TH{3E9;SFajOaoo3pAM&2Z)Q_HEM9ZWmH1_0NEkiA2uh&4 z!s#a2C=&v5Rq`F+s9jzf8Lr1YGo_k|7r}bB;t&>4$o=Ft2b=yrrVGlM5ox}x`)4Fs zIdRh~Hvesaq_*J36=1=kJ>Cz<$oZen5n@j0b6MKJ;!oGAcdz;YMKgJY{=4fH7-DX3 zi0Lbl-{c0_M7aCBDsKD@7$WJm&VGX7M521he}XN_f1k;+<&`KE?h;+P)SSZ(R!hUIQya zvkn_kZ)up-N;6E3>7J`^Iej zdt{Z`Zn;#os_h!To!@nU}eIHvbOG_Wv zFIzijlwC@;J!^e$*CoG&a-Hvw_Qo|33gSYW&%CVf-!sn#1HE` + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::BinaryFormat Member List
+
+
+ +

This is the complete list of members for Binary::BinaryFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::BinaryFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::BinaryFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::BinaryFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::BinaryFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::BinaryFormatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1BinaryFormat.html b/html/classBinary_1_1BinaryFormat.html new file mode 100644 index 00000000..d0afeb1e --- /dev/null +++ b/html/classBinary_1_1BinaryFormat.html @@ -0,0 +1,926 @@ + + + + + + + +RetroLinker: Binary::BinaryFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::BinaryFormat Class Reference
+
+
+ +

A flat binary format, with no header, loaded directly into memory. + More...

+ +

#include <binary.h>

+
+Inheritance diagram for Binary::BinaryFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format +Binary::AppleFormat +Binary::AtariFormat +Binary::CPM3Format +Binary::CommodoreFormat +Binary::FLEXFormat +Binary::PRLFormat +Binary::UZI280Format +Binary::UZIFormat + +
+ + + + + +

+Public Types

enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

A flat binary format, with no header, loaded directly into memory.

+

Most often used with disk images or MS-DOS .COM files. They are also used as executable file formats for several operating systems, including:

    +
  • CP/M-80 and MSX-DOS .com files (loaded at 0x0100)
  • +
  • MS-DOS .com files (loaded at offset 0x0100 in an arbitrary segment)
  • +
  • Human68k .r files (relocatable)
  • +
  • Sinclair QL QDOS files (loaded at 0x00038000)
  • +
  • RISC OS ,ff8 files (loaded at 0x00008000)
  • +
  • other CP/M inspired systems, such as DOS/65 (loaded at a port specific address) and DX-DOS .com files (loaded at an address stored in the directory entry)
  • +
+

Member Enumeration Documentation

+ +

◆ memory_model_t

+ +
+
+ +

(x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution

+ + + + + + +
Enumerator
MODEL_DEFAULT 

Default model, for x86, same as tiny, for other platforms the only possible option.

+
MODEL_TINY 

Tiny model, code and data segment are the same.

+
MODEL_SMALL 

Small model, separate code and data segments.

+
MODEL_COMPACT 

Compact model, separate code and multiple data segments.

+
MODEL_LARGE 

Large model, every section is a separate segment.

+
+ +
+
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::Clear ()
+
+overridevirtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented from Linker::Format.

+ +

Reimplemented in Binary::CPM3Format.

+ +
+
+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::Dump (Dumper::Dumper & dump)
+
+overridevirtual
+
+ +

Display file contents in a nice manner.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned BinaryFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatIs16bit()

+ +
+
+ + + + + +
+ + + + + + + +
bool BinaryFormat::FormatIs16bit () const
+
+overridevirtual
+
+ +

Whether the format is 16-bit or not.

+

This is needed for the ELF parser which can not distinguish between the 8086 and 80386 backends.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool BinaryFormat::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void BinaryFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string BinaryFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +

Reimplemented in Binary::CommodoreFormat, Binary::FLEXFormat, Binary::UZIFormat, and Binary::UZI280Format.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::Initialize ()
+
+overridevirtual
+
+ +

Sets all fields to their default values.

+ +

Reimplemented from Linker::Format.

+ +

Reimplemented in Binary::CPM3Format.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +

Reimplemented in Binary::FLEXFormat, Binary::PRLFormat, and Binary::UZI280Format.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +

Reimplemented in Binary::CommodoreFormat, and Binary::UZIFormat.

+ +
+
+ +

◆ ProcessRelocation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
bool BinaryFormat::ProcessRelocation (Linker::Module & module,
Linker::Relocation & rel,
Linker::Resolution resolution )
+
+virtual
+
+ +

Callback function to process relocations.

+ +

Reimplemented in Binary::PRLFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +

Reimplemented in Binary::CPM3Format.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::SetModel (std::string model)
+
+overridevirtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BinaryFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +

Reimplemented in Binary::CommodoreFormat, Binary::CPM3Format, Binary::FLEXFormat, Binary::PRLFormat, Binary::UZIFormat, and Binary::UZI280Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/binary.h
  • +
  • src/format/binary.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1BinaryFormat.png b/html/classBinary_1_1BinaryFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5bfd31c416e08dca57575ebb5bafda0381aff8 GIT binary patch literal 4755 zcmd5=XXD0Er<1NkSwckcG^JY0I?l@15~OKTJL(Ip^M-bMidT ze|heeK!0Do^+xNpw6yg64*ML}(pp8=(pr5Ou?C*eu&ONJkDY->f^Zs*2L39TmL(ND zt8lj68^8V5OTpOK7(DOL8~inVO_y}s|AZDiUVb^PF8WbR%fQsn$18}kO2`o=-usi` z*;sxPVx0Y$&Ow2-#?t5uwgK4J-Qo(Bb|}4a!F-@Z-2-d4-Pt#yGMsT zGSgQ(Q}e!R_>4(;<5}j|(rLKxQ#|E$n(E#Pi1|)gaanh-Z)N8@?OGk9Tipd1Gpc+|zEb`f`~33$RxaG^(r6~~{BBY^ z!#K{HLG7JRa-VTljbNq~TNf$&zAP_NW&)M5g?9Omy)<#vS{P5R9e` zIkcfVG*Q3jHHpp-R92(xcocS2-&#S&4J8FL(m9|SL8K$9+bvYNgNRAJpc%$HJwy7X zz_VotVYcfU;TXY5x^75srebI68l2#xAGhzpcJH&jR?t6TE#9R)`g)szy%iREEOhjN z8WCPxkBeCC*xb!hYY(Ui;l)R57w2v!S!4f*!Bev1#!jd?a^cvU79$WeazcUN`7jzf z2w>G9aFyWH>8pXXiGtqo&m|`StCFGuhU_o7dP?(LF91MsUaJG~vWl<+@k8(5o(%># zlcfku+eL2v>yaWX00g9Z2^N;Fs@7qYXaK$(*-P)0coz(&++A-#C4M(awm?XGnU5t;%%?To4i?SMo1vQ3dqXycWz@LkCRG3;`vw~i{+U&t zR$I9TxTO*aflVBW_Yl6HN!aRQavW$7)Ivi6O>tvs;YGdQaa$(Ex8d1Ye&2ckNN;lM zr-M`d7()4y2y`%09klLC=UchC^`ZF8unq4@Xa^T z(va-SQQKYR`#dd4u^T$>M@r$8UfpaT*P?dFl-npOXTos^Be^6*bF)Kvu$YFOgYGjYoxM4dX86se=`62lTr~gsVVb^y2YPn^-fiw0)USlTcy_l& zd`7=|hik{FUZ*~WFQVpj?Te$4$^{1xvq$FzEaOm9V%P+{n+QZyZw-A}%vJNYc$=;N z{Klmg__U1*kNVO0=6vGK8{PpHC4R*rO>J*`3k>MPSa=V4Wq`4)A#yW)kd~pp2ODXi z@G3*3C)^koCbyLC#r`HzMZMAeu7_ui#+rNeqqXyfAC(fJZj8SzL42^V3BFeq}ccIQXm!z>NKr=z_>hRtoV8%c?FTB!OmcW+|ko+@K^!RhRQksP%4 zKIQl6_>MOuD;sTwS+_Uy!pLOBjv)+MgZ^`Qe;^9}&292S^r-EZ z2fQ>Rdttg=0tkHAUr1f)ge_8^)r11FdTwQItr=m{xs=4KIxV}ThXp@$Re`faB4NI8 ziw{Cnj}^?g`(H|MoOZE}9()|tk?A6^kFHG_I^bCbPQjIJSXkE0^z3UadGu1}C@Qmd z;iGnEKY&$@t`~XO7uljrZw+dugsQklB=>^6&FmPVrPI-i3#<~G#954!4riNdzS;~C z+c+$wD*gtYDK{3o&z@FuaN?T4U>8alZHza>&Y9ckA0oxZx4zrIuJ^&B& zV>DBkqA*iWojSlN>Q!hkJ3||W3QDn~4AJ)83jkLC1j8(Co2?(j zGyf*SA3{`Z$MD-P)03bMGEBe@)-Z5yt*C281imhFI`5ZHGQ1Wi-E*N?B{XeNS~DYbA-P8HwnvwW1M8U9$gJV& zQ#^ksHILQS^rE-?m5kM4MRJ$epoZcahvoI5_yc7BEpM+tYxzg%|C<=!F_=AZ*2V;_ z{h(oSnZ5qH;l^tPnfLG~yY{vS-rU>9D`=80tn0_f?GgYOJxy!hEj@b>sVIc{R^bFy zRbc?Dz>to3+OtB}Vnd_LQ37MBI1l^P*f)Qq`}l>cR?7b8&^xWy>$I)cSIGV8AlQxD zgPlqIl~CEr?4P;o6!#|(JjXF5&&LM%9}wk3ACokR!GM)Q3eV#%=;uSR^v>CNnP~?P z#t$_hM3$CP5kqztsX8Yi$@AGO{yF=Zwu|{)ulkL1Aw9b8`DxW`3S;s%cYasbLQW5n znoT`$IpG@8UD10DEND96h-zaA!D$JP@)+}U{3PNZRS*#%z;NCw0w)U zLhqhP53||Rv`53jISgl6SM+$)3255TDf_z@QFE$RDD8{bskzyKbU`Zi5Tb;nSx(h) z;*A)!+qKG}Fbuexcmohj{qYO9NY!D;Pz!0_MRdKtV00A@ zFSHB+WC5^G8{@4chrAR)5*)!p=7(pF{~Ej%3HT6ftkl28CN$Yu-JhE=viDnO919~KzJ zURe8&2^bgAQXT*=Z1G>7jY!>Jvf=N2E5~@m!$tK*gurY|O4m z2~&?l^CqFw-I}TFu`~T$>yzDI$t)YsW%wAwy?3!Tvl>igM?Gg`=6KKPnB=<|x24^g3xPv2AVP2qo5@Wec+)D! zH2VXY=GvL4%=+pOn5Iou6+E9^MgbTc7*QLkb-w$!mru4X| zJlpT;GOBM?u}v4(9izql({+*Cz$p`)U<1}u*N|?5Q11z(wb#Q+uMYa11NC1rKTO#C z?9tYZu>95ctZ45Fm;FIKFZKSCxp-HWDTdptr6yO~W`zXRcK;_i#ThkV^XPRBG8J7v zZZu--3Ue=JFLtIZ30C<8$7|Qexxy$h8%_$FIO5`oA4<3z6EJa-Hn5?%qKiJ;SGVwK zgz$9~@gdhsXR7NJ0LZUGQ_F3M^?b1lNs*bcvnVO~%4T=bmMXUWrU{ffExivr7@~Ou zNsef?(BVcRJ)m@1KdJ>-eE0i6L1x2?r$vfn`oec8b4qQ%=#uY3B{M(O!+2QN>$lXv z9g5`aJs8MKT5(-B5RjcgruqrgFi!jgIxtSgmvAxy + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::CPM3Format Member List
+
+
+ +

This is the complete list of members for Binary::CPM3Format, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::CPM3Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CPM3Format() (defined in Binary::CPM3Format)Binary::CPM3Formatinline
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::BinaryFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::CPM3Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
loader_active (defined in Binary::CPM3Format)Binary::CPM3Format
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::BinaryFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
preinit_code (defined in Binary::CPM3Format)Binary::CPM3Format
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::BinaryFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::CPM3Formatvirtual
rsx_count (defined in Binary::CPM3Format)Binary::CPM3Format
rsx_table (defined in Binary::CPM3Format)Binary::CPM3Format
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::CPM3Formatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~CPM3Format() (defined in Binary::CPM3Format)Binary::CPM3Formatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1CPM3Format.html b/html/classBinary_1_1CPM3Format.html new file mode 100644 index 00000000..db1deba1 --- /dev/null +++ b/html/classBinary_1_1CPM3Format.html @@ -0,0 +1,513 @@ + + + + + + + +RetroLinker: Binary::CPM3Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::CPM3Format Class Reference
+
+
+ +

CP/M Plus .com file format. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::CPM3Format:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + +

+Classes

struct  rsx_record
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Binary::BinaryFormat
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint8_t preinit_code [10]
 
+bool loader_active
 
+uint8_t rsx_count
 
+std::vector< rsx_recordrsx_table
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

CP/M Plus .com file format.

+

Member Function Documentation

+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM3Format::Clear ()
+
+overridevirtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM3Format::Initialize ()
+
+overridevirtual
+
+ +

Sets all fields to their default values.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM3Format::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM3Format::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1CPM3Format.png b/html/classBinary_1_1CPM3Format.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd3454cb83e2f7fff9f9ee94dda295acca4d2be GIT binary patch literal 1778 zcmb`IeKga19LImdu32Q#u0m-yx*;M&V$9_*W7b9)cmgnv?n;CbfzubGyJ?H+>_ni0p_5OZ8e|`S=e7-q2tfv-K z9|{0~7TU`l4*;Nj%G?D}Rr<{f*eoRsa6bMXo12@;D4PF5&hM#ourj^4i#Z^gnwnC+ z+wo79D{C4gJeB|`?_ZC-O35eye3yZCNBO6M7VbpctTlsyg^>Z*H#cvvPv8WpXC}C5 zdW6V$rnzQzjJg!sZ}-vMW#g%h>$UPv!z9Jpo-$AB=aGgoE)I_nW{)f{w8T6iP}q$JW9R2)XN+3BQleug!7B+1e%eG zNaxh*u_e4c=G_fWs9)4&3eiKD%ziwhFi$)31uEDdC>dj&`@WDIw^5^rI$SkMuyo~= zf*jAbKddiyVwZZaEwuO#w%`MWw4xW2wzOIfb2TqtCZ=%aB0o3Pab`o!qaw|`ekq5l@-tckQL^ItW|>|osH0Hb6tud-vAxfW z#IqyInlW_a7|%BuJ4qCzo(iVFL<4<(g9tsMA!!7d2>-B1A0jWPFtLb*q!JK?yVozS5nJRf$Dml48tJ{d37nNO;q_ z+g`%KTy+$`APjdry)-~K*;g9!sc1-u-q3~DasNR4)`P?g;YceCa-5}4y5@on9F2C2=h1B$3Br9l|wHcv|t z)obz_bmLF?QiaI@^l`TWF9WBc-tMyk`^{0%_r*kNOy+35~ZvC7&9{Ph2j-dL7s*oOr~ z`6n2y`_#}3#1`GXjN*x@6DCiROiA0R;)gZz@94=k#pSw|SBaD{3o!q3f8`L|%6X6* z>&SHDh+1n&1G(g@Z!kDCvQg1V4%G;oY)j@N^Q}{aS86T=kHngZyra1%#`xs*3}%o_ zM81CNDAP?FKAIQ&e4GomD{7p#FvhlNFEl4TX7mCNJDiiJn z#>Z;vEzo(|Zk?V2ZFvi~j4cs^F+L1h0n8Yky;VeT?t2FbsEhd*00D@)bYPI;q?|HS z1Z0Z!#BZ01!+teTkehZULJhRb4fbvEwgjxjvm&XuUe+|N7zHB^RupRf%j{vcY?Glh zZ&U8QKNlZ=cr+~j7{ISrUGcQ(Rj>%&pR#teO)wLOPD#kq9`auWW`TK0lotT#!-5st-D+I5;5Wq5%vbDWG?FiplS*U|IR z1dS2C<<74-y(t30N?hgmg`7Ii>3Fq@LdN@> + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::CommodoreFormat Member List
+
+
+ +

This is the complete list of members for Binary::CommodoreFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_addressBinary::BinaryFormat
BASIC_SYS enum value (defined in Binary::CommodoreFormat)Binary::CommodoreFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::CommodoreFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
loader (defined in Binary::CommodoreFormat)Binary::CommodoreFormat
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::BinaryFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::CommodoreFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::BinaryFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
SetupDefaultLoader() (defined in Binary::CommodoreFormat)Binary::CommodoreFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::CommodoreFormatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1CommodoreFormat.html b/html/classBinary_1_1CommodoreFormat.html new file mode 100644 index 00000000..22b71a31 --- /dev/null +++ b/html/classBinary_1_1CommodoreFormat.html @@ -0,0 +1,484 @@ + + + + + + + +RetroLinker: Binary::CommodoreFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::CommodoreFormat Class Reference
+
+
+ +

PRG file for Commodore PET/VIC-20/64. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::CommodoreFormat:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + +

+Public Types

enum  { BASIC_SYS = 0x9E + }
 
- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+void SetupDefaultLoader ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Binary::BinaryFormat
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Linker::Segmentloader
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

PRG file for Commodore PET/VIC-20/64.

+

Member Function Documentation

+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string CommodoreFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void CommodoreFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CommodoreFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1CommodoreFormat.png b/html/classBinary_1_1CommodoreFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..db776d53d8626c9f297dc66a9e390136d0c2c53f GIT binary patch literal 1876 zcmc&#ZB$cb9KTZ&Gl-1L%)~&*1IWehz_EBM1aUxPI6@XO6t|1Yi^KpMh+ruSrQmgJ zTwqd0EHZWW)8(M*t+$pbLvB#KJx!kgjcTaM#N9etXhfjdY{tXMnWyQ6?IO=DPAP8) zu*uQUQM~SVSpaY#$b?g7B^5lX-Z5uXw?LJcBzer5S!N7cO{^Xd&! zT2D#Q1G2GTtsJzsJS8NU+K)VyH+VC(Yri5SHo5O!<4PD98vx7BaoK|9J(i0NF(1<< za88my({*|Nhh*?%+$9}#Tr!pE!`!8*_dwIRsVV)!A1it%eqPtlQ1LE7@KZa$NaEKd{E(fW~XmAm52@=^-MzbEhWVv9pr^XsSh8}(6Va4_}f(V zg=Be0lHcYh8Hx__bvRZSk_%5JD0^>(r$UjH*IkqoX~Q~pO;)SDSbO7&P@Qhv)x14k z6kQ5Wa0aaDEj3!f0yft>r%R&3y`^P+oK(bXeZpZwWBEr@<;tNj3q#6lN!k(Km9ERf zQd1!Q!WvCo^W6m*ICze`SD@&+UKg@-f1U~F%uC^xeV(*QFN>!|LxQ;GzF(@nNsczH z=Pcd_9%uQ#lWScVbbncj9c#(+ElrkXfbH>6faLF(Yh!2AnqTzdXh7$(6noYZ&s7ki zd<6N7o%S6CXkdB*9p2H^piw@*fkYiVVkrRblE}JR1@Z9lI zlVt3@XPcdG7uoMXGRobhJcf_Fpfy4dmm+EHUg#ld`hm`mD`dP%(t^L*$cS79<~);_ zcO%sAInQMt0nUCYI@Ad(vx0a zE}q2 z(Zl}-d0z0p&>4(RL3`DlmAuVz2X9*KQ3H*(T(s{OB*wqj*G^xz}2rByvnlZrjcGTqzyg=vS?hd-ZDsE0T8%CuxbIHcab_HGYjVD zRTtP36a4k3J+5{?ldJn7Em?PB!|@g#*T}Yo2)^HD zD&KPH3j?XbYdsGRv_z}FnU$PZBeMk)31*0MK)ruFoUzycB8uAB-Nmr{q64rxpwpemxe$onZ6otx zSQiziz=nVIPWBZkux^UY()}mgC-iP4qRVs7KJ4;W7xh*w>Rh>dh}N=@KJC1RcoyMm z8yBM_pikqmKJeBGxmUrk6DL}LmV=4X#=HjQTYk}lM`t=RA)0UdP})rP=RU*`;nRH; zu$uYF*GAf-M_y@6q4YT@_x?7-)TSCYoyNF5+hD$%a-Y^t+}X+1>$|YTQzGcl_t-RB zUE8P98&&7Ip?ZnTTZ`_yH6PyGT2Dv};>7bu;zitH_Tf@pR+uQf8d6})@U<|kmRqq+ zL;;Cs(Cr>hMa$4do4;eg6^-dn-?hB8!VFlAyfjq&Yr+=%{{tw2)PNfQJ)ivs-Kv8I literal 0 HcmV?d00001 diff --git a/html/classBinary_1_1FLEXFormat-members.html b/html/classBinary_1_1FLEXFormat-members.html new file mode 100644 index 00000000..57cae0eb --- /dev/null +++ b/html/classBinary_1_1FLEXFormat-members.html @@ -0,0 +1,170 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::FLEXFormat Member List
+
+
+ +

This is the complete list of members for Binary::FLEXFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::FLEXFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::FLEXFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::BinaryFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::BinaryFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
segments (defined in Binary::FLEXFormat)Binary::FLEXFormat
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::FLEXFormatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1FLEXFormat.html b/html/classBinary_1_1FLEXFormat.html new file mode 100644 index 00000000..34a37e1b --- /dev/null +++ b/html/classBinary_1_1FLEXFormat.html @@ -0,0 +1,480 @@ + + + + + + + +RetroLinker: Binary::FLEXFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::FLEXFormat Class Reference
+
+
+ +

FLEX .cmd file format. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::FLEXFormat:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + +

+Classes

struct  Segment
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Binary::BinaryFormat
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::vector< Segment * > segments
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

FLEX .cmd file format.

+

Member Function Documentation

+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string FLEXFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void FLEXFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void FLEXFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1FLEXFormat.png b/html/classBinary_1_1FLEXFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..ac60040c350adb5f5f665ec1c1fc162b992f3329 GIT binary patch literal 1758 zcmc&#dr*>D6#slBqOOc?T4;hrnVY4RJtV|F?S*0?J~AtC1J-FG5{E$^|~Eqq_@n3ow<6lClQ0U>U282lz*I{&>vQ8bay$ifYm8~ z^X83yeqC4SZGFrvnY=Ry(EDG<2E!W?0GJm`*a8Np8YoH*GHZT7m<&XPoY(0J$^uE^ z)E}iS>2^U;{iE<(r%x?teVBMb^ILOUqLtVw7VEL7Ez3lHC1NJowbIJF1&&NtF|oB^ zlv|dho~=G}xU?+M zkUL=^b{e|M4VP&?1(&~8`bU?opx*DU;cLsG=8SZzBK3whDusu)-8GO_Gsz)G`bE^@ zlN`G#ABLx}w#j%Ur*W9tQ!1mqkP+@c(b+W_&n^nr9~r+N2~P5~ykiwK`C~eecH7Q- z(Q$R==aDcHDl2Wi$K*R_3cqVAuws*~WP6D+gw#456|X&;p5yl300Hoq85oceq=id4O3-| zCCyw-=%N;Zg7I=(S1~MTsGxo6=l>+Lvu_vy4aI)zm{xTDx zAzPZZ^{$Z%R1StKzgyQlHw~qIw~ARuIYuqefnZ%nlGEKqzY+pcd5?PH2E1Omj;u=; zHeD_lyWV?DkYzWpvOfN}r%f^i*K0VsHH4*#dDOjRJIMIdR>cGvc-itD4DC|4as=(e z+jD3F_Ljtg(54qhVTKza zm0V2Pbp{Rs5Ycx;^p`AJ{v60d7$1Ov|4gYkN4ggHjBQN{1+w%1W%1uP`WyoeZM;+h zh*7sN6cEP1_|AonmItZ$ehi2#clacW4wG z%coh+tx4{@NXZ-YC;gNWGo3y9z?$2dqPU*v7^Mt7Q=Po0qW6&as+dda?xM_Ovcfd- ziSL{H_rbjmk)}KEJyEW#d|J$D%0L`78BEMSi_TfpI?v0#C)VStCS0EI=QB`D`T1x< zVsPYMh65@$i_S((CZ&Vk3dp?Z8fF&lw1Z(W7y1^ZPkE#Nt={qu%8hfh3&?)@S|jZQ>M01l~N)=FZ+6vNzY?^fcsg zEn$EfX)EEghx-`u@p*#*BvoO*_BA%b?Dxetv=b%`6S9D*S}?>`LI`x;w*O8wgQ*Lh zogdQ8owZ&O*;;zIWH~B^G%e${zYZrcJ*i4mH=9LM@*ephHVb&jPjO+;J)1Bu@=-A| z<<;X;{&9oOW0>WfLI;#dMd5SjjMHq?gxZ9b)g#*NT3<;1vih47eRcJn&q5&9Cw9IL ZNHK$kGgm2s^*<3n*t&De9iIcVKLFa+0-FE; literal 0 HcmV?d00001 diff --git a/html/classBinary_1_1PRLFormat-members.html b/html/classBinary_1_1PRLFormat-members.html new file mode 100644 index 00000000..107a5b49 --- /dev/null +++ b/html/classBinary_1_1PRLFormat-members.html @@ -0,0 +1,173 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::PRLFormat Member List
+
+
+ +

This is the complete list of members for Binary::PRLFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::BinaryFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::PRLFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
PRLFormat(uint64_t default_base_address=0, std::string default_extension=".prl") (defined in Binary::PRLFormat)Binary::PRLFormatinline
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::BinaryFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution) overrideBinary::PRLFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::BinaryFormatvirtual
relocations (defined in Binary::PRLFormat)Binary::PRLFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
suppress_relocations (defined in Binary::PRLFormat)Binary::PRLFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::PRLFormatvirtual
zero_fill (defined in Binary::PRLFormat)Binary::PRLFormat
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1PRLFormat.html b/html/classBinary_1_1PRLFormat.html new file mode 100644 index 00000000..721366f6 --- /dev/null +++ b/html/classBinary_1_1PRLFormat.html @@ -0,0 +1,487 @@ + + + + + + + +RetroLinker: Binary::PRLFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::PRLFormat Class Reference
+
+
+ +

MP/M .prl file format. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::PRLFormat:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

PRLFormat (uint64_t default_base_address=0, std::string default_extension=".prl")
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution) override
 Callback function to process relocations.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Binary::BinaryFormat
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint16_t zero_fill
 
+bool suppress_relocations
 
+std::set< uint16_t > relocations
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

MP/M .prl file format.

+

Member Function Documentation

+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void PRLFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ ProcessRelocation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
bool PRLFormat::ProcessRelocation (Linker::Module & module,
Linker::Relocation & rel,
Linker::Resolution resolution )
+
+overridevirtual
+
+ +

Callback function to process relocations.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void PRLFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1PRLFormat.png b/html/classBinary_1_1PRLFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..58da54fca9a4b6006e1ad3b395961e503ec0eac7 GIT binary patch literal 1748 zcmb`IeKga19LIlZi`JCM(&Moct0N8(oSh-AU4uTTOacTC&_}YD*qA z8Pk@j6it{Da@?hf96bnG&6tO|@=(m~^hZa3+=oBz_ngo7{r-Hv-}8NVeZS{?uMmB< z86y@W001zCJl*{Oz`#=PD~)FA>(s+O33^#V+(Git>2!Ll>K%?{J{4@Tw>q+r^IX-@ z(V=hOSRcUG_su@x=i?9P^KZpzM*1rNm=y}SgQQaieVKg^a;!}}IPZicscwF#6rSv? ze35~}HnT;E4GVWUYRr|QQ1Pe1z$}BsSh`o$uzIB{<6);D42&L&Boo_{xRev~dV&XY z=WhvNAz;LDqtpBEg;ATdtmE$KozA{Wv3c zG~*_&jMrtM%5r5re(=pZmalqpeTb;IeCb!a@s`fIk84~Rt#1N3r)_BqmOYV%pTi-7 zh9V)?68!=A(xO7~(9$ghO@;E@;f&y+gYAXvVW-dSLw%8NH0#c7>8Hj&&l(vH$na86 zK2SC*kJsfK44Z11lX@;?$rz34EF!Z*a0xUeKfg2$)iFCX?`i#jUa-B-8wyN z@?bdw=7I*L;eE-!vGPI4wB-yqW^Na{Yk`Gs7bgjx`M zQQ5MrE#8VUc{x}9N6=|gQY;SE{9dq=95xEmuNT{~JVH0nbbeG|(0;fYso-{8`jb3nm0mqiWHpuACxuSt4TR;%Ojx)c)BE@nr#?9sEshf@N3g^mxb*`D~b;ub*@FTh>D6|+9s_@GK zknpK17^c0+9rz_2g(856q(pl@FVSf0cO#;eiq&s{4!c1Mua7G4gvQ4k_5Tk5dHA@C I-S*P{0s$-{eE + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::UZI280Format Member List
+
+
+ +

This is the complete list of members for Binary::UZI280Format, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
code (defined in Binary::UZI280Format)Binary::UZI280Format
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data (defined in Binary::UZI280Format)Binary::UZI280Format
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module) overrideBinary::UZI280Formatvirtual
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::UZI280Formatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::UZI280Formatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::BinaryFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::BinaryFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideBinary::UZI280Formatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1UZI280Format.html b/html/classBinary_1_1UZI280Format.html new file mode 100644 index 00000000..754e3c6e --- /dev/null +++ b/html/classBinary_1_1UZI280Format.html @@ -0,0 +1,507 @@ + + + + + + + +RetroLinker: Binary::UZI280Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::UZI280Format Class Reference
+
+
+ +

UZI280 file format. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::UZI280Format:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Binary::BinaryFormat
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Linker::Writablecode
 
+Linker::Writabledata
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

UZI280 file format.

+

Member Function Documentation

+ +

◆ GetDefaultExtension() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::string UZI280Format::GetDefaultExtension (Linker::Module & module)
+
+overridevirtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string BinaryFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void UZI280Format::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void UZI280Format::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1UZI280Format.png b/html/classBinary_1_1UZI280Format.png new file mode 100644 index 0000000000000000000000000000000000000000..661c1b7a892c96ea91e80046430b3371f8df73af GIT binary patch literal 1780 zcmc(gYfzF|7{^}|lE_;|rHO@`m#x)`)J!uCwdBpbq?T)5%1BL3vjX#itG!*Qu@S`! znHDr+nq_%6MX{+ZD=vJO8q!r>7nVnAafKf`}ELJ=c>c}z$c2=)(H5Nalwy%O>! z3ai4#7!uLfUe80-l*p5B*s=yaM{2?n@YC>;B&>gauB>D@X4bmC^Ld9?5B>aC-zWoy zVT-n!>+fyyD#bh{>J(jt?zJ3Y z)6tYXho}kR>jn5)qT_UNO%AE<&M4F&0`H5ykfX_OZ*#HY&(T3R$@I7BUM6&H*bP{9 zeb{^kyYac#aU6Ehb&d7@S;9rCOrK<5!BmAZW_wQb)Y6sYv~445nLv{nT&-|Efn}WL z>!bVBE}LNui`$P}76}L!?l7t6sGs(njIu^)kMNoB92y5WaNl!bYQH! zSSxC~Y(iqtp~8$cc z;yLnL_4J%6w$ADSN!P*MeCC&|QDgIpz;g=DH+K?xF@($15uHbzhJCq9xk8-gn3V>M znL|XVI!OaxpvwX?npf$Fx`CCe-q0^a7|)8l)yz+wzQ zw`l+8cmFt>;4rKr13)ycpU9>=J$hhm>(1O1cGx7 zD0_|O!~iR@I*x7N-oAqF{J3d64;tmqb$K~cUYar#&F8z^Q@$CiCR%tcco^AQ?IsiedmZXzBo*6TtP>1dQ{VcM$NLlyje0S(=37Eu z$9LZ-Tsc1Ar;+zL&}z~XYGjqx?|d(fEEcx(HFv6r^+c-aD$It*QQi!c(Y9i1BerJL z_|fTdeuF%wvR1;uQ<|xsgAC{Z9b6&(rmh^Ks};T~sTv literal 0 HcmV?d00001 diff --git a/html/classBinary_1_1UZIFormat-members.html b/html/classBinary_1_1UZIFormat-members.html new file mode 100644 index 00000000..e71ebd05 --- /dev/null +++ b/html/classBinary_1_1UZIFormat-members.html @@ -0,0 +1,171 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Binary::UZIFormat Member List
+
+
+ +

This is the complete list of members for Binary::UZIFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_addressBinary::BinaryFormat
BinaryFormat(uint64_t default_base_address=0, std::string default_extension="") (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
BinaryFormat(std::string default_extension) (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
CalculateValues() overrideBinary::BinaryFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideBinary::BinaryFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments() (defined in Binary::BinaryFormat)Binary::BinaryFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideBinary::BinaryFormatvirtual
entry (defined in Binary::UZIFormat)Binary::UZIFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extensionBinary::BinaryFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Binary::BinaryFormat)Binary::BinaryFormatvirtual
FormatIs16bit() const overrideBinary::BinaryFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideBinary::BinaryFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideBinary::BinaryFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module) overrideBinary::UZIFormatvirtual
GetDefaultExtension(Linker::Module &module, std::string filename) overrideBinary::UZIFormatvirtual
GetScript(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
imageBinary::BinaryFormat
Initialize() overrideBinary::BinaryFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in Binary::BinaryFormat)Binary::BinaryFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelBinary::BinaryFormat
memory_model_t enum nameBinary::BinaryFormat
MODEL_COMPACT enum valueBinary::BinaryFormat
MODEL_DEFAULT enum valueBinary::BinaryFormat
MODEL_LARGE enum valueBinary::BinaryFormat
MODEL_SMALL enum valueBinary::BinaryFormat
MODEL_TINY enum valueBinary::BinaryFormat
OnNewSegment(Linker::Segment *segment) overrideBinary::BinaryFormatvirtual
pifBinary::BinaryFormat
position_independentBinary::BinaryFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideBinary::UZIFormatvirtual
ProcessRelocation(Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)Binary::BinaryFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideBinary::BinaryFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideBinary::BinaryFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideBinary::BinaryFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
uzi180_header (defined in Binary::UZIFormat)Binary::UZIFormat
WriteFile(Linker::Writer &wr) overrideBinary::UZIFormatvirtual
~BinaryFormat() (defined in Binary::BinaryFormat)Binary::BinaryFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classBinary_1_1UZIFormat.html b/html/classBinary_1_1UZIFormat.html new file mode 100644 index 00000000..12235257 --- /dev/null +++ b/html/classBinary_1_1UZIFormat.html @@ -0,0 +1,507 @@ + + + + + + + +RetroLinker: Binary::UZIFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Binary::UZIFormat Class Reference
+
+
+ +

UZI/UZI280 file formats. + More...

+ +

#include <8bitexe.h>

+
+Inheritance diagram for Binary::UZIFormat:
+
+
+ + +Binary::BinaryFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Binary::BinaryFormat
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
BinaryFormat (uint64_t default_base_address=0, std::string default_extension="")
 
BinaryFormat (std::string default_extension)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
virtual bool ProcessRelocation (Linker::Module &module, Linker::Relocation &rel, Linker::Resolution resolution)
 Callback function to process relocations.
 
+void Link (Linker::Module &module)
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+bool uzi180_header
 
+uint16_t entry
 
- Public Attributes inherited from Binary::BinaryFormat
+Linker::Writableimage
 The actual stored image.
 
+Microsoft::MZFormat::PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+bool position_independent
 Set when the generated code must not reference absolute references.
 
+uint64_t base_address
 Address at which image is stored, it can be format specific or provided as a parameter.
 
+memory_model_t memory_model
 Memory model of generated executable, must be MODEL_DEFAULT for all non-x86 platforms.
 
+std::string extension
 Default filename extension for executables (such as .com for MS-DOS, .r for Human68k)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from Binary::BinaryFormat
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 (x86 only) Represents the memory model of the running executable, which is the way in which the segments are set up during execution More...
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

UZI/UZI280 file formats.

+

Member Function Documentation

+ +

◆ GetDefaultExtension() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::string UZIFormat::GetDefaultExtension (Linker::Module & module)
+
+overridevirtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string BinaryFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void UZIFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void UZIFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from Binary::BinaryFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/8bitexe.h
  • +
  • src/format/8bitexe.cc
  • +
+
+ + + + diff --git a/html/classBinary_1_1UZIFormat.png b/html/classBinary_1_1UZIFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..25e7ab8ca8a1cb20aefd3d60428870a4ae1ba6b0 GIT binary patch literal 1770 zcmb_dc~H`682+JBhT^fAmZo`7W@?(+q;6=atx^W&8J@LnZQi?rmKo?`Nt=0usjUaF zWoaI1W|11o=9(FnjHqN@5Q-EkuJ?s3^~X;A(d_KZelySeJn#D*^S#f^H{Y*bD0e7C z7XknP6zSpS4FDiRxn?RW%42RU>XMxFygYpm%VaXS6iv)0WIrpjw>JA}YeA=o$K%QC z`(OE&%I7xWyiq=YJpVKfC=~Soz=i~*8^ZTIXtLx~ZiS-;xX3kczf7j%dF<4U>#d;n#4(hwoQbB{xDFO<&-OxDKaT z-A?eXzr^^fg>X-}&+se3k)=Vw8ffl{bcoeBK2}Y+N^j#_41*6!Z{QtBBX{!GmxW@D zL)mYhT8Tqv&tR6`RgZE4!=|_uF)e7pQRyCvXS2fGi@e6bK8(^9{ic?R=I!9>W#4bu zlRu`aZL8_&O(;2s7S9Y|BjDqGPv46D`cpVd@Da-Jw@$*Y@u8{gHcs8L?(!iUjSM{S&w$z%RY`W53Cuik5ClZllgwlxI5*Rnp?kxqWLYT|n4Ns3GV)3Zh^?o_N$1 zC@VEg#qM&BQ086JQaXu*1L<<|K>W`Xr)`%dc(VzQio8*}w;YW0)+sea+I)_BV!E(z z&Gg=~DrerlF5(Hv4nfAzrU+WNBqtpOZobZDa?eEy#0GlIy?50&2gcx$Y24WcjT3~5 zfR>x3LTo;wb>?neCt2A?kjvb;G)!0P*IkGXB6U@>IE)7!)&+>T&T&|+cD-FqOcZ;j zv9$>ewjA+#UR9N;PAoJc(Gr&qR_>Z8q_Jil)GfRhB!rvO>-DGKCT)mutw8Lm#mubW z#a6x3yv4u`3hhv`X-sNDGssnx@&x^JNxEg?w-8+0t(_oBOw+)di1qU%M zkcu)Y5%&Jtqca{APASK8U{WhWN(Qp~7cCev{c|AM_F3UOe2LG0-o6U(WLQN}CS_M1 z5qRA&Z1w&SQF|AflRWe(C1DmqU|!-64g}EOeO7 z$qU8F^s!*b&~5SkN8zzmwi6GPsxz!6WD@-V7y4ps$iuGoo9Ie}Ut=^Y%0_hLY)JVB zq2oH1{$}Mi_vl~%)@;rw?d?96!D=+(n9$}qJpfAX zCy%=|m}X|myy6bDu7bS@7<9s0{p-$tY1V(r_(fo7t2IvHP>QOirrcU%V^y==#?Sr{ z(+)(T$rvH~%5FOYAN3mI;~F>c9B(f?!4RHK=-e6 z&Z96M8q_CRBrRC9I{C0ETDGe)zsENMd|M;KShRket)uZRzDbl<-rj)=Xq&UEK?Su} zLs;V~k>U + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
BrocaD3X::D3X1Format Member List
+
+
+ +

This is the complete list of members for BrocaD3X::D3X1Format, including all inherited members.

+ + + + + + + + + + + + + + + +
binary_size (defined in BrocaD3X::D3X1Format)BrocaD3X::D3X1Format
Clear()Linker::Formatvirtual
D3X1Format() (defined in BrocaD3X::D3X1Format)BrocaD3X::D3X1Formatinline
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
entry (defined in BrocaD3X::D3X1Format)BrocaD3X::D3X1Format
extra_size (defined in BrocaD3X::D3X1Format)BrocaD3X::D3X1Format
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
header_size (defined in BrocaD3X::D3X1Format)BrocaD3X::D3X1Format
Initialize()Linker::Formatvirtual
ReadFile(Linker::Reader &rd) overrideBrocaD3X::D3X1Formatvirtual
stack_top (defined in BrocaD3X::D3X1Format)BrocaD3X::D3X1Format
WriteFile(Linker::Writer &wr) overrideBrocaD3X::D3X1Formatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classBrocaD3X_1_1D3X1Format.html b/html/classBrocaD3X_1_1D3X1Format.html new file mode 100644 index 00000000..63b3616c --- /dev/null +++ b/html/classBrocaD3X_1_1D3X1Format.html @@ -0,0 +1,216 @@ + + + + + + + +RetroLinker: BrocaD3X::D3X1Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
BrocaD3X::D3X1Format Class Reference
+
+
+ +

Daniel Broca's D3X executable format. + More...

+ +

#include <dosexe.h>

+
+Inheritance diagram for BrocaD3X::D3X1Format:
+
+
+ + +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + +

+Public Attributes

+uint32_t header_size
 
+uint32_t binary_size
 
+uint32_t extra_size
 
+uint32_t entry
 
+uint32_t stack_top
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

Daniel Broca's D3X executable format.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BrocaD3X::D3X1Format::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BrocaD3X::D3X1Format::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/dosexe.h
  • +
  • src/format/dosexe.cc
  • +
+
+ + + + diff --git a/html/classBrocaD3X_1_1D3X1Format.png b/html/classBrocaD3X_1_1D3X1Format.png new file mode 100644 index 0000000000000000000000000000000000000000..6a42f2d061e557a3496a81aac509ce1d3866cb63 GIT binary patch literal 718 zcmeAS@N?(olHy`uVBq!ia0vp^Q-C;tgBeJkn7zgYNJ$6ygt-3y{~ySF@#br3|Doj; z2ATyD)6cwk@ZbSZ-1KbN5}+JsNswPK1CS2}=1jA%FfcGhdb&7fTG9FFjgL^Yvq8vTH7> zZg?_xrQgc+&p5JVe*F%4m)?0_{r{Jo#Xp1QzDi!N_p730>tb80-hAe-YptfP?mxCK zv3t4s5$E?VJExz`_c$GVt$wMWZLV+WtIX_G!T!;~bE|I6dUfUUwUFiWwk@;zy2bSB z%H?YvJfl3Vw>-V~{@ZH>hCc!M3^#nOo%Y_B4tmR>>hn7=m-Fd%eukVP4TcRT7BU=A zYG-2Tmf>R1!7uR7DuhGvjT+0OJKlV*lf*1VJflJu23?!{WT~C@rmOGUUjB)w)|g$p zz=~hRa@9JCtuw+zPItyQwf@kN-ny*&4C|GeUG1wT{9J!*?yWmq<`g&85;uWq-tX5oW<;=3# zH``^t|N4dN`rb2TRVYu8*}7-WfBvh_t~~j6bjltLmtT=rS6+TA-KW3vL%p#|<}~Mt lOI%?NRtZpS*)a1T + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
AssignMagicValue() (defined in COFF::COFFFormat)COFF::COFFFormat
CalculateValues() overrideCOFF::COFFFormatvirtual
CDOS386 enum valueCOFF::COFFFormat
CDOS68K enum valueCOFF::COFFFormat
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideCOFF::COFFFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
COFFFormat(format_type type=GENERIC) (defined in COFF::COFFFormat)COFF::COFFFormatinline
cpu enum nameCOFF::COFFFormat
CPU_ALPHA enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_AM29K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_I370 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_I386 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_I86 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_M68K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_M88K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_MIPS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_NS32K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_PPC enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_PPC64 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_SHARC enum value (defined in COFF::COFFFormat)COFF::COFFFormat
cpu_typeCOFF::COFFFormat
CPU_UNKNOWN enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_VAX enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_WE32K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_Z80 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_Z8K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CreateDefaultSegments() (defined in COFF::COFFFormat)COFF::COFFFormat
CreateWriter(format_type type) (defined in COFF::COFFFormat)COFF::COFFFormatstatic
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
DetectCpuType(::EndianType expected) (defined in COFF::COFFFormat)COFF::COFFFormat
DetectCpuType() (defined in COFF::COFFFormat)COFF::COFFFormat
DJGPP enum valueCOFF::COFFFormat
Dump(Dumper::Dumper &dump) overrideCOFF::COFFFormatvirtual
endiantypeCOFF::COFFFormat
entry_addressCOFF::COFFFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
FLAG_32BIT_BIG_ENDIAN enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_32BIT_LITTLE_ENDIAN enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_EXECUTABLE enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_NO_LINE_NUMBERS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_NO_RELOCATIONS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_NO_SYMBOLS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
flagsCOFF::COFFFormat
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
format_type enum nameCOFF::COFFFormat
FormatAdditionalSectionFlags(std::string section_name) const override (defined in COFF::COFFFormat)COFF::COFFFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideCOFF::COFFFormatvirtual
GENERIC enum valueCOFF::COFFFormat
GetBssSegment() (defined in COFF::COFFFormat)COFF::COFFFormat
GetCodeSegment() (defined in COFF::COFFFormat)COFF::COFFFormat
GetCurrentAddress() constLinker::LinkerManager
GetDataSegment() (defined in COFF::COFFFormat)COFF::COFFFormat
GetDefaultExtension(Linker::Module &module, std::string filename) overrideCOFF::COFFFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetEndianType() constCOFF::COFFFormat
GetScript(Linker::Module &module) (defined in COFF::COFFFormat)COFF::COFFFormat
GetSegment(Section *section)COFF::COFFFormat
GetStubImageSize() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
Initialize() overrideCOFF::COFFFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in COFF::COFFFormat)COFF::COFFFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
MACHINE_TYPES (defined in COFF::COFFFormat)COFF::COFFFormatstatic
MZSimpleStubWriter(std::string stub_file="") (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinlineprotected
OnNewSegment(Linker::Segment *segment) overrideCOFF::COFFFormatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
option_no_relocationCOFF::COFFFormat
option_segmentation (defined in COFF::COFFFormat)COFF::COFFFormat
optional_headerCOFF::COFFFormat
optional_header_sizeCOFF::COFFFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideCOFF::COFFFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ProduceModule(Linker::Module &module, Linker::Reader &rd) overrideCOFF::COFFFormatvirtual
ReadFile(Linker::Reader &rd) overrideCOFF::COFFFormatvirtual
relocationsCOFF::COFFFormat
relocations_offsetCOFF::COFFFormat
section_countCOFF::COFFFormat
sectionsCOFF::COFFFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideCOFF::COFFFormatvirtual
SetupOptions(char special_char, Linker::OutputFormat *format) overrideCOFF::COFFFormatvirtual
signatureCOFF::COFFFormat
special_prefix_char (defined in COFF::COFFFormat)COFF::COFFFormat
stackCOFF::COFFFormat
stub (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_file (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_file_valid (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_sizeCOFF::COFFFormat
symbol_countCOFF::COFFFormat
symbol_table_offsetCOFF::COFFFormat
symbolsCOFF::COFFFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
timestampCOFF::COFFFormat
typeCOFF::COFFFormat
WriteFile(Linker::Writer &wr) overrideCOFF::COFFFormatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
ZMAGIC enum valueCOFF::COFFFormat
~COFFFormat() (defined in COFF::COFFFormat)COFF::COFFFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZSimpleStubWriter() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinlineprotected
+ + + + diff --git a/html/classCOFF_1_1COFFFormat.html b/html/classCOFF_1_1COFFFormat.html new file mode 100644 index 00000000..89ee613a --- /dev/null +++ b/html/classCOFF_1_1COFFFormat.html @@ -0,0 +1,1084 @@ + + + + + + + +RetroLinker: COFF::COFFFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

The UNIX COFF file format. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat:
+
+
+ + +Linker::InputFormat +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZSimpleStubWriter +Linker::Format +Linker::Format +Microsoft::PEFormat + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  AOutHeader
 A standard 28 byte a.out optional header, used by DJGPP. More...
 
class  FlexOSAOutHeader
 Concurrent DOS 68K/FlexOS 386 optional header Concurrent DOS 68K uses the typical a.out header with two additional fields for the offset to relocations and the size of the stack. More...
 
class  GNUAOutHeader
 GNU a.out optional header TODO. More...
 
struct  MachineType
 
class  MIPSAOutHeader
 A standard 28 byte a.out optional header, used by DJGPP. More...
 
class  OptionalHeader
 An abstract class to represent the optional header. More...
 
class  Relocation
 A generic COFF relocation. More...
 
class  Section
 A COFF section. More...
 
class  Symbol
 A COFF symbol. More...
 
class  UnknownOptionalHeader
 A simplified class to represent an optional header of unknown structure. More...
 
class  ZilogRelocation
 A relocation, as stored by the Z80/Z8000 backend. More...
 
+ + + + + + + + + + +

+Public Types

enum  cpu {
+  CPU_UNKNOWN = 0 +, CPU_I386 = 0x014C +, CPU_M68K = 0x0150 +, CPU_Z80 = 0x805A +,
+  CPU_Z8K = 0x8000 +, CPU_I86 = 0x0148 +, CPU_NS32K = 0x0154 +, CPU_I370 = 0x0158 +,
+  CPU_MIPS = 0x0160 +, CPU_M88K = 0x016D +, CPU_WE32K = 0x0170 +, CPU_VAX = 0x0178 +,
+  CPU_AM29K = 0x017A +, CPU_ALPHA = 0x0183 +, CPU_PPC = 0x01DF +, CPU_PPC64 = 0x01F7 +,
+  CPU_SHARC = 0x521C +
+ }
 Represents the first 16-bit word of a COFF file.
 
enum  format_type { GENERIC +, DJGPP +, CDOS68K +, CDOS386 + }
 Represents the type of target system, which will determine the CPU type and several other fields. More...
 
enum  {
+  FLAG_NO_RELOCATIONS = 0x0001 +, FLAG_EXECUTABLE = 0x0002 +, FLAG_NO_LINE_NUMBERS = 0x0004 +, FLAG_NO_SYMBOLS = 0x0008 +,
+  FLAG_32BIT_LITTLE_ENDIAN = 0x0100 +, FLAG_32BIT_BIG_ENDIAN = 0x0200 +, ZMAGIC = 0x010B +
+ }
 COFF file header flags, most of these are obsolete, we only use them as precombined flag sets. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+::EndianType GetEndianType () const
 Retrieves the natural byte order for the architecture.
 
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
+void AssignMagicValue ()
 
+bool DetectCpuType (::EndianType expected)
 
+void DetectCpuType ()
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
void SetupOptions (char special_char, Linker::OutputFormat *format) override
 Initializes the reader for linking purposes.
 
void ProduceModule (Linker::Module &module, Linker::Reader &rd) override
 Reads a file and loads the information into a module object.
 
COFFFormat (format_type type=GENERIC)
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
+Linker::SegmentGetSegment (Section *section)
 Return the segment stored inside the section, note that this only works for binary generation.
 
+Linker::SegmentGetCodeSegment ()
 
+Linker::SegmentGetDataSegment ()
 
+Linker::SegmentGetBssSegment ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + +

+Static Public Member Functions

+static COFFFormatCreateWriter (format_type type)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+char signature [2]
 The actual value of the magic number (COFF name: f_magic)
 
+std::vector< Section * > sections
 The list of COFF sections.
 
+uint16_t section_count
 Section count (COFF name: f_nscns)
 
+uint32_t timestamp
 Time stamp, unused (COFF name: f_timdat)
 
+uint32_t symbol_table_offset
 Offset to the first symbol (COFF name: f_symptr)
 
+uint32_t symbol_count
 The number of symbols (COFF name: f_nsyms)
 
+std::vector< Symbol * > symbols
 The symbols stored inside the COFF file.
 
+uint32_t optional_header_size
 The size of the optional header (COFF: f_opthdr)
 
+uint16_t flags
 COFF flags, such as whether the file is executable (f_flags)
 
+OptionalHeaderoptional_header
 The optional header instance used for reading/writing the COFF file.
 
+std::map< uint32_t, size_t > relocations
 Concurrent DOS 68K requires a special block of data to represent "crunched" relocations (see CPM68KWriter for more details)
 
cpu cpu_type
 The CPU type, reflected by the first 16-bit word of a COFF file.
 
+::EndianType endiantype
 The byte order.
 
+char special_prefix_char
 
+bool option_segmentation
 
+format_type type
 A representation of the format to generate.
 
+bool option_no_relocation
 Suppress relocation generation, only relevant for Concurrent DOS 68K, since the other target formats do not store relocations.
 
+uint32_t stub_size
 Size of MZ stub, only used for DJGPP COFF executables.
 
+Linker::Segmentstack
 Concurrent DOS 68K and FlexOS 386: The stack segment, not stored as part of any section.
 
+uint32_t entry_address
 Entry address, gets stored in optional header later.
 
+uint32_t relocations_offset
 Concurrent DOS 68K: Offset to relocations.
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + +

+Static Public Attributes

+static const std::map< uint32_t, MachineTypeMACHINE_TYPES
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZSimpleStubWriter
MZSimpleStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZSimpleStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+offset_t stub_size
 
+

Detailed Description

+

The UNIX COFF file format.

+

Originally introduced in UNIX System V, it replaced the previous a.out format. It was later adopted, often with extensions, on many UNIX and non-UNIX operating systems.

+

The current implementation supports the following formats:

    +
  • DJGPP version 1.11 or later, running on top of MS-DOS
  • +
  • Digital Research Concurrent DOS 68K
  • +
+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

COFF file header flags, most of these are obsolete, we only use them as precombined flag sets.

+ + +
Enumerator
ZMAGIC 

Stored as the magic of the a.out header.

+
+ +
+
+ +

◆ format_type

+ +
+
+ +

Represents the type of target system, which will determine the CPU type and several other fields.

+ + + + + +
Enumerator
GENERIC 

An unspecified value, probably will not work.

+
DJGPP 

DJGPP COFF executable.

+
CDOS68K 

Concurrent DOS 68K executable (untested but confident)

+
CDOS386 

FlexOS 386 executable (unknown)

+
+ +
+
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::Clear ()
+
+overridevirtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::Dump (Dumper::Dumper & dump)
+
+overridevirtual
+
+ +

Display file contents in a nice manner.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned COFFFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string COFFFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +

Reimplemented in Microsoft::PEFormat.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::Initialize ()
+
+overridevirtual
+
+ +

Sets all fields to their default values.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ProduceModule()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::ProduceModule (Linker::Module & module,
Linker::Reader & rd )
+
+overridevirtual
+
+ +

Reads a file and loads the information into a module object.

+ +

Implements Linker::InputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +

Reimplemented in Microsoft::PEFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetupOptions()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::SetupOptions (char special_char,
Linker::OutputFormat * format )
+
+overridevirtual
+
+ +

Initializes the reader for linking purposes.

+
Parameters
+ + + +
special_charMost input formats do not provide support for the special requirements of the output format (such as segmentation for ELF). We work around this by introducing special name prefixes $$SEGOF$ where $ is the value of special_char.
formatThe output format that will be used. This is required to know which extra special features need to be implemented (such as segmentation).
+
+
+ +

Reimplemented from Linker::InputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +

Reimplemented in Microsoft::PEFormat.

+ +
+
+

Member Data Documentation

+ +

◆ cpu_type

+ +
+
+ + + + +
cpu COFF::COFFFormat::cpu_type
+
+ +

The CPU type, reflected by the first 16-bit word of a COFF file.

+

The byte order has to be determined heuristically.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat.png b/html/classCOFF_1_1COFFFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..a71f2f8a1d5e855fe6031899485aedfa84f8c062 GIT binary patch literal 3303 zcmc&%X;4#n5|4lik;4EHyg;IYB627Q$T^T8aw-H*t^i)c5eRY#BqAhc1ce1L%Bc(? zhQR=$1PKBL!~+!>M#C6GI0Fa)!W{_7zTj+a&4-<>t=+19ANuv{{@1UM*RQ+ZPscot zD1o+1~s8=X^auI8-d1Oq%y_n zSLF`%7jB$GX)=)xUF3%$yiJb}M21oJZlSXtYd1kk@Zj}(0FwmXqtxeV!HSL=WhOgw zvU2$`VR~$SR-s`Se~!*yAlF)+f@C#2nWDFk@7{LKd>hj=Z6L1Yl)Ugq-*(F#}Jxh~t>F$@Fp;}8{R%SpNZ8A*4aaeF+{4-&X_+iVjv{g52 zgDQ1yv_QYViOZJ0QgcA^U7_;Rc3nwt(irF0kva}lQQUE{Y?)uS#2bT-DaJa$_+K-}T2 zhWE-hLaJTYL1Q~V0ek(5Gf%oc*1C_{tr&|*VsFWrxq@NT8H47UbPq?inImp_;<_OHXwgI? z8hsEsJr+GlOZ11sTUBON7>8=&ASS}ICXwU9(M=GDQDi{t;F{2)PH{F1)#X~*G~Eq{ zzq@ytqm(C7?K0BxEI*0zo1Rcj+VJU{*sL!;=W^=rco|4)ctOgO_1on86mhpxu4mlX3%?*W!PQSw)>k~Zx0{g66 zX@I5E>Fo1A&G+_yv?EX^C+VM1f!a(OWhGvztBN0+{{#E%hdlpp;@D808l8*tf$SEZ zi{1Uv4;SEO&Puq(7PJg9)^H?fM*wqP1lSE=7)(4eP%vNhNTH?-ZSs{btmWA;hp;0W=wi;B!`NM;6k4Zvc zL(E!Yu5Ly;w^DEsKB`rAkPx~pD%2^J(3+_+>olt|pJUYKMjzm^so=4N5yQTL5JE_% zlYy>f-T}9AWE@|+lG-$*!N^ZE9#x7JSEtGMt$aYwufVD!}+TH z&^WO<=vLGXHn*Qz*BYFW(gWej>AUfSQZEs3>kV>*h5`CC9~ z8&*bU15BoDBf7$4Hh1b>U>=5U@~$h36-*6%jo`Rm=WQ<5idNy-iSlitPWx6e>jz`f zZ9Lq&6Ei`v`eKlBd zZ+u;FXN!X93;&CmQ$bM~FqQlJ+C|MX41wutpSDG$%6;xMDw%ge8fkN{RFFPaYWG+ff@>yj{BMB=Fq zU41w_Df>TabK?i#?cbZ;^1vSb+p2HJ&itxu>$$0S<7#Wo0p>_CPccz1{VKZGu6yr2 z*y1{`wcWR7grI#{h-ULCE^awS$6JnTUk+k-ip9$TDF!l)DWB6g^;vtbp?COPb+>G$ z79g7AssbPf5L4Sr!Bsj^5Mb9B&vk<&$x>y)oXg}JQykR=+T*wXELoGd`#bd3Yyb>! zNwnVT9}WXw182W2c;6dr~NRd-r{P9DUz0906OEJ;5lnq(-pH?@CC%UBo|6a<^mCFBH zxW6{`Uuv5dx=h_?E)?XKT@oug??{o5bYVdx0JQmtbgg-N^v~opnK}CT7J4TP+kd%U z$ttF@norZVg2AwX?+;4T<5=O1k{_;-_smZ6Mm_kbp9_N(tyW2&5A?0F-LBZ~A@t6+ zWZd|QJN}J3Ve9*djSxZFA7!z}Y9*^Xiq({7BFr~urEz~TW*i;<(7z4>Y08mSTAw@g z{3R_0Pv6&Eg3Xy^quRA?xt#mHQUj7ZxvP!cq3N03i9XW2Kfc5j-s=6mdYti8*~wpw zt%3nZcLG&n%RB?U!(PbQMFHaUk9Wjd6fRXMOL7--R9dozAip-1-TE4FKybe)Vo?{? zZ@vmr;iUuXACu-JGYhbnEA{AK6CkNI-aAsbLhV|2leU?=Ew_MQ63|hE2b|^*c + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::AOutHeader Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::AOutHeader, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
AOutHeader(uint16_t magic=0) (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeaderinline
bss_sizeCOFF::COFFFormat::AOutHeader
code_addressCOFF::COFFFormat::AOutHeader
code_sizeCOFF::COFFFormat::AOutHeader
data_addressCOFF::COFFFormat::AOutHeader
data_sizeCOFF::COFFFormat::AOutHeader
Dump(COFFFormat &coff, Dumper::Dumper &dump) override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
DumpFields(COFFFormat &coff, Dumper::Dumper &dump, Dumper::Region &header_region) (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeaderprotectedvirtual
entry_addressCOFF::COFFFormat::AOutHeader
GetSize() overrideCOFF::COFFFormat::AOutHeadervirtual
Initialize() override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
magicCOFF::COFFFormat::AOutHeader
PostReadFile(COFFFormat &coff, Linker::Reader &rd)COFF::COFFFormat::OptionalHeadervirtual
PostWriteFile(COFFFormat &coff, Linker::Writer &wr)COFF::COFFFormat::OptionalHeadervirtual
ReadFile(Linker::Reader &rd) override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
version_stampCOFF::COFFFormat::AOutHeader
WriteFile(Linker::Writer &wr) override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
~OptionalHeader() (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1AOutHeader.html b/html/classCOFF_1_1COFFFormat_1_1AOutHeader.html new file mode 100644 index 00000000..400fcb9e --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1AOutHeader.html @@ -0,0 +1,325 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::AOutHeader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::AOutHeader Class Reference
+
+
+ +

A standard 28 byte a.out optional header, used by DJGPP. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::AOutHeader:
+
+
+ + +COFF::COFFFormat::OptionalHeader +COFF::COFFFormat::FlexOSAOutHeader +COFF::COFFFormat::MIPSAOutHeader + +
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Initialize () override
 
AOutHeader (uint16_t magic=0)
 
uint32_t GetSize () override
 Returns size of optional header.
 
void ReadFile (Linker::Reader &rd) override
 
void WriteFile (Linker::Writer &wr) override
 
void Dump (COFFFormat &coff, Dumper::Dumper &dump) override
 
- Public Member Functions inherited from COFF::COFFFormat::OptionalHeader
virtual void PostReadFile (COFFFormat &coff, Linker::Reader &rd)
 Retrieves any additional data from the file corresponding to this type of optional header.
 
virtual void PostWriteFile (COFFFormat &coff, Linker::Writer &wr)
 Stores any additional data in the file corresponding to this type of optional header.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint16_t magic
 Type of executable, most typically ZMAGIC (COFF name: magic)
 
+uint16_t version_stamp
 unused (COFF name: vstamp)
 
+uint32_t code_size
 unused (COFF name: tsize)
 
+uint32_t data_size
 unused (COFF name: dsize)
 
+uint32_t bss_size
 unused (COFF name: bsize)
 
+uint32_t entry_address
 Initial value of eip (COFF name: entry)
 
+uint32_t code_address
 unused (COFF name: text_start)
 
+uint32_t data_address
 unused (COFF name: data_start)
 
+ + + +

+Protected Member Functions

+virtual void DumpFields (COFFFormat &coff, Dumper::Dumper &dump, Dumper::Region &header_region)
 
+

Detailed Description

+

A standard 28 byte a.out optional header, used by DJGPP.

+

Member Function Documentation

+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::AOutHeader::Dump (COFFFormat & coff,
Dumper::Dumper & dump )
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t COFFFormat::AOutHeader::GetSize ()
+
+overridevirtual
+
+ +

Returns size of optional header.

+ +

Implements COFF::COFFFormat::OptionalHeader.

+ +

Reimplemented in COFF::COFFFormat::FlexOSAOutHeader.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::AOutHeader::Initialize ()
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::AOutHeader::ReadFile (Linker::Reader & rd)
+
+overridevirtual
+
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::AOutHeader::WriteFile (Linker::Writer & wr)
+
+overridevirtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1AOutHeader.png b/html/classCOFF_1_1COFFFormat_1_1AOutHeader.png new file mode 100644 index 0000000000000000000000000000000000000000..d743760198dc20e3928dd14e49709165b97f584b GIT binary patch literal 1611 zcmbW1dpOit7{`BhWT-{f7VB=ZS?#W}lItKlmYG}%$)#Ki8M%bfHW-meg(!Ar)<{B( zOJUqbD7C6-b~5yvZ5S%$Hhzd5mz|o~-)f(&-F=?@W6vMwocEmfeV_AuzVCU@?saog zT(7Yn002d-GsXh|WR~E4wmbr!QIVGC;6-zGUelP?a_pwgX0+sZf4v1slUZW0) z2AgDASYQ-LEu11&ihck2yRtJ|~f9WqSTRK`jdD5~^@9HEK}Srd0=|_1Sk`LW=aM{$n7g_m5DYKt1D0bJxhDbjG)}zC z4gd$k)hIr93y}?zjyza5WSzDdcF(T(8~P8U|B>u}nxnz$XLc(CN6&cR_Vx1XwC$Df z$oyWu%*z|_+ja1|^`!~%%#qn~;Z)DD3=iB>t~Y0y>fK5s+!QF`j9$s(Nfw@KYNwYX zX(n9baxi*ZDOV<7CsLRYJPEY`wmj=3w`>maV7jmWD?e^BRqjfvT(oY-S#q z#*li5y?#w!vQ%}U(dm9|1dto)&P@55g6D(ENI5+=oiFsIx=*W~Vwp7==MzLWplwPn zf~)U|GqSFIJAmzKND;ODD9b`wjzH`jKg4ks{LD~DdU`3WYS(S1%VX?9b=8>KR~5~H zc#;je?)oKbxCoIF7vglo>{MYm(WpWz7*ejP8t05xhQ@8PQ)x>eFGsKkc*3`aWLND2 zO>D~bLlrgb#XUwxvKV$?0M1DIZLQ!>MzFpgBKt$`V0Ae(@Nv&XJD?7H4j)`#-5Zg) z3j;N)2O(|y4S3|nyWDq#{~i54Sz2Cv`$1zaFj>|$^k05!HTFL2FLR7KrrQ_y=9A($ zt-d)uJBbO(;et02b6Nw8hE!BE;BW1OfvatrpCvRD4A-|ZS5I2S4(XvnSRS`_=43n1 z(3<3q{T4_`(&Zc3fRZ|2=PkZ|U8I-(&_F1`T>KLUQF>k!+oRH-yv%8r>O{cE@t|yOYx`$UVLCnI5q^|De&h%o6YkA@jr#Ffjh>L&1nCC}nzve-K4n(xm!e@!7*!HjjR&q;~8ZE%2>bYho z%=Oq>xQ9sd82+$Wa%*CRtcev71c5p#`ezvQNLbiQ<^8s~V_)=<6c8r3mpvdFZu + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::FlexOSAOutHeader Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::FlexOSAOutHeader, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
AOutHeader(uint16_t magic=0) (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeaderinline
bss_sizeCOFF::COFFFormat::AOutHeader
code_addressCOFF::COFFFormat::AOutHeader
code_sizeCOFF::COFFFormat::AOutHeader
data_addressCOFF::COFFFormat::AOutHeader
data_sizeCOFF::COFFFormat::AOutHeader
Dump(COFFFormat &coff, Dumper::Dumper &dump) override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
DumpFields(COFFFormat &coff, Dumper::Dumper &dump, Dumper::Region &header_region) override (defined in COFF::COFFFormat::FlexOSAOutHeader)COFF::COFFFormat::FlexOSAOutHeaderprotectedvirtual
entry_addressCOFF::COFFFormat::AOutHeader
FlexOSAOutHeader() (defined in COFF::COFFFormat::FlexOSAOutHeader)COFF::COFFFormat::FlexOSAOutHeaderinline
GetSize() overrideCOFF::COFFFormat::FlexOSAOutHeadervirtual
Initialize() override (defined in COFF::COFFFormat::FlexOSAOutHeader)COFF::COFFFormat::FlexOSAOutHeadervirtual
magicCOFF::COFFFormat::AOutHeader
PostReadFile(COFFFormat &coff, Linker::Reader &rd) overrideCOFF::COFFFormat::FlexOSAOutHeadervirtual
PostWriteFile(COFFFormat &coff, Linker::Writer &wr) overrideCOFF::COFFFormat::FlexOSAOutHeadervirtual
ReadFile(Linker::Reader &rd) override (defined in COFF::COFFFormat::FlexOSAOutHeader)COFF::COFFFormat::FlexOSAOutHeadervirtual
relocations_offsetCOFF::COFFFormat::FlexOSAOutHeader
stack_sizeCOFF::COFFFormat::FlexOSAOutHeader
version_stampCOFF::COFFFormat::AOutHeader
WriteFile(Linker::Writer &wr) override (defined in COFF::COFFFormat::FlexOSAOutHeader)COFF::COFFFormat::FlexOSAOutHeadervirtual
~OptionalHeader() (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html b/html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html new file mode 100644 index 00000000..50d998e3 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html @@ -0,0 +1,401 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::FlexOSAOutHeader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::FlexOSAOutHeader Class Reference
+
+
+ +

Concurrent DOS 68K/FlexOS 386 optional header Concurrent DOS 68K uses the typical a.out header with two additional fields for the offset to relocations and the size of the stack. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::FlexOSAOutHeader:
+
+
+ + +COFF::COFFFormat::AOutHeader +COFF::COFFFormat::OptionalHeader + +
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Initialize () override
 
uint32_t GetSize () override
 Returns size of optional header.
 
void ReadFile (Linker::Reader &rd) override
 
void WriteFile (Linker::Writer &wr) override
 
void PostReadFile (COFFFormat &coff, Linker::Reader &rd) override
 Retrieves any additional data from the file corresponding to this type of optional header.
 
void PostWriteFile (COFFFormat &coff, Linker::Writer &wr) override
 Stores any additional data in the file corresponding to this type of optional header.
 
- Public Member Functions inherited from COFF::COFFFormat::AOutHeader
AOutHeader (uint16_t magic=0)
 
void Dump (COFFFormat &coff, Dumper::Dumper &dump) override
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t relocations_offset
 The offset to the crunched relocation data within the file.
 
+uint32_t stack_size
 Size of stack for execution.
 
- Public Attributes inherited from COFF::COFFFormat::AOutHeader
+uint16_t magic
 Type of executable, most typically ZMAGIC (COFF name: magic)
 
+uint16_t version_stamp
 unused (COFF name: vstamp)
 
+uint32_t code_size
 unused (COFF name: tsize)
 
+uint32_t data_size
 unused (COFF name: dsize)
 
+uint32_t bss_size
 unused (COFF name: bsize)
 
+uint32_t entry_address
 Initial value of eip (COFF name: entry)
 
+uint32_t code_address
 unused (COFF name: text_start)
 
+uint32_t data_address
 unused (COFF name: data_start)
 
+ + + +

+Protected Member Functions

void DumpFields (COFFFormat &coff, Dumper::Dumper &dump, Dumper::Region &header_region) override
 
+

Detailed Description

+

Concurrent DOS 68K/FlexOS 386 optional header Concurrent DOS 68K uses the typical a.out header with two additional fields for the offset to relocations and the size of the stack.

+

Member Function Documentation

+ +

◆ DumpFields()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
void COFFFormat::FlexOSAOutHeader::DumpFields (COFFFormat & coff,
Dumper::Dumper & dump,
Dumper::Region & header_region )
+
+overrideprotectedvirtual
+
+ +

Reimplemented from COFF::COFFFormat::AOutHeader.

+ +
+
+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t COFFFormat::FlexOSAOutHeader::GetSize ()
+
+overridevirtual
+
+ +

Returns size of optional header.

+ +

Reimplemented from COFF::COFFFormat::AOutHeader.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::FlexOSAOutHeader::Initialize ()
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::AOutHeader.

+ +
+
+ +

◆ PostReadFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::FlexOSAOutHeader::PostReadFile (COFFFormat & coff,
Linker::Reader & rd )
+
+overridevirtual
+
+ +

Retrieves any additional data from the file corresponding to this type of optional header.

+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ PostWriteFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::FlexOSAOutHeader::PostWriteFile (COFFFormat & coff,
Linker::Writer & wr )
+
+overridevirtual
+
+ +

Stores any additional data in the file corresponding to this type of optional header.

+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::FlexOSAOutHeader::ReadFile (Linker::Reader & rd)
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::AOutHeader.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::FlexOSAOutHeader::WriteFile (Linker::Writer & wr)
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::AOutHeader.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.png b/html/classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.png new file mode 100644 index 0000000000000000000000000000000000000000..79194682988299aa2fcdc0e32193d91381ab7c6b GIT binary patch literal 1169 zcmeAS@N?(olHy`uVBq!ia0vp^-+;J-gBeIZe)7y4NJ$6ygt-3y{~ySF@#br3|Doj; z2ATyD)6cwk@ZbSZ-1KbN5}+JsNswPK1CS2}=1jA%Ffg#lc)B=-R4~4s`*6}@4W5?U zzM)?4{~vkHvO(a1#QD1_(b}nZnwcj(U|#sg)l2iIu#jg}aKhvz;;d$#RTnwGZL2?X zdUNf*t7SJglq;N!+gx${#LV}GCZ;=P6!y(!Y@2R)XY0eGf99SQe0J;i|KoNwr@S{m zH@nlcaMqL@jr!INDo0d&WGml3J+1Wp<#x8{U|sWN#hcjekDiM)-;k}AGHa7j?7q(F zzB>ZtZ>OK}4VS%`pSs?|?7UIg&XRA-^d#igPEDQj{$9h~=qI}jr8Cc_|NOU6Wq$JO zRrv|>epR>5%9)>BDD8L2=KfK$@)FVCDkpv4d{(XBF-bqsJke}Z?YfQU-FumddVfW3=iDTBRdxn@t{jFBiw>|c=##)` z=+|00K~u;mxa46D`?ZgKcX8Z3D|Dy-Cq7qt!r)P zRO!n<^Z5T6m%ZE77;CIpJZ>z!iFN+FZw8ufn5Sa-O8;P<-zq~nqr^#1)GqyG^4xa* zx%N-n9O3nIUOu|3cGCFne?%z%TXp$wfij{PQ0yI7E;9UVKIq83J(7tE4Jm{{=+%D zqr;qaTStdDm@vI@o+&-9=^i_w$NC@&5(${j6Swyx}p}(~}1b zTh1jn()}LW{NCTT&bC87`TOaNZ})fUN^Db)4F4Tfc(ylrN%5uR^$oc{7GLLkJ9qc& zq-?Hd$4bI>OW)Y}nyt)s)tSh!0IS=_oo@VlmH+6h?XPuKi|(6TvVK$4{Khxdz$Qxj zaMJs2ky&wbBExN0o8QRoogsPS^^e(}cE{goMO5E9zU}LcSCzH5&fZ(y`1KD{+2;R~ zwM}Bw_P#Oezpu7)X7R2=_t!kJKX`4G>6yzRYsKDNyBqiOuAODSC^&KdTeUCQ(|Bsl zoaKK%URvm6w)TnDmGvPTU0wEQY(ODS=zrUmJKOp%qi)nMms9r&@_>a0gQu&X%Q~lo FCIFiPKYIWG literal 0 HcmV?d00001 diff --git a/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader-members.html b/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader-members.html new file mode 100644 index 00000000..902038b9 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader-members.html @@ -0,0 +1,108 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::GNUAOutHeader Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::GNUAOutHeader, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
bss_size (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
code_relocation_size (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
code_size (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
data_relocation_size (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
data_size (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
Dump(COFFFormat &coff, Dumper::Dumper &dump) override (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeadervirtual
entry_address (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
GetSize() overrideCOFF::COFFFormat::GNUAOutHeadervirtual
GNUAOutHeader() (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeaderinline
info (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
Initialize() override (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeadervirtual
PostReadFile(COFFFormat &coff, Linker::Reader &rd)COFF::COFFFormat::OptionalHeadervirtual
PostWriteFile(COFFFormat &coff, Linker::Writer &wr)COFF::COFFFormat::OptionalHeadervirtual
ReadFile(Linker::Reader &wr) override (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeadervirtual
symbol_table_size (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeader
WriteFile(Linker::Writer &wr) override (defined in COFF::COFFFormat::GNUAOutHeader)COFF::COFFFormat::GNUAOutHeadervirtual
~OptionalHeader() (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html b/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html new file mode 100644 index 00000000..160a49d7 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html @@ -0,0 +1,303 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::GNUAOutHeader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::GNUAOutHeader Class Reference
+
+
+ +

GNU a.out optional header TODO. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::GNUAOutHeader:
+
+
+ + +COFF::COFFFormat::OptionalHeader + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Initialize () override
 
uint32_t GetSize () override
 Returns size of optional header.
 
void ReadFile (Linker::Reader &wr) override
 
void WriteFile (Linker::Writer &wr) override
 
void Dump (COFFFormat &coff, Dumper::Dumper &dump) override
 
- Public Member Functions inherited from COFF::COFFFormat::OptionalHeader
virtual void PostReadFile (COFFFormat &coff, Linker::Reader &rd)
 Retrieves any additional data from the file corresponding to this type of optional header.
 
virtual void PostWriteFile (COFFFormat &coff, Linker::Writer &wr)
 Stores any additional data in the file corresponding to this type of optional header.
 
+ + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t info
 
+uint32_t code_size
 
+uint32_t data_size
 
+uint32_t bss_size
 
+uint32_t symbol_table_size
 
+uint32_t entry_address
 
+uint32_t code_relocation_size
 
+uint32_t data_relocation_size
 
+

Detailed Description

+

GNU a.out optional header TODO.

+

Member Function Documentation

+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::GNUAOutHeader::Dump (COFFFormat & coff,
Dumper::Dumper & dump )
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t COFFFormat::GNUAOutHeader::GetSize ()
+
+overridevirtual
+
+ +

Returns size of optional header.

+ +

Implements COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::GNUAOutHeader::Initialize ()
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::GNUAOutHeader::ReadFile (Linker::Reader & wr)
+
+overridevirtual
+
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::GNUAOutHeader::WriteFile (Linker::Writer & wr)
+
+overridevirtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader.png b/html/classCOFF_1_1COFFFormat_1_1GNUAOutHeader.png new file mode 100644 index 0000000000000000000000000000000000000000..34323601e6f8349e2d992eee247d1d430a96b43f GIT binary patch literal 797 zcmeAS@N?(olHy`uVBq!ia0vp^&wx09gBeI#ssDTkq@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEer>7#NsVc)B=-R4~4s`>=0~0#7Ud z@svy7>mR-5@z8wKRsPs7Xt%Yx!j`H0UVpn&BgOt7a+-8cbcV`H*GA7taaR(TeLY`t z@9pmGTQ9fmW%m3gb#%3{`@YhwjDiQLhM$|t=kEQz^C4$qdhp>n)&J!--4 zLjk_0GN=D{3gN2}NSpoh&E4Zl{V#)?SFW5QZG1!LmsXnGu7;g+OX6xHJN2#~Ij!b% zWxlNOv$Txa7ng4`pFHE~r5m%&5+kCuPn+CZE1Q--@%`V7Wv2PUAHFS-O@5`NpAe>Q zdp6B~_TlTi|MZsaOx`?$-7`B$UiarWFYDHuEuJaAt&iL6n;pJy_F*BD^c$hK^fHSX z-#(tY>Q-pf^(^w=-Z#qt2op=?=3i>;;GN&GwI7B(c;Ky zNB1&3SpSuY;eQp|v)5la&ZQ@;o8teVh9fN`is8fJ11tekGOcdqV88$nwRPbH0V~u6ZtQaQn<3$;;F3&7X8_Px6jM*4l4H zmfgD- + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::MIPSAOutHeader Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::MIPSAOutHeader, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
AOutHeader(uint16_t magic=0) (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeaderinline
bss_address (defined in COFF::COFFFormat::MIPSAOutHeader)COFF::COFFFormat::MIPSAOutHeader
bss_sizeCOFF::COFFFormat::AOutHeader
code_addressCOFF::COFFFormat::AOutHeader
code_sizeCOFF::COFFFormat::AOutHeader
cpr_mask (defined in COFF::COFFFormat::MIPSAOutHeader)COFF::COFFFormat::MIPSAOutHeader
data_addressCOFF::COFFFormat::AOutHeader
data_sizeCOFF::COFFFormat::AOutHeader
Dump(COFFFormat &coff, Dumper::Dumper &dump) override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
DumpFields(COFFFormat &coff, Dumper::Dumper &dump, Dumper::Region &header_region) override (defined in COFF::COFFFormat::MIPSAOutHeader)COFF::COFFFormat::MIPSAOutHeaderprotectedvirtual
entry_addressCOFF::COFFFormat::AOutHeader
GetSize() overrideCOFF::COFFFormat::AOutHeadervirtual
gp_value (defined in COFF::COFFFormat::MIPSAOutHeader)COFF::COFFFormat::MIPSAOutHeader
gpr_mask (defined in COFF::COFFFormat::MIPSAOutHeader)COFF::COFFFormat::MIPSAOutHeader
Initialize() override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
magicCOFF::COFFFormat::AOutHeader
PostReadFile(COFFFormat &coff, Linker::Reader &rd)COFF::COFFFormat::OptionalHeadervirtual
PostWriteFile(COFFFormat &coff, Linker::Writer &wr)COFF::COFFFormat::OptionalHeadervirtual
ReadFile(Linker::Reader &rd) override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
version_stampCOFF::COFFFormat::AOutHeader
WriteFile(Linker::Writer &wr) override (defined in COFF::COFFFormat::AOutHeader)COFF::COFFFormat::AOutHeadervirtual
~OptionalHeader() (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.html b/html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.html new file mode 100644 index 00000000..bb299a8a --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.html @@ -0,0 +1,230 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::MIPSAOutHeader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::MIPSAOutHeader Class Reference
+
+
+ +

A standard 28 byte a.out optional header, used by DJGPP. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::MIPSAOutHeader:
+
+
+ + +COFF::COFFFormat::AOutHeader +COFF::COFFFormat::OptionalHeader + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t bss_address
 
+uint32_t gpr_mask
 
+uint32_t cpr_mask [4]
 
+uint32_t gp_value
 
- Public Attributes inherited from COFF::COFFFormat::AOutHeader
+uint16_t magic
 Type of executable, most typically ZMAGIC (COFF name: magic)
 
+uint16_t version_stamp
 unused (COFF name: vstamp)
 
+uint32_t code_size
 unused (COFF name: tsize)
 
+uint32_t data_size
 unused (COFF name: dsize)
 
+uint32_t bss_size
 unused (COFF name: bsize)
 
+uint32_t entry_address
 Initial value of eip (COFF name: entry)
 
+uint32_t code_address
 unused (COFF name: text_start)
 
+uint32_t data_address
 unused (COFF name: data_start)
 
+ + + +

+Protected Member Functions

void DumpFields (COFFFormat &coff, Dumper::Dumper &dump, Dumper::Region &header_region) override
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from COFF::COFFFormat::AOutHeader
void Initialize () override
 
AOutHeader (uint16_t magic=0)
 
uint32_t GetSize () override
 Returns size of optional header.
 
void ReadFile (Linker::Reader &rd) override
 
void WriteFile (Linker::Writer &wr) override
 
void Dump (COFFFormat &coff, Dumper::Dumper &dump) override
 
- Public Member Functions inherited from COFF::COFFFormat::OptionalHeader
virtual void PostReadFile (COFFFormat &coff, Linker::Reader &rd)
 Retrieves any additional data from the file corresponding to this type of optional header.
 
virtual void PostWriteFile (COFFFormat &coff, Linker::Writer &wr)
 Stores any additional data in the file corresponding to this type of optional header.
 
+

Detailed Description

+

A standard 28 byte a.out optional header, used by DJGPP.

+

unimplemented

+

Member Function Documentation

+ +

◆ DumpFields()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
void COFFFormat::MIPSAOutHeader::DumpFields (COFFFormat & coff,
Dumper::Dumper & dump,
Dumper::Region & header_region )
+
+overrideprotectedvirtual
+
+ +

Reimplemented from COFF::COFFFormat::AOutHeader.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.png b/html/classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.png new file mode 100644 index 0000000000000000000000000000000000000000..36154787c34e3dc959d986ff52fced579769f216 GIT binary patch literal 1149 zcmeAS@N?(olHy`uVBq!ia0vp^uYkCNgBeKPD{I#UQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=AwBo-U3d6^w7^KHT(3fv44< z-`MZo|IY1ET%1d%y<2A`{OIjY1ztt@mLKApOHJA*coea*YI#-#FPOB%TsC0(*JP{n z-)`Q%op`v6$#dJQpW6B7o=ppnZN4lTeMR?$^Ya&vZhdIlv{5r}UHX6dD@oI>v+~z= zGak;G$cRXxi7mi}$X>UH=;86Bn;c=-q#| zh5L2#@t&QMx9(rbudL5o@XR|U|6W64=31Tb`r~{n)*cOGugc%D)AxwJN`d@Vw<_kX zKC70m`WC9{c=yTu#j~ug%6%lh&L+@IGt1POqey z=nl^ZYd38BSF|-(Ys1WvpvK~xo3-~js-B#m_2l^sm3-|0&rj~NIHs!DFLF@z%;yT3 z^ktc->C!371Q=@K`59(7e_miGcX`9P=3SG{9kLS43Q1u2u-t)_0jQGU!!i;WKNbXe zW%4Obe8K~^17w+%d+fFTmo~T4^YhzzZ*!{L^xA*#_t`bempA8LXY`aS?b^j!`$A@J zoOGOfVvd+^$}#)qsI+H(k;_Z15+Zy*t$e#Es{%HP;#?fj?C_Ka!b zmGkDpJNl!N*B^cHE99zP7_;@{C6#r3tNdIf<^A?dK5*=EWrO|71K$IB_t%s)mrqsc z-}QO-EnV;AHec2}p&y~~x0{XojD5E=T@OF|OXX{EpVy>yA}ds0`Zjt^x(8+yFI+a| zk_c17``3&N#Tjx}jwef9s|*Og6d9rJ)XT-g@K0m~!vo(&E(V}-;u-Q+HtC#}Ii#dy z)XWs>a%47`5P7xPW9GTA?OE12H~a(yGef7ZeQS4BCx~~=`Ll7=uXep(n8z(+bv*NW zn{wx(vK=PXUsl!r3wEhG{9kJ8-KURM&NWL|A)MO(P4r`3+|#qwSKjzIKMQ~Tz-r;5 zYau80eR+^q&K$~W+_r1}k7Lu6Pc*+ex$*YpD=$|YEib*mH?=w;e80=t?T7E}VLW^( z>Z$HHYvZmrox}&-dcQ)>goA2|$E~|Ilx$DPsreC^UR<|mve|6*BpUfd!pXUd> zoooBVS-tVB)!h|#k&W(w{gQPqrmJ5{mDPs3*M;v+%{;SV(yqvy0nxYMK%HnUj$LSQ1A36pM~}kj&D!se>d|478DGgu6{1-oD!M<2N@-I literal 0 HcmV?d00001 diff --git a/html/classCOFF_1_1COFFFormat_1_1OptionalHeader-members.html b/html/classCOFF_1_1COFFFormat_1_1OptionalHeader-members.html new file mode 100644 index 00000000..c31cbfc2 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1OptionalHeader-members.html @@ -0,0 +1,99 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::OptionalHeader Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::OptionalHeader, including all inherited members.

+ + + + + + + + + +
Dump(COFFFormat &coff, Dumper::Dumper &dump) (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
GetSize()=0COFF::COFFFormat::OptionalHeaderpure virtual
Initialize() (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
PostReadFile(COFFFormat &coff, Linker::Reader &rd)COFF::COFFFormat::OptionalHeadervirtual
PostWriteFile(COFFFormat &coff, Linker::Writer &wr)COFF::COFFFormat::OptionalHeadervirtual
ReadFile(Linker::Reader &rd)=0 (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeaderpure virtual
WriteFile(Linker::Writer &wr)=0 (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeaderpure virtual
~OptionalHeader() (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1OptionalHeader.html b/html/classCOFF_1_1COFFFormat_1_1OptionalHeader.html new file mode 100644 index 00000000..9c00d89f --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1OptionalHeader.html @@ -0,0 +1,236 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::OptionalHeader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::OptionalHeader Class Referenceabstract
+
+
+ +

An abstract class to represent the optional header. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::OptionalHeader:
+
+
+ + +COFF::COFFFormat::AOutHeader +COFF::COFFFormat::GNUAOutHeader +COFF::COFFFormat::UnknownOptionalHeader +COFF::COFFFormat::FlexOSAOutHeader +COFF::COFFFormat::MIPSAOutHeader + +
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+virtual void Initialize ()
 
virtual uint32_t GetSize ()=0
 Returns size of optional header.
 
+virtual void ReadFile (Linker::Reader &rd)=0
 
+virtual void WriteFile (Linker::Writer &wr)=0
 
virtual void PostReadFile (COFFFormat &coff, Linker::Reader &rd)
 Retrieves any additional data from the file corresponding to this type of optional header.
 
virtual void PostWriteFile (COFFFormat &coff, Linker::Writer &wr)
 Stores any additional data in the file corresponding to this type of optional header.
 
+virtual void Dump (COFFFormat &coff, Dumper::Dumper &dump)
 
+

Detailed Description

+

An abstract class to represent the optional header.

+

Member Function Documentation

+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual uint32_t COFF::COFFFormat::OptionalHeader::GetSize ()
+
+pure virtual
+
+
+ +

◆ PostReadFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::OptionalHeader::PostReadFile (COFFFormat & coff,
Linker::Reader & rd )
+
+virtual
+
+ +

Retrieves any additional data from the file corresponding to this type of optional header.

+ +

Reimplemented in COFF::COFFFormat::FlexOSAOutHeader.

+ +
+
+ +

◆ PostWriteFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::OptionalHeader::PostWriteFile (COFFFormat & coff,
Linker::Writer & wr )
+
+virtual
+
+ +

Stores any additional data in the file corresponding to this type of optional header.

+ +

Reimplemented in COFF::COFFFormat::FlexOSAOutHeader.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1OptionalHeader.png b/html/classCOFF_1_1COFFFormat_1_1OptionalHeader.png new file mode 100644 index 0000000000000000000000000000000000000000..a60e8f159c3537446414fdd528e935cbd595f879 GIT binary patch literal 2714 zcmd5;c~Fx{7Uyu3afSsQ3o&wv$cV7ONI*7DKm`d$Km!pFP#6~wC=len0%*yhB?t;( zK*%a+{60=O3?!I%joA?*Fa)`TfCvFX!WjaDB->$U|D3XRswznEBx- zO=9Qt*w`58N3zaUfw8Y+ac&+8K;QbTmCC?GI}M%ePk1IO@<;gbL+u(42!XZ?M`r7lXAHeqG-CR;t=yx`pCiLSD{zCMD4 z)Hii5q-9Hyqhpwgy1*rko_;)ZwSzFNtZn9>hgx6c^l&DE(Ir!{Tpo6@Zz77nR9moN zxjs`#OYC33s4705G{dB|t|&w9w6&Lgl?i)oXzPFR|1gpqDru=pNtlV{F7ek6fjA_2 zTh`XNbe-&x`hw4ydEBmw(XmC^_~}`m&czstG;a@s<_^Lzw@42pOMfjMooAP`_Zp?^ z36r{m$dRLZtha=u@){nM;9ixb(A&5V+V87N+(@pUx01Z9DL^Q-TO@RBR=-XnhEr(O z4@4*_W;VEVg!+t6XG_ZCFI@yd7yvWZ4&@*zI3{IBwSL{{#EM1^R!ty4qZv{jS4>?q zbDm}^C@OVg!Oj$?LKyjd>Uu9$>;WbL1oZtpxi%-)#!Pd51M+@#NZ&5Q zS`VzCaK%pUGnxV7RBBfQ``ebNd;qykWnuf4gK7@@cZU~#b0Trtz`RJ@z?m1RDJed~ z6z|A7h|ny&9MJUlqyWsrO#R&LRxbY^onu)+KECrOgl1>X^RGG$`D ziJVU_TNwW7M=egm{)9unHRj645YK0JsFp`%dk~;`{CZvlbs*+n-Wvot~R??Eb6c zR-zPME)Md^va{=7mD5XGuABun=R{8dKa^C+xuUZxyLU?~-(rrh&i*lTe35EUt6~Wn zu#3bLtYTSpH4t!#LQKKC8-P%hIvtGn0-8}V-wXKxuF-qp_dhdO(Clb5@eN>@bTodo zo7HI2p{~*pT@1rf=<`rD{OWszN`n(P+`i_2qw)INs;kv-XaQBu8(I4>ljrcgay;%} zRFB?yR|`LOm<6;_fCvuoYop~?qSiMzkE7Di9~YDD@O?<`F!ux=uWikUnTbWplGYX+ z=Qj=2TqJM?HT!seYW(*Fh^avDwruA%n>K%$SX=jS$ypXyAu^pi!FcTIdrNwQZT8Ld z%C*+xAbk9uT}DH;Rp)_iDt@W02F0K_ugra%pM{Lm0hy zY2XpT3^mwuWA#%*iEiOWoMM`p@aU;rwz(SP9uFb{uy)VcL{4&~e1qdel+ZoCrVRTT*F^k*HaPVjnQkf!`YgdhySTqS z(DlJbh<#DQUZt>SGXhG*KIf{eq(q3#vWhl{ONmFOc|A<8;Rq=8goy3X4n@@}Lh|p& zMmBEyTbuuiSX-tGF=i<->(2-@UuG@2nnQ0i<4AR(i-_(PvP|zDMs?Y|?&Aovr~F&z zg(wMlR~#0re&Wqdd}1e>Ca)CD}$O6b{>=y#BL~X`=7ZrdPTl?>@9g}18D8Q^raf$7G~Lp om1Kh2)~&Tw)>O6)Sjm(JYnYORmwwm4D^kJ9!OgzzWWcq50aj{SWB>pF literal 0 HcmV?d00001 diff --git a/html/classCOFF_1_1COFFFormat_1_1Relocation-members.html b/html/classCOFF_1_1COFFFormat_1_1Relocation-members.html new file mode 100644 index 00000000..e69a89b2 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1Relocation-members.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::Relocation Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::Relocation, including all inherited members.

+ + + + + +
FillEntry(Dumper::Entry &entry)=0 (defined in COFF::COFFFormat::Relocation)COFF::COFFFormat::Relocationpure virtual
GetAddress()=0 (defined in COFF::COFFFormat::Relocation)COFF::COFFFormat::Relocationpure virtual
GetSize()=0 (defined in COFF::COFFFormat::Relocation)COFF::COFFFormat::Relocationpure virtual
~Relocation() (defined in COFF::COFFFormat::Relocation)COFF::COFFFormat::Relocationvirtual
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1Relocation.html b/html/classCOFF_1_1COFFFormat_1_1Relocation.html new file mode 100644 index 00000000..159ce874 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1Relocation.html @@ -0,0 +1,124 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::Relocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::Relocation Class Referenceabstract
+
+
+ +

A generic COFF relocation. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::Relocation:
+
+
+ + +COFF::COFFFormat::ZilogRelocation + +
+ + + + + + + + +

+Public Member Functions

+virtual offset_t GetAddress ()=0
 
+virtual size_t GetSize ()=0
 
+virtual void FillEntry (Dumper::Entry &entry)=0
 
+

Detailed Description

+

A generic COFF relocation.

+

The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1Relocation.png b/html/classCOFF_1_1COFFFormat_1_1Relocation.png new file mode 100644 index 0000000000000000000000000000000000000000..016ae6382564d73d1132d7dac9a883c0a7b973d9 GIT binary patch literal 761 zcmeAS@N?(olHy`uVBq!ia0vp^cY!#7gBeJ!GHK8QQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B*yo-U3d6^w7^CQjb0z|(R) zb=l_s|Hb!z-7te8Y|r;wf^FH~9e6V52|NzhIlYNTTW6BV3bnZ^Usrmnd)B_1koVRi zPiXc9J2UBL(khzayXIO?U(yw}eNxFHCA;Fozs^g^PCfSi<)cfiyKHaCA7$9?`rG&Mz98u{M-%79 zEx0|8<9~{Y#IlRo{3lgUN>{J3SwAmgl2PqOqt_+T&o}1zczIdvuB+blCnYCUO!a5l zXVqQ)U(TE^IeY$Y>aJ7SYi@Tq7F)|#^%Gh;0Ic3knm-7mkANTs2SF166S>?&jP@8p$ z(P93q5{3)Q)npmItRzP0&r~Olht*Xr0*Ai0I818Jx->BbXoAYkiicTn*tWyE{W`FhYKE<`We&3sE>a}nEh19FXe%ska7W*=)`|sx8z3D8^+}k0t zXO6!6u6sA^%f27dJeOZQ&3JQh=_Z}S-{$@KYxA=1^>OXZe$%Twt_FV1iJPK2H+DaB z?8HBtJ{Yflbf(sG`-R#?>1G#ip1f~UZVC$6S$E71uSrjvD*5{sx03em)3%?Vo{U){Wp2(vB}@pYSNov|6Kx35~2SY Z4({9j$|aSp3YbV4JYD@<);T3K0RU!jc=G@N literal 0 HcmV?d00001 diff --git a/html/classCOFF_1_1COFFFormat_1_1Section-members.html b/html/classCOFF_1_1COFFFormat_1_1Section-members.html new file mode 100644 index 00000000..909c75df --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1Section-members.html @@ -0,0 +1,113 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::Section Member List
+
+ + + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1Section.html b/html/classCOFF_1_1COFFFormat_1_1Section.html new file mode 100644 index 00000000..5b150056 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1Section.html @@ -0,0 +1,211 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::Section Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::Section Class Reference
+
+
+ +

A COFF section. + More...

+ +

#include <coff.h>

+ + + + + +

+Public Types

enum  { TEXT = 0x0020 +, DATA = 0x0040 +, BSS = 0x0080 + }
 COFF section flags. More...
 
+ + + + + + + + + + + + + +

+Public Member Functions

+void Initialize ()
 
+void Clear ()
 
Section (uint32_t flags=0, Linker::Writable *image=nullptr)
 
+void ReadSectionHeader (Linker::Reader &rd)
 
+void WriteSectionHeader (Linker::Writer &wr)
 
+uint32_t ActualDataSize ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string name
 The name of the section (COFF name: s_name)
 
+uint32_t physical_address
 The physical address of the section (expected to be identical to the virtual address) (COFF name: s_paddr)
 
+uint32_t address
 The virtual address of the section (COFF name: s_vaddr)
 
+uint32_t size
 The size of the section (COFF name: s_size)
 
+uint32_t section_pointer
 Offset of stored image data from COFF header start (COFF name: s_scnptr)
 
+uint32_t relocation_pointer
 Offset to COFF relocations (COFF name: s_relptr)
 
+uint32_t line_number_pointer
 unused (COFF name: s_lnnoptr)
 
+uint16_t relocation_count
 COFF relocation count (COFF name: s_nreloc)
 
+uint16_t line_number_count
 unused (COFF name: s_nlnno)
 
+uint32_t flags
 COFF section flags, determines the type of the section (text, data, bss, etc.) (COFF name: s_flags)
 
+Linker::Writableimage
 The stored image data.
 
+std::vector< Relocation * > relocations
 Collection of COFF relocations.
 
+

Detailed Description

+

A COFF section.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

COFF section flags.

+ + + + +
Enumerator
TEXT 

Section contains executable (COFF name: STYP_TEXT)

+
DATA 

Section contains initialized data (COFF name: STYP_DATA)

+
BSS 

Section contains uninitialized data (COFF name: STYP_BSS)

+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1Symbol-members.html b/html/classCOFF_1_1COFFFormat_1_1Symbol-members.html new file mode 100644 index 00000000..f4101295 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1Symbol-members.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::Symbol Member List
+
+ + + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1Symbol.html b/html/classCOFF_1_1COFFFormat_1_1Symbol.html new file mode 100644 index 00000000..58c7b9f4 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1Symbol.html @@ -0,0 +1,161 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::Symbol Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::Symbol Class Reference
+
+
+ +

A COFF symbol. + More...

+ +

#include <coff.h>

+ + + + + + +

+Public Member Functions

+void Read (Linker::Reader &rd)
 
+bool IsExternal () const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string name
 Symbol name (COFF name: n_name, if it fits inside field)
 
+uint32_t name_index
 The index of the symbol name within the string table, if not stored directly in the entry, 0 otherwise (COFF name: n_name)
 
+uint32_t value
 The actual value of the symbol (COFF name: n_value)
 
+uint16_t section_number
 The number of the section, with special values 0 (N_UNDEF), 1 (N_ABS) and 2 (N_DEBUG) (COFF name: n_scnum)
 
+uint16_t type
 The symbol type (COFF name: n_type)
 
uint8_t storage_class
 COFF name: n_sclass, typical values are 2 (C_EXT), 3 (C_STAT)
 
+uint8_t auxiliary_count
 Signifies how many extra entries are present, these should be skipped, 0 is a typical value (COFF name: n_numaux)
 
+

Detailed Description

+

A COFF symbol.

+

Member Data Documentation

+ +

◆ storage_class

+ +
+
+ + + + +
uint8_t COFF::COFFFormat::Symbol::storage_class
+
+ +

COFF name: n_sclass, typical values are 2 (C_EXT), 3 (C_STAT)

+

The fields storage_class, section_number and value interact in non-obvious ways

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader-members.html b/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader-members.html new file mode 100644 index 00000000..4eacb7be --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader-members.html @@ -0,0 +1,102 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::UnknownOptionalHeader Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::UnknownOptionalHeader, including all inherited members.

+ + + + + + + + + + + + +
buffer (defined in COFF::COFFFormat::UnknownOptionalHeader)COFF::COFFFormat::UnknownOptionalHeader
Dump(COFFFormat &coff, Dumper::Dumper &dump) override (defined in COFF::COFFFormat::UnknownOptionalHeader)COFF::COFFFormat::UnknownOptionalHeadervirtual
GetSize() overrideCOFF::COFFFormat::UnknownOptionalHeadervirtual
Initialize() override (defined in COFF::COFFFormat::UnknownOptionalHeader)COFF::COFFFormat::UnknownOptionalHeadervirtual
PostReadFile(COFFFormat &coff, Linker::Reader &rd)COFF::COFFFormat::OptionalHeadervirtual
PostWriteFile(COFFFormat &coff, Linker::Writer &wr)COFF::COFFFormat::OptionalHeadervirtual
ReadFile(Linker::Reader &rd) override (defined in COFF::COFFFormat::UnknownOptionalHeader)COFF::COFFFormat::UnknownOptionalHeadervirtual
UnknownOptionalHeader(offset_t size) (defined in COFF::COFFFormat::UnknownOptionalHeader)COFF::COFFFormat::UnknownOptionalHeaderinline
WriteFile(Linker::Writer &wr) override (defined in COFF::COFFFormat::UnknownOptionalHeader)COFF::COFFFormat::UnknownOptionalHeadervirtual
~OptionalHeader() (defined in COFF::COFFFormat::OptionalHeader)COFF::COFFFormat::OptionalHeadervirtual
~UnknownOptionalHeader() (defined in COFF::COFFFormat::UnknownOptionalHeader)COFF::COFFFormat::UnknownOptionalHeaderinline
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html b/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html new file mode 100644 index 00000000..28e7224e --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html @@ -0,0 +1,285 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::UnknownOptionalHeader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::UnknownOptionalHeader Class Reference
+
+
+ +

A simplified class to represent an optional header of unknown structure. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::UnknownOptionalHeader:
+
+
+ + +COFF::COFFFormat::OptionalHeader + +
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UnknownOptionalHeader (offset_t size)
 
void Initialize () override
 
uint32_t GetSize () override
 Returns size of optional header.
 
void ReadFile (Linker::Reader &rd) override
 
void WriteFile (Linker::Writer &wr) override
 
void Dump (COFFFormat &coff, Dumper::Dumper &dump) override
 
- Public Member Functions inherited from COFF::COFFFormat::OptionalHeader
virtual void PostReadFile (COFFFormat &coff, Linker::Reader &rd)
 Retrieves any additional data from the file corresponding to this type of optional header.
 
virtual void PostWriteFile (COFFFormat &coff, Linker::Writer &wr)
 Stores any additional data in the file corresponding to this type of optional header.
 
+ + + +

+Public Attributes

+Linker::Bufferbuffer
 
+

Detailed Description

+

A simplified class to represent an optional header of unknown structure.

+

Member Function Documentation

+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void COFFFormat::UnknownOptionalHeader::Dump (COFFFormat & coff,
Dumper::Dumper & dump )
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t COFFFormat::UnknownOptionalHeader::GetSize ()
+
+overridevirtual
+
+ +

Returns size of optional header.

+ +

Implements COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::UnknownOptionalHeader::Initialize ()
+
+overridevirtual
+
+ +

Reimplemented from COFF::COFFFormat::OptionalHeader.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::UnknownOptionalHeader::ReadFile (Linker::Reader & rd)
+
+overridevirtual
+
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::UnknownOptionalHeader::WriteFile (Linker::Writer & wr)
+
+overridevirtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.png b/html/classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.png new file mode 100644 index 0000000000000000000000000000000000000000..7a89780fbb21f6de823bab7cdb93eabd076d17d1 GIT binary patch literal 947 zcmeAS@N?(olHy`uVBq!ia0y~yU=#$h12~w0B&X%ZgFs3;z$e7@|Ns9$=8HF9OZyKk zw=mEwkeGhv#e)YAfa0cS!>oWakZ@F}1Gt=Rso9AQxCBn1J^Cr86n#;>c!kxlKM!`wc7W$mW1c0GyB|@x)pTK2I2pj^inx!aPat4_YV zF8#uGcbd-<)-Rk&TLYt&IqRc>-o{UOvh%N!Qjy#lAr50?%f6(tunAwebK zPL4pOPZsH_n`QUv&MkW*?c(y~THDn1Q@T4WHn01Ce1@PP^XgFNcE?2Jp!8)klQ#pS zZpFWDkL%ACyTz+7G8TDrE9a1*{_eNc)!r(plBE~#%5vTP7FeVGejwX+CI%Go$1K8J5bB-_mNlbx+@lL`&hL2&gME*rOtqrC-;1h zvsVf#TRo3UxX(27a>Os$36CVt?&Z&XGhxyf{?|Xte)Ml*ir`t>*Nfm!ta`}|}g0srga}~;ady0#$PdOZS{6&Y0%OBIfLd zhszQ3*_|#eCtQ@AQj`Q0jV5*o-0jpkz3IlS&-_Ik56)_pJT(VqF9uInKbLh*2~7ak ClAg%` literal 0 HcmV?d00001 diff --git a/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation-members.html b/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation-members.html new file mode 100644 index 00000000..8f4ad295 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation-members.html @@ -0,0 +1,118 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
COFF::COFFFormat::ZilogRelocation Member List
+
+
+ +

This is the complete list of members for COFF::COFFFormat::ZilogRelocation, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addressCOFF::COFFFormat::ZilogRelocation
cpu_type (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocation
dataCOFF::COFFFormat::ZilogRelocation
FillEntry(Dumper::Entry &entry) override (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationvirtual
GetAddress() override (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationvirtual
GetSize() override (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationvirtual
offsetCOFF::COFFFormat::ZilogRelocation
R_Z80_IMM16 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z80_IMM24 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z80_IMM32 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z80_IMM8 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z80_JR (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z80_OFF8 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_CALLR (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_DISP7 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_IMM16 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_IMM32 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_IMM4H (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_IMM4L (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_IMM8 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_JR (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
R_Z8K_REL16 (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationstatic
Read(Linker::Reader &in) (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocation
symbol_indexCOFF::COFFFormat::ZilogRelocation
typeCOFF::COFFFormat::ZilogRelocation
ZilogRelocation(cpu cpu_type) (defined in COFF::COFFFormat::ZilogRelocation)COFF::COFFFormat::ZilogRelocationinline
~Relocation() (defined in COFF::COFFFormat::Relocation)COFF::COFFFormat::Relocationvirtual
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation.html b/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation.html new file mode 100644 index 00000000..af07cc32 --- /dev/null +++ b/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation.html @@ -0,0 +1,285 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::ZilogRelocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
COFF::COFFFormat::ZilogRelocation Class Reference
+
+
+ +

A relocation, as stored by the Z80/Z8000 backend. + More...

+ +

#include <coff.h>

+
+Inheritance diagram for COFF::COFFFormat::ZilogRelocation:
+
+
+ + +COFF::COFFFormat::Relocation + +
+ + + + + + + + + + + + +

+Public Member Functions

ZilogRelocation (cpu cpu_type)
 
+void Read (Linker::Reader &in)
 
offset_t GetAddress () override
 
size_t GetSize () override
 
void FillEntry (Dumper::Entry &entry) override
 
+ + + + + + + + + + + + + + + + + + +

+Public Attributes

+cpu cpu_type
 
+uint32_t address
 Address of the relocation (COFF name: r_vaddr)
 
+uint32_t symbol_index
 Index of symbol in symbol table (COFF name: r_symndx)
 
+uint32_t offset
 (COFF name: r_offset)
 
+uint16_t type
 Type of relocation (COFF name: r_type)
 
+uint16_t data
 unknown (COFF name: r_stuff)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Attributes

+static const uint16_t R_Z80_IMM8 = 0x22
 
+static const uint16_t R_Z80_IMM16 = 0x01
 
+static const uint16_t R_Z80_IMM24 = 0x33
 
+static const uint16_t R_Z80_IMM32 = 0x17
 
+static const uint16_t R_Z80_OFF8 = 0x32
 
+static const uint16_t R_Z80_JR = 0x02
 
+static const uint16_t R_Z8K_IMM4L = 0x23
 
+static const uint16_t R_Z8K_IMM4H = 0x24
 
+static const uint16_t R_Z8K_DISP7 = 0x25
 
+static const uint16_t R_Z8K_IMM8 = 0x22
 
+static const uint16_t R_Z8K_IMM16 = 0x01
 
+static const uint16_t R_Z8K_REL16 = 0x04
 
+static const uint16_t R_Z8K_IMM32 = 0x11
 
+static const uint16_t R_Z8K_JR = 0x02
 
+static const uint16_t R_Z8K_CALLR = 0x05
 
+

Detailed Description

+

A relocation, as stored by the Z80/Z8000 backend.

+

Member Function Documentation

+ +

◆ FillEntry()

+ +
+
+ + + + + +
+ + + + + + + +
void COFFFormat::ZilogRelocation::FillEntry (Dumper::Entry & entry)
+
+overridevirtual
+
+ +

Implements COFF::COFFFormat::Relocation.

+ +
+
+ +

◆ GetAddress()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t COFFFormat::ZilogRelocation::GetAddress ()
+
+overridevirtual
+
+ +

Implements COFF::COFFFormat::Relocation.

+ +
+
+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
size_t COFFFormat::ZilogRelocation::GetSize ()
+
+overridevirtual
+
+ +

Implements COFF::COFFFormat::Relocation.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/coff.h
  • +
  • src/format/coff.cc
  • +
+
+ + + + diff --git a/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation.png b/html/classCOFF_1_1COFFFormat_1_1ZilogRelocation.png new file mode 100644 index 0000000000000000000000000000000000000000..30bc4e85d078a06c75456f37ae75ab08f2d5858d GIT binary patch literal 752 zcmeAS@N?(olHy`uVBq!ia0vp^cY!#7gBeJ!GHK8QQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B-wo-U3d6^w7^KFm9;z|*2H zzH-<1`bS%pRm~<$%XuxLeC?jXk+MIHkN+LrweIzXLtc}bvo1|c@$t2q)U(og*VBK` z)%rggR`=a)TgvP??bPcTq6*)aF@N_-pcSOg`rK+&1pQ#3$CW7k)0^ zx%X3}HP73fOJ0Au>9OtcTC>;Hne%r({CHkUcIvV7FE3r<++}+^e<{m$*WYI!@4F;* z=4j&Fc?)jeCf@MSi2~F-m=$q@BJ>D)*YJ_yY&2q7c*T`mo0m~`_$=qKeudmQ;B>zp-<&- zHrzj+?vo5nZSDd+x`L^p{t7Qc+tmvt+i#z!aK3!^A=@$O*?Hf57&=yYvNIT(zGP5X zrY6g9@Qcz)o0gR<0C@T-+Aw9e^s-Q^=ns>=7{`8l(>1@^(`vnT_%fBhev|zs0Rsr=_q#8r erAE446&KmKO?b-G?g(JoWbkzLb6Mw<&;$S?hJ0)Q literal 0 HcmV?d00001 diff --git a/html/classDOS16M_1_1BWFormat-members.html b/html/classDOS16M_1_1BWFormat-members.html new file mode 100644 index 00000000..68643553 --- /dev/null +++ b/html/classDOS16M_1_1BWFormat-members.html @@ -0,0 +1,207 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DOS16M::BWFormat Member List
+
+
+ +

This is the complete list of members for DOS16M::BWFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
BWFormat() (defined in DOS16M::BWFormat)DOS16M::BWFormatinline
CalculateValues() overrideDOS16M::BWFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
cs (defined in DOS16M::BWFormat)DOS16M::BWFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
debug_info_offset (defined in DOS16M::BWFormat)DOS16M::BWFormat
default_data (defined in DOS16M::BWFormat)DOS16M::BWFormat
default_memory_strategy (defined in DOS16M::BWFormat)DOS16M::BWFormat
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
EXP_FLAG_RELOCATABLE enum value (defined in DOS16M::BWFormat)DOS16M::BWFormat
exp_flag_type enum name (defined in DOS16M::BWFormat)DOS16M::BWFormat
exp_flags (defined in DOS16M::BWFormat)DOS16M::BWFormat
exp_name (defined in DOS16M::BWFormat)DOS16M::BWFormat
ext_reserve (defined in DOS16M::BWFormat)DOS16M::BWFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
file_size (defined in DOS16M::BWFormat)DOS16M::BWFormat
FinishCurrentSegment()Linker::LinkerManager
first_selector (defined in DOS16M::BWFormat)DOS16M::BWFormat
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in DOS16M::BWFormat)DOS16M::BWFormatvirtual
FormatIs16bit() const overrideDOS16M::BWFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideDOS16M::BWFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultDataIndex() (defined in DOS16M::BWFormat)DOS16M::BWFormat
GetDefaultExtension(Linker::Module &module, std::string filename) overrideDOS16M::BWFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in DOS16M::BWFormat)DOS16M::BWFormat
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
ip (defined in DOS16M::BWFormat)DOS16M::BWFormat
Link(Linker::Module &module) (defined in DOS16M::BWFormat)DOS16M::BWFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
max_extra (defined in DOS16M::BWFormat)DOS16M::BWFormat
MeasureRelocations() (defined in DOS16M::BWFormat)DOS16M::BWFormat
min_extra (defined in DOS16M::BWFormat)DOS16M::BWFormat
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
next_header_offset (defined in DOS16M::BWFormat)DOS16M::BWFormat
OnNewSegment(Linker::Segment *segment) overrideDOS16M::BWFormatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
option_force_relocations (defined in DOS16M::BWFormat)DOS16M::BWFormat
OPTION_RELOCATIONS enum value (defined in DOS16M::BWFormat)DOS16M::BWFormat
option_relocations (defined in DOS16M::BWFormat)DOS16M::BWFormat
option_type enum name (defined in DOS16M::BWFormat)DOS16M::BWFormat
options (defined in DOS16M::BWFormat)DOS16M::BWFormat
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
private_xm (defined in DOS16M::BWFormat)DOS16M::BWFormat
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideDOS16M::BWFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
program_size (defined in DOS16M::BWFormat)DOS16M::BWFormat
ReadFile(Linker::Reader &rd) overrideDOS16M::BWFormatvirtual
relocations (defined in DOS16M::BWFormat)DOS16M::BWFormat
relocations_type enum nameDOS16M::BWFormat
RelocationsNone enum value (defined in DOS16M::BWFormat)DOS16M::BWFormat
RelocationsType1 enum value (defined in DOS16M::BWFormat)DOS16M::BWFormat
RelocationsType2 enum value (defined in DOS16M::BWFormat)DOS16M::BWFormat
relocsel (defined in DOS16M::BWFormat)DOS16M::BWFormat
runtime_gdt_length (defined in DOS16M::BWFormat)DOS16M::BWFormat
segment_indices (defined in DOS16M::BWFormat)DOS16M::BWFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
segments (defined in DOS16M::BWFormat)DOS16M::BWFormat
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideDOS16M::BWFormatvirtual
sp (defined in DOS16M::BWFormat)DOS16M::BWFormat
ss (defined in DOS16M::BWFormat)DOS16M::BWFormat
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
transfer_buffer_size (defined in DOS16M::BWFormat)DOS16M::BWFormat
transparent_stack (defined in DOS16M::BWFormat)DOS16M::BWFormat
version (defined in DOS16M::BWFormat)DOS16M::BWFormat
WriteFile(Linker::Writer &wr) overrideDOS16M::BWFormatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classDOS16M_1_1BWFormat.html b/html/classDOS16M_1_1BWFormat.html new file mode 100644 index 00000000..43177e50 --- /dev/null +++ b/html/classDOS16M_1_1BWFormat.html @@ -0,0 +1,795 @@ + + + + + + + +RetroLinker: DOS16M::BWFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DOS16M::BWFormat Class Reference
+
+
+ +

Rational Systems DOS/16M "BW" .exp file. + More...

+ +

#include <bwexp.h>

+
+Inheritance diagram for DOS16M::BWFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZStubWriter +Linker::Format + +
+ + + + + + + + + + +

+Classes

class  AbstractSegment
 
class  DummySegment
 
class  RelocationSegment
 
class  Segment
 
+ + + + + + + + +

+Public Types

enum  relocations_type { RelocationsNone +, RelocationsType1 +, RelocationsType2 + }
 BW .exp files support two versions of relocations.
 
enum  exp_flag_type { EXP_FLAG_RELOCATABLE = 0x0001 + }
 
enum  option_type { OPTION_RELOCATIONS = 0x1000 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
+offset_t MeasureRelocations ()
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
+size_t GetDefaultDataIndex ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+enum DOS16M::BWFormat::relocations_type option_relocations
 
+bool option_force_relocations
 
+enum DOS16M::BWFormat::exp_flag_type exp_flags
 
+enum DOS16M::BWFormat::option_type options
 
+std::map< uint16_t, std::set< uint16_t > > relocations
 
+offset_t file_size
 
+offset_t min_extra
 
+offset_t max_extra
 
+uint16_t ss
 
+uint16_t sp
 
+uint16_t cs
 
+uint16_t ip
 
+uint16_t relocsel
 
+uint16_t runtime_gdt_length
 
+uint16_t version
 
+uint32_t next_header_offset
 
+uint32_t debug_info_offset
 
+uint16_t first_selector
 
+uint32_t private_xm
 
+uint16_t ext_reserve
 
+uint16_t transparent_stack
 
+uint32_t program_size
 
+uint8_t default_memory_strategy
 
+uint16_t transfer_buffer_size
 
+std::string exp_name
 
+std::vector< AbstractSegment * > segments
 
+std::map< Linker::Segment *, size_t > segment_indices
 
+int default_data
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Detailed Description

+

Rational Systems DOS/16M "BW" .exp file.

+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned BWFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatIs16bit()

+ +
+
+ + + + + +
+ + + + + + + +
bool BWFormat::FormatIs16bit () const
+
+overridevirtual
+
+ +

Whether the format is 16-bit or not.

+

This is needed for the ELF parser which can not distinguish between the 8086 and 80386 backends.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool BWFormat::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string BWFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/bwexp.h
  • +
  • src/format/bwexp.cc
  • +
+
+ + + + diff --git a/html/classDOS16M_1_1BWFormat.png b/html/classDOS16M_1_1BWFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0f9b2572af2250f6900d351cc92781f04bf6d6 GIT binary patch literal 2007 zcmcIlX;71C68-|qAVE-;jmTZX3@9kDrCbpNk;tHiV;GX<3m^&-LI@xbZiu5q4p%@_ zjsZjtIm9mr;TRZ50FfKH6C~kMxrsO;_k`?+{+l2BW2^S9>bLuSx~r?ZtKO#*9qepm zkV;4Z0Ay@`wEhVI5FFS}I3Nz+6k{|2R>}@ne#VGIBG_D5S*ND7mY5iv2t1n6yD&XH z4daG=xFXmm74nmv69B)z9%HfW5de_9Zfkx1=Wv7|mzP$EJ_sl~X1^1$x3-e?Qx9jF zFFPjMru;J2?x?wqdRJMj>9)5<2E?bevd^}uo~{ADYo=&b>wHtbAVRIu&d1sBoiz4wi(d08{8fM^l_Za{0z?!EWd^?tv3?e?J!#KBuU*Rj>KQ$#K=DfFSh z$GG~fyVBt=k}0gjsa<4r%X5-Mcsu>LHo?@UaN^P=D_}=ckmsE3)m}I4ca=eai#Jjz zSP^^=l}V+iwWSsAvfh3O>KYsqcJE1h0Q?(GhiARYhrpo9swY9lboZP6RSaF6%y6p3v!M4KZC%!#Wy4c~7b6@?vM}4+!1m zI2`SQQ7?mP^$l<&%a8t0%dp+d7+%o-Sjxzli898TOcGSuDcaYh59wlqwKPWOtvaIT z{g84GoZ8o&huyLUUqd0~@$H_61fQfo_igq|gS=ANBORryoNj^xV>#A+na)>%*xa4D z_VwgH=)Lz7Iu%rWguV^!V+Lo+eIMoen9JTKOeJE7VK?j3gY;Myf5g_Nf+A|;Dtb$F zVpO>B$*y?&`kS2@79l#SRdUh0w}=_z5#_G6sbuYzLU&6a$b&CAbDg-)dA6h6CJhG>b+ z;nJ3Fy2;WwO0V#-AxSqj!pc08uSoIF8RZJ_Zc1vXnaBozOjYOJ;*-IH6Ev^Ti3-Nv zFM?GFuUND3n8`%VAGgii)mFZP38>@iM_~;AT!4JY?R39W?DbLuw*`~$m~YbDE%A#C zAA#Dx&QMd9@I#!rLV6q9yDIkad9w28AZ|?kVV<9+i_*y>avRr_t3=;bVn|QdsS9u zPl-*<)oG9@LBB(ao?~`?hKR@#>cUuLIPc30t7N@%@M%p1Kc5rIx-5L!p zWxsG5C-8SyO|z!%RB5=t(jxf`87I+ZHJB=3J`7_c1q`k#{$_#Gr{`DGgyfkhMJRV`x~t;#0G z0R7>JE4?eryW$4w#i;3X!M-s~bICjySR-Dl_=Zp&v(f&{ihh^e!E%zsZ~aA}+cco% zy|IoxF}lyI)nd_oE6d`Uhli0*WrvZ0>bkAKRZkGXYOfY6ef3TF9Z3ew+)Ui9iijq6 z{rBsUP5xpYK=d8DjHN0}CjWzY$fnaUp!Ij_}sNnvUFJ=>G% z4^T6lc>KJF6udgHve(gjJ=$Fkj_F<-nq-JqOHqdz)1oJlbIDed$Q3^0e7@Mm9^p=z zb$Y{lBJMI6MtzH|#_eU;3z+&N5gPHL#x9?I4;kDX>7Acp_E5rR(;nLJC_-7dO?I<0 zB*~)~o&CoQNX~;OdL25A6duO|L_7(M2@qN>`+tFO@SJFLd5Cxy4Ph_-io0cMl0cd~ z7W}}^?(=MZaWSFLP)70IOZ%;BGW*RHawxo7+P~pdbNj!LZAaC~o@k)Am)2mZc24Jv Se-6BY0b7inHN(o|_J07Cp4^TA literal 0 HcmV?d00001 diff --git a/html/classDOS16M_1_1BWFormat_1_1AbstractSegment-members.html b/html/classDOS16M_1_1BWFormat_1_1AbstractSegment-members.html new file mode 100644 index 00000000..c4313716 --- /dev/null +++ b/html/classDOS16M_1_1BWFormat_1_1AbstractSegment-members.html @@ -0,0 +1,107 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DOS16M::BWFormat::AbstractSegment Member List
+
+
+ +

This is the complete list of members for DOS16M::BWFormat::AbstractSegment, including all inherited members.

+ + + + + + + + + + + + + + + + + +
AbstractSegment(unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0) (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegmentinline
access (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
access_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
address (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
FLAG_EMPTY enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
FLAG_TRANSPARENT enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flag_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flags (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
GetSize()=0DOS16M::BWFormat::AbstractSegmentpure virtual
GetTotalSize()DOS16M::BWFormat::AbstractSegment
SetTotalSize(uint32_t new_value)DOS16M::BWFormat::AbstractSegmentvirtual
total_length (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_CODE enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_DATA enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
WriteContent(Linker::Writer &wr)=0DOS16M::BWFormat::AbstractSegmentpure virtual
WriteHeader(Linker::Writer &wr)DOS16M::BWFormat::AbstractSegment
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1AbstractSegment.html b/html/classDOS16M_1_1BWFormat_1_1AbstractSegment.html new file mode 100644 index 00000000..39860c7f --- /dev/null +++ b/html/classDOS16M_1_1BWFormat_1_1AbstractSegment.html @@ -0,0 +1,246 @@ + + + + + + + +RetroLinker: DOS16M::BWFormat::AbstractSegment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DOS16M::BWFormat::AbstractSegment Class Referenceabstract
+
+
+
+Inheritance diagram for DOS16M::BWFormat::AbstractSegment:
+
+
+ + +DOS16M::BWFormat::DummySegment +DOS16M::BWFormat::RelocationSegment +DOS16M::BWFormat::Segment + +
+ + + + + + +

+Public Types

enum  access_type { TYPE_DATA = 0x92 +, TYPE_CODE = 0x9A + }
 
enum  flag_type { FLAG_EMPTY = 0x2000 +, FLAG_TRANSPARENT = 0x8000 + }
 
+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

AbstractSegment (unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0)
 
+uint32_t GetTotalSize ()
 Retrieves the total size of the segment, including the bss.
 
virtual void SetTotalSize (uint32_t new_value)
 Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work for all segment types.
 
virtual uint32_t GetSize ()=0
 Retrieves size of segment. Some subclasses might calculate this dynamically.
 
virtual void WriteContent (Linker::Writer &wr)=0
 Produces the binary contents of the segment.
 
+void WriteHeader (Linker::Writer &wr)
 Produces the GDT entry for the header.
 
+ + + + + + + + + +

+Public Attributes

+enum DOS16M::BWFormat::AbstractSegment::access_type access
 
+enum DOS16M::BWFormat::AbstractSegment::flag_type flags
 
+uint32_t address
 
+uint32_t total_length
 
+

Member Function Documentation

+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual uint32_t DOS16M::BWFormat::AbstractSegment::GetSize ()
+
+pure virtual
+
+ +

Retrieves size of segment. Some subclasses might calculate this dynamically.

+ +

Implemented in DOS16M::BWFormat::Segment, DOS16M::BWFormat::DummySegment, and DOS16M::BWFormat::RelocationSegment.

+ +
+
+ +

◆ SetTotalSize()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::AbstractSegment::SetTotalSize (uint32_t new_value)
+
+virtual
+
+ +

Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work for all segment types.

+ +

Reimplemented in DOS16M::BWFormat::Segment, DOS16M::BWFormat::DummySegment, and DOS16M::BWFormat::RelocationSegment.

+ +
+
+ +

◆ WriteContent()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void DOS16M::BWFormat::AbstractSegment::WriteContent (Linker::Writer & wr)
+
+pure virtual
+
+ +

Produces the binary contents of the segment.

+ +

Implemented in DOS16M::BWFormat::Segment, DOS16M::BWFormat::DummySegment, and DOS16M::BWFormat::RelocationSegment.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/bwexp.h
  • +
  • src/format/bwexp.cc
  • +
+
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1AbstractSegment.png b/html/classDOS16M_1_1BWFormat_1_1AbstractSegment.png new file mode 100644 index 0000000000000000000000000000000000000000..b7494aa35d4a84cc47807a24a1abdc784a24a48b GIT binary patch literal 1542 zcmb7EYc$kp82=B}rBJqPh-^oa+qf)|W;l{+8VzAwI%CL$m~tt@405Z(x>ZI@k)d3s zNQreB6NWuFOw6u3qou^(os4Ok#n}JY5Bp)y*>m>&@Oz*4eV^ZXp6B;G=S_3LoLAbT zu?GMECDetpt^gnfLbi*%G=y1chDV_7u#1zs%KNDtZ>)~5R5YP9!rQ&UsW zy=AXQDfFfg>56d!p!4psk}4PkfbX(VXYJj|u;s!<>blW>*#bT655k0w$wdwMR85kd z&y$D&VzTtr;-pr1sji7X{)%} zDaM?idafNU%v;2SBST|KR3+qQPeE(sPqDdL^yN@u9=%I#8s_M90v|U=(bgbj9&QAI zPVX-v5x>;bMJ`f7N*Y2uI~seHsUO4z=Qj8y7Y&}Svg*N<%3-j6p>Pr@SKXBjW^l?< z_6<-yXJlE3Jb|l2w03P4cE+IM&u8gy^rF@4I{Zd2L3D{2aj? z_lL?bKTjV?*N(+EGC@kEpI~<7*?o8n_OZ6V(VM1GD3sHxD6b|99HMV$&{Neom4bKs znQ#TOypeJA#BHEp@OwnxW+ZQ-v3~DUL?#nuTA>esHPjo-H(?ktDj|;Sy<+m z5W6|}@<$M*#9bm)!!2_aiHHtlI`^R(VWLY?zuG26K8PRAg)Nz-fM%U!<^Sr@(R+S- z068}7TM-jx4JfmVA;Fc|?1@mg4b)WlZc|NnETVshX(nEc;6nH|f&*dpuKoWoGo1Ay zv~M|z^+bw&FvZH!S&J=iI|d9xsb)^SlvZogJIvOABB~%rfX=sT(q6wJ9M zHvl4(*txYq$TLUDPYEhXo^F$<5?2Fz^^p!y-5^irlZlp)G&~)4-JCf+ zV)RYF2Syzn7^0Ql!N}$HhGD)Ib(1T{o4rvLWPe3?jF=fg2~O61N$B8Y?N!1-iksfh0ZTj-mQ08IDrrX0~CuJ1q)tV(=TU76@ZW=&_k3%2w}NVSB)g zN0?aDBb2M^gJD@hutIc)Ye)Oy+!3&e)*t#3;8K^0SHByC*eOs`1h!<{MnqKdh zLA!RH;#M9qSvEOU-ZAoO2%7np^BbGY4+G_9b9WAz0-JT8IDF(dZ5=^ym;F$!j4DB`|M)}gSV;d406yCcY* z(Z&-mnxc+-QEg5lCKs;f_|&;37_+*lxo4uQ$aIg!gXu)ji?_B_qHa~dn@wu|C>k>( zck)}!;r0e^3MJ80x!S4iw?aIu<|FDFuwJ3pISCJYF&$)10rjQ8C%}NLs0m z6JsUE7 + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DOS16M::BWFormat::DummySegment Member List
+
+
+ +

This is the complete list of members for DOS16M::BWFormat::DummySegment, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
AbstractSegment(unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0) (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegmentinline
access (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
access_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
address (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
DummySegment(uint32_t total_length, unsigned access=TYPE_DATA, unsigned flags=0) (defined in DOS16M::BWFormat::DummySegment)DOS16M::BWFormat::DummySegmentinline
FLAG_EMPTY enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
FLAG_TRANSPARENT enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flag_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flags (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
GetSize() overrideDOS16M::BWFormat::DummySegmentvirtual
GetTotalSize()DOS16M::BWFormat::AbstractSegment
SetTotalSize(uint32_t new_value) overrideDOS16M::BWFormat::DummySegmentvirtual
total_length (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_CODE enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_DATA enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
WriteContent(Linker::Writer &wr) overrideDOS16M::BWFormat::DummySegmentvirtual
WriteHeader(Linker::Writer &wr)DOS16M::BWFormat::AbstractSegment
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1DummySegment.html b/html/classDOS16M_1_1BWFormat_1_1DummySegment.html new file mode 100644 index 00000000..cbb476d4 --- /dev/null +++ b/html/classDOS16M_1_1BWFormat_1_1DummySegment.html @@ -0,0 +1,245 @@ + + + + + + + +RetroLinker: DOS16M::BWFormat::DummySegment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DOS16M::BWFormat::DummySegment Class Reference
+
+
+
+Inheritance diagram for DOS16M::BWFormat::DummySegment:
+
+
+ + +DOS16M::BWFormat::AbstractSegment + +
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

DummySegment (uint32_t total_length, unsigned access=TYPE_DATA, unsigned flags=0)
 
void SetTotalSize (uint32_t new_value) override
 Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work for all segment types.
 
uint32_t GetSize () override
 Retrieves size of segment. Some subclasses might calculate this dynamically.
 
void WriteContent (Linker::Writer &wr) override
 Produces the binary contents of the segment.
 
- Public Member Functions inherited from DOS16M::BWFormat::AbstractSegment
AbstractSegment (unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0)
 
+uint32_t GetTotalSize ()
 Retrieves the total size of the segment, including the bss.
 
+void WriteHeader (Linker::Writer &wr)
 Produces the GDT entry for the header.
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from DOS16M::BWFormat::AbstractSegment
enum  access_type { TYPE_DATA = 0x92 +, TYPE_CODE = 0x9A + }
 
enum  flag_type { FLAG_EMPTY = 0x2000 +, FLAG_TRANSPARENT = 0x8000 + }
 
- Public Attributes inherited from DOS16M::BWFormat::AbstractSegment
+enum DOS16M::BWFormat::AbstractSegment::access_type access
 
+enum DOS16M::BWFormat::AbstractSegment::flag_type flags
 
+uint32_t address
 
+uint32_t total_length
 
+

Member Function Documentation

+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t BWFormat::DummySegment::GetSize ()
+
+overridevirtual
+
+ +

Retrieves size of segment. Some subclasses might calculate this dynamically.

+ +

Implements DOS16M::BWFormat::AbstractSegment.

+ +
+
+ +

◆ SetTotalSize()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::DummySegment::SetTotalSize (uint32_t new_value)
+
+overridevirtual
+
+ +

Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work for all segment types.

+ +

Reimplemented from DOS16M::BWFormat::AbstractSegment.

+ +
+
+ +

◆ WriteContent()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::DummySegment::WriteContent (Linker::Writer & wr)
+
+overridevirtual
+
+ +

Produces the binary contents of the segment.

+ +

Implements DOS16M::BWFormat::AbstractSegment.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/bwexp.h
  • +
  • src/format/bwexp.cc
  • +
+
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1DummySegment.png b/html/classDOS16M_1_1BWFormat_1_1DummySegment.png new file mode 100644 index 0000000000000000000000000000000000000000..4ad2f5701cb31ae10fe14b7a3cb4d9da5b926cf0 GIT binary patch literal 905 zcmV;419tq0P)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0009N zNklQGVF3axffwuU!vb8s+$BZ&a^FP}zc~ zb->w>-wEeHPYo|XDqpa5Z@HS=dtnI;fbsW4` zU;84jC>x0nVq0hT>NmH&`gyyfH5!X0Ob%9IAXxj}xZ;s_7uyA8@Yp6c)|kTr>tTCzqKWtmPR2P&7sT!_FH)xcn@wf8fDEmF}FVWg_w}C>or|-U%mk%gI z$vUSTa@VgnyhLjkmCr1)xF>est+4}TIImx%ETn&W%2)=vyu5j1pL{Q4)WIwk`tBoS zH+Cy!e)qR4VgP|*YoWuL-LU1k>39-EzwBwL@918 zNxsyiB*`3_lq8u$-;~R;EZGGBe_3AukX|1_`StY)m>)s;4fz3>pFufmEC6KDqy&H* znv?*LLz5B!a%fTlKn_hx0LY<92>>}XDFGmdCM5vm(4+)_9Ga8>kVBIa0CH$j0>J;F zQc6iL6iG_1NhwJ=G$|!1hdkv^HEPYSvAq`XQnKqmTKc=EkAZ4X00000NkvXXu0mjf47S8* literal 0 HcmV?d00001 diff --git a/html/classDOS16M_1_1BWFormat_1_1RelocationSegment-members.html b/html/classDOS16M_1_1BWFormat_1_1RelocationSegment-members.html new file mode 100644 index 00000000..a8de83ae --- /dev/null +++ b/html/classDOS16M_1_1BWFormat_1_1RelocationSegment-members.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DOS16M::BWFormat::RelocationSegment Member List
+
+
+ +

This is the complete list of members for DOS16M::BWFormat::RelocationSegment, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
AbstractSegment(unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0) (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegmentinline
access (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
access_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
address (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
bw (defined in DOS16M::BWFormat::RelocationSegment)DOS16M::BWFormat::RelocationSegment
FLAG_EMPTY enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
FLAG_TRANSPARENT enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flag_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flags (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
GetSize() overrideDOS16M::BWFormat::RelocationSegmentvirtual
GetTotalSize()DOS16M::BWFormat::AbstractSegment
index (defined in DOS16M::BWFormat::RelocationSegment)DOS16M::BWFormat::RelocationSegment
RelocationSegment(BWFormat *bw, uint16_t index) (defined in DOS16M::BWFormat::RelocationSegment)DOS16M::BWFormat::RelocationSegmentinline
SetTotalSize(uint32_t new_value) overrideDOS16M::BWFormat::RelocationSegmentvirtual
total_length (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_CODE enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_DATA enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
WriteContent(Linker::Writer &wr) overrideDOS16M::BWFormat::RelocationSegmentvirtual
WriteHeader(Linker::Writer &wr)DOS16M::BWFormat::AbstractSegment
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1RelocationSegment.html b/html/classDOS16M_1_1BWFormat_1_1RelocationSegment.html new file mode 100644 index 00000000..1f6a8f23 --- /dev/null +++ b/html/classDOS16M_1_1BWFormat_1_1RelocationSegment.html @@ -0,0 +1,255 @@ + + + + + + + +RetroLinker: DOS16M::BWFormat::RelocationSegment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DOS16M::BWFormat::RelocationSegment Class Reference
+
+
+
+Inheritance diagram for DOS16M::BWFormat::RelocationSegment:
+
+
+ + +DOS16M::BWFormat::AbstractSegment + +
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

RelocationSegment (BWFormat *bw, uint16_t index)
 
void SetTotalSize (uint32_t new_value) override
 Invalid call, the size of a relocation segment is calculated dynamically and cannot be changed via a call.
 
uint32_t GetSize () override
 Retrieves size of segment. Some subclasses might calculate this dynamically.
 
void WriteContent (Linker::Writer &wr) override
 Produces the binary contents of the segment.
 
- Public Member Functions inherited from DOS16M::BWFormat::AbstractSegment
AbstractSegment (unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0)
 
+uint32_t GetTotalSize ()
 Retrieves the total size of the segment, including the bss.
 
+void WriteHeader (Linker::Writer &wr)
 Produces the GDT entry for the header.
 
+ + + + + + + + + + + + + + +

+Public Attributes

+BWFormatbw
 
+uint16_t index
 
- Public Attributes inherited from DOS16M::BWFormat::AbstractSegment
+enum DOS16M::BWFormat::AbstractSegment::access_type access
 
+enum DOS16M::BWFormat::AbstractSegment::flag_type flags
 
+uint32_t address
 
+uint32_t total_length
 
+ + + + + + +

+Additional Inherited Members

- Public Types inherited from DOS16M::BWFormat::AbstractSegment
enum  access_type { TYPE_DATA = 0x92 +, TYPE_CODE = 0x9A + }
 
enum  flag_type { FLAG_EMPTY = 0x2000 +, FLAG_TRANSPARENT = 0x8000 + }
 
+

Member Function Documentation

+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t BWFormat::RelocationSegment::GetSize ()
+
+overridevirtual
+
+ +

Retrieves size of segment. Some subclasses might calculate this dynamically.

+ +

Implements DOS16M::BWFormat::AbstractSegment.

+ +
+
+ +

◆ SetTotalSize()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::RelocationSegment::SetTotalSize (uint32_t new_value)
+
+overridevirtual
+
+ +

Invalid call, the size of a relocation segment is calculated dynamically and cannot be changed via a call.

+ +

Reimplemented from DOS16M::BWFormat::AbstractSegment.

+ +
+
+ +

◆ WriteContent()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::RelocationSegment::WriteContent (Linker::Writer & wr)
+
+overridevirtual
+
+ +

Produces the binary contents of the segment.

+ +

Implements DOS16M::BWFormat::AbstractSegment.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/bwexp.h
  • +
  • src/format/bwexp.cc
  • +
+
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1RelocationSegment.png b/html/classDOS16M_1_1BWFormat_1_1RelocationSegment.png new file mode 100644 index 0000000000000000000000000000000000000000..07b8050df6192129a1a185d1b3a50be72f49fb07 GIT binary patch literal 924 zcmV;N17rM&P)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0009g zNkliEn1*PXajV*4ABJWY=~OL&y(E{EBVcwnqsYNj^x6 zm?UFs5tC$Wb;RlY*P30UJl1ymts{-TyQ%?6jAeel+H4cd!DwyW>HoyRwb zUAa3Z9&+8zH#~T26P3+AGMUSF|D;wA#BLvdkvNg|>WO{X=<@gnr~1zK*b_K2|MBQP zZ1q&{Wzg=*espTVs8y@f=RA3yZ&ItR_x@8lB__%LRTsa`L5N*~k>s(W>~T#-lKiMZ zruJc3BYput4EcG)t5yR*bS+{4 zh^<8o0I{`*0U)*(F#yEYA_joiTEqYlTZwcUQ}NTa^!!Cjoas8-N{*MTfE^MSYwasl6Y8!65+wxj4O9eJV|YLY`T|~xZh(B zvmaAC-YnBdZ2Je|Rw*aMefOn2zCrBD-7)cy>(hz5{Q9tM$Cg9))ml9eyCwcr;>&qF z5}Q1}c&hJwk9`o%%zrSt4_m9mrnp?H)y2LKqPJ91yS#B + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DOS16M::BWFormat::Segment Member List
+
+
+ +

This is the complete list of members for DOS16M::BWFormat::Segment, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
AbstractSegment(unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0) (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegmentinline
access (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
access_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
address (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
FLAG_EMPTY enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
FLAG_TRANSPARENT enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flag_type enum name (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
flags (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
GetSize() overrideDOS16M::BWFormat::Segmentvirtual
GetTotalSize()DOS16M::BWFormat::AbstractSegment
image (defined in DOS16M::BWFormat::Segment)DOS16M::BWFormat::Segment
Segment(Linker::Segment *segment, unsigned access=TYPE_DATA, unsigned flags=0) (defined in DOS16M::BWFormat::Segment)DOS16M::BWFormat::Segmentinline
SetTotalSize(uint32_t new_value) overrideDOS16M::BWFormat::Segmentvirtual
total_length (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_CODE enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
TYPE_DATA enum value (defined in DOS16M::BWFormat::AbstractSegment)DOS16M::BWFormat::AbstractSegment
WriteContent(Linker::Writer &wr) overrideDOS16M::BWFormat::Segmentvirtual
WriteHeader(Linker::Writer &wr)DOS16M::BWFormat::AbstractSegment
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1Segment.html b/html/classDOS16M_1_1BWFormat_1_1Segment.html new file mode 100644 index 00000000..aa201054 --- /dev/null +++ b/html/classDOS16M_1_1BWFormat_1_1Segment.html @@ -0,0 +1,252 @@ + + + + + + + +RetroLinker: DOS16M::BWFormat::Segment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DOS16M::BWFormat::Segment Class Reference
+
+
+
+Inheritance diagram for DOS16M::BWFormat::Segment:
+
+
+ + +DOS16M::BWFormat::AbstractSegment + +
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Segment (Linker::Segment *segment, unsigned access=TYPE_DATA, unsigned flags=0)
 
void SetTotalSize (uint32_t new_value) override
 Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work for all segment types.
 
uint32_t GetSize () override
 Retrieves size of segment. Some subclasses might calculate this dynamically.
 
void WriteContent (Linker::Writer &wr) override
 Produces the binary contents of the segment.
 
- Public Member Functions inherited from DOS16M::BWFormat::AbstractSegment
AbstractSegment (unsigned access=TYPE_DATA, unsigned flags=0, uint32_t total_length=0)
 
+uint32_t GetTotalSize ()
 Retrieves the total size of the segment, including the bss.
 
+void WriteHeader (Linker::Writer &wr)
 Produces the GDT entry for the header.
 
+ + + + + + + + + + + + +

+Public Attributes

+Linker::Segmentimage
 
- Public Attributes inherited from DOS16M::BWFormat::AbstractSegment
+enum DOS16M::BWFormat::AbstractSegment::access_type access
 
+enum DOS16M::BWFormat::AbstractSegment::flag_type flags
 
+uint32_t address
 
+uint32_t total_length
 
+ + + + + + +

+Additional Inherited Members

- Public Types inherited from DOS16M::BWFormat::AbstractSegment
enum  access_type { TYPE_DATA = 0x92 +, TYPE_CODE = 0x9A + }
 
enum  flag_type { FLAG_EMPTY = 0x2000 +, FLAG_TRANSPARENT = 0x8000 + }
 
+

Member Function Documentation

+ +

◆ GetSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t BWFormat::Segment::GetSize ()
+
+overridevirtual
+
+ +

Retrieves size of segment. Some subclasses might calculate this dynamically.

+ +

Implements DOS16M::BWFormat::AbstractSegment.

+ +
+
+ +

◆ SetTotalSize()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::Segment::SetTotalSize (uint32_t new_value)
+
+overridevirtual
+
+ +

Modifies the total size of the segment, including the bss. Note that this is not guaranteed to work for all segment types.

+ +

Reimplemented from DOS16M::BWFormat::AbstractSegment.

+ +
+
+ +

◆ WriteContent()

+ +
+
+ + + + + +
+ + + + + + + +
void BWFormat::Segment::WriteContent (Linker::Writer & wr)
+
+overridevirtual
+
+ +

Produces the binary contents of the segment.

+ +

Implements DOS16M::BWFormat::AbstractSegment.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/bwexp.h
  • +
  • src/format/bwexp.cc
  • +
+
+ + + + diff --git a/html/classDOS16M_1_1BWFormat_1_1Segment.png b/html/classDOS16M_1_1BWFormat_1_1Segment.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef0dad2023a9437ac69dafeb46ca22364ea21b4 GIT binary patch literal 881 zcmV-%1CIQOP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0008~ zNklM664{vR`TSFq-(^r2hE^kn} zlyy!y#IBuh`0&=oD;rs4GLNtRZjK!&-G2QbWg_j^0>A~gZj%v17eo;=St$+33y{@SaQB>Aekyggr@(ghDm&h+|wSp$tEPZZ+B zlH`|Klq4BLi;^T`=!0_Gwk^5<;2-M&0O9o(l#j+A2jm-Iz6a&Xu>cT7ixL20 zXi)+{3@u6kh@nLZ05P;E0U(AJB>=?Gq6B~#T9g0~LyHmsVrWqUKnyKP0EnSQ2>`#L zlu`;WBuNUcMJY)!v?wJhhOQ_-GgK>fh4NX;?SJiQbmTipI#+AHww?8oq(PUI-%G#K$B~uPo|3XAlzp`%o$1-Qyg}(w);Z-6yOU6nl6ic!B%SFm za_m6q_UlI}O + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DX64::FlatFormat Member List
+
+
+ +

This is the complete list of members for DX64::FlatFormat, including all inherited members.

+ + + + + + + + + +
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
Initialize()Linker::Formatvirtual
ReadFile(Linker::Reader &rd) overrideDX64::FlatFormatvirtual
WriteFile(Linker::Writer &wr) overrideDX64::FlatFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classDX64_1_1FlatFormat.html b/html/classDX64_1_1FlatFormat.html new file mode 100644 index 00000000..422cd376 --- /dev/null +++ b/html/classDX64_1_1FlatFormat.html @@ -0,0 +1,200 @@ + + + + + + + +RetroLinker: DX64::FlatFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DX64::FlatFormat Class Reference
+
+
+ +

CandyMan's DX64 "Flat" executable format. + More...

+ +

#include <dosexe.h>

+
+Inheritance diagram for DX64::FlatFormat:
+
+
+ + +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

CandyMan's DX64 "Flat" executable format.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void DX64::FlatFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void DX64::FlatFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/dosexe.h
  • +
  • src/format/dosexe.cc
  • +
+
+ + + + diff --git a/html/classDX64_1_1FlatFormat.png b/html/classDX64_1_1FlatFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..860a52aa3bb242b549f12fae2ba6bc3cb2cfafd2 GIT binary patch literal 638 zcmV-^0)hRBP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0006B zNklXF&dYo#tNuEZGYdvWjbZSqr*s>x|%@UAL78@$Wg zQ)}PdyGQlsy?a!D-n;d_TkpFs-*=B{#cBC;Y(8xE*c*EHS+Z~> zIY@pBm-{CFu&FKivtzq&3oFMWNuEiuwBxF;C~B@f)!<0-M!Gl(S&6OnaTcb2?T`2T z*rzz_+fH!BzN#>_(*f6AbU(6~BgeKgT>0LOHMI-5Ici5zY6*}_+#X$ste?!2=qg;* zTQ{{!DT!_OT{7d7t7P^&vmf1m;%@F;$8zq4Zf7>h+`Df5XOiS7SvZm$B!3 Y0YD6L(h&f&F#rGn07*qoM6N<$f*mC>`Tzg` literal 0 HcmV?d00001 diff --git a/html/classDX64_1_1LVFormat-members.html b/html/classDX64_1_1LVFormat-members.html new file mode 100644 index 00000000..d036ec68 --- /dev/null +++ b/html/classDX64_1_1LVFormat-members.html @@ -0,0 +1,99 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DX64::LVFormat Member List
+
+
+ +

This is the complete list of members for DX64::LVFormat, including all inherited members.

+ + + + + + + + + +
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
Initialize()Linker::Formatvirtual
ReadFile(Linker::Reader &rd) overrideDX64::LVFormatvirtual
WriteFile(Linker::Writer &wr) overrideDX64::LVFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classDX64_1_1LVFormat.html b/html/classDX64_1_1LVFormat.html new file mode 100644 index 00000000..34ae1634 --- /dev/null +++ b/html/classDX64_1_1LVFormat.html @@ -0,0 +1,200 @@ + + + + + + + +RetroLinker: DX64::LVFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DX64::LVFormat Class Reference
+
+
+ +

CandyMan's DX64 "LV" executable format. + More...

+ +

#include <dosexe.h>

+
+Inheritance diagram for DX64::LVFormat:
+
+
+ + +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

CandyMan's DX64 "LV" executable format.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void DX64::LVFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void DX64::LVFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/dosexe.h
  • +
  • src/format/dosexe.cc
  • +
+
+ + + + diff --git a/html/classDX64_1_1LVFormat.png b/html/classDX64_1_1LVFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d13027103bd31372e1dfa23dd2e09e0889b213 GIT binary patch literal 623 zcmeAS@N?(olHy`uVBq!ia0vp^nLr%C!3-pIHCN{XDd_;85ZC|z{{xvX-h3_XKeXJ! zK(jz%`k5CG9y|bwo1P6@0+iz{3GxeO0P?}WoN4wI1_s7oo-U3d6^w7^zU|XiON-M3#~J#QK=9l&uyws&?*TyRu)MUtp$$ z!NhY?88g?2dH!}Q&iB5!S6x5J{nL(gwRGNDJ=to{?p@nd?JuWbCgMD2$J=Eu&dm#1 zf6epo_bbct4j3Q2;v3j}VvF1vQ;<-@kO!RneTWdlcg4KeRuOD|JPb+&o&;J z=apr*$zz9M=ggnYF_UJ@kT$%{e~EwoiTyuT?U%oJNp7OjmK7#j?J3jG4<*C(oFf{ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DigitalResearch::CPM68KFormat Member List
+
+
+ +

This is the complete list of members for DigitalResearch::CPM68KFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
bss_addressDigitalResearch::CPM68KFormat
bss_segmentDigitalResearch::CPM68KFormat
bss_sizeDigitalResearch::CPM68KFormat
CalculateValues() overrideDigitalResearch::CPM68KFormatvirtual
CDOS68K_WriteRelocations(Linker::Writer &wr, std::map< uint32_t, SizeType > relocations) (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormatinlinestatic
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideDigitalResearch::CPM68KFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
codeDigitalResearch::CPM68KFormat
code_addressDigitalResearch::CPM68KFormat
code_sizeDigitalResearch::CPM68KFormat
CodeSegment()DigitalResearch::CPM68KFormat
CPM68KFormat(system_type system=SYSTEM_UNKNOWN, magic_type magic=MAGIC_CONTIGUOUS) (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormatinline
CreateDefaultSegments() (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
dataDigitalResearch::CPM68KFormat
data_addressDigitalResearch::CPM68KFormat
data_sizeDigitalResearch::CPM68KFormat
DataSegment()DigitalResearch::CPM68KFormat
Dump(Dumper::Dumper &dump) overrideDigitalResearch::CPM68KFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
file_sizeDigitalResearch::CPM68KFormat
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideDigitalResearch::CPM68KFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideDigitalResearch::CPM68KFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormat
GetSignature() const (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormat
Initialize() overrideDigitalResearch::CPM68KFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
MAGIC_CONTIGUOUS enum valueDigitalResearch::CPM68KFormat
MAGIC_CRUNCHED enum valueDigitalResearch::CPM68KFormat
MAGIC_NONCONTIGUOUS enum valueDigitalResearch::CPM68KFormat
magic_type enum nameDigitalResearch::CPM68KFormat
OnNewSegment(Linker::Segment *segment) overrideDigitalResearch::CPM68KFormatvirtual
option_no_relocationDigitalResearch::CPM68KFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideDigitalResearch::CPM68KFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
program_flagsDigitalResearch::CPM68KFormat
ReadFile(Linker::Reader &rd) overrideDigitalResearch::CPM68KFormatvirtual
relocationsDigitalResearch::CPM68KFormat
relocations_suppressedDigitalResearch::CPM68KFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideDigitalResearch::CPM68KFormatvirtual
SetSignature(magic_type magic) (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormat
signatureDigitalResearch::CPM68KFormat
stack_segmentDigitalResearch::CPM68KFormat
stack_sizeDigitalResearch::CPM68KFormat
symbol_table_sizeDigitalResearch::CPM68KFormat
system (defined in DigitalResearch::CPM68KFormat)DigitalResearch::CPM68KFormat
SYSTEM_CDOS68K enum valueDigitalResearch::CPM68KFormat
SYSTEM_CPM68K enum valueDigitalResearch::CPM68KFormat
SYSTEM_GEMDOS enum valueDigitalResearch::CPM68KFormat
SYSTEM_GEMDOS_EARLY enum valueDigitalResearch::CPM68KFormat
SYSTEM_HUMAN68K enum valueDigitalResearch::CPM68KFormat
system_type enum nameDigitalResearch::CPM68KFormat
SYSTEM_UNKNOWN enum valueDigitalResearch::CPM68KFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideDigitalResearch::CPM68KFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classDigitalResearch_1_1CPM68KFormat.html b/html/classDigitalResearch_1_1CPM68KFormat.html new file mode 100644 index 00000000..0fb567de --- /dev/null +++ b/html/classDigitalResearch_1_1CPM68KFormat.html @@ -0,0 +1,876 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM68KFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DigitalResearch::CPM68KFormat Class Reference
+
+
+ +

The native executable format for the Motorola 68000 port of CP/M. + More...

+ +

#include <cpm68k.h>

+
+Inheritance diagram for DigitalResearch::CPM68KFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + +

+Classes

struct  Relocation
 
+ + + + + + + +

+Public Types

enum  magic_type { MAGIC_CONTIGUOUS = 1 +, MAGIC_NONCONTIGUOUS +, MAGIC_CRUNCHED + }
 Represents the magic number at the beginning of the executable file. More...
 
enum  system_type {
+  SYSTEM_UNKNOWN +, SYSTEM_CPM68K +, SYSTEM_GEMDOS_EARLY +, SYSTEM_GEMDOS +,
+  SYSTEM_HUMAN68K +, SYSTEM_CDOS68K +
+ }
 The system which will load the executable. Different systems have different relocation formats and expectations as to what segments should be present. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+magic_type GetSignature () const
 
+void SetSignature (magic_type magic)
 
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
CPM68KFormat (system_type system=SYSTEM_UNKNOWN, magic_type magic=MAGIC_CONTIGUOUS)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
+Linker::SegmentCodeSegment ()
 Return code segment (if it exists)
 
+Linker::SegmentDataSegment ()
 Return data segment (if it exists)
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + +

+Static Public Member Functions

+template<typename SizeType >
static void CDOS68K_WriteRelocations (Linker::Writer &wr, std::map< uint32_t, SizeType > relocations)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+char signature [2]
 The magic number at the beginning of the executable file, one of 0x601A (contiguous), 0x601B (non-contiguous), 0x601C (contiguous with crunched relocations)
 
+uint32_t code_size
 Size of the code/text segment.
 
+uint32_t data_size
 Size of the initialized data segment.
 
+uint32_t bss_size
 Size of the uninitialized data (bss) segment. Human68k includes the stack in it.
 
+uint32_t symbol_table_size
 Size of the symbol table.
 
+uint32_t stack_size
 Size of the stack segment. Only used by Concurrent DOS 68K.
 
+uint32_t code_address
 Load address of the code/text segment. Not used by GEMDOS which stores the program flags at this offset.
 
+uint32_t program_flags
 Program flags, used by GEMDOS.
 
+uint16_t relocations_suppressed
 Set to a non-0 value when relocations are suppressed. Typically this can be 1, but Human68k specifically expects a 0xFFFF, according to documentation.
 
+uint32_t data_address
 Load address of the initialized data segment. Only relevant for non-contiguous executables (CP/M-68K), otherwise it should follow the code/text segment directy.
 
+uint32_t bss_address
 Load address of the uninitialized data (bss) segment. Only relevant for non-contiguous executables (CP/M-68K), otherwise it should follow the initialized data segment directy.
 
+offset_t file_size
 Size of entire file, not used for generation.
 
+Linker::Writablecode
 Storage for code segment.
 
+Linker::Writabledata
 Storage for data segment.
 
+std::map< uint32_t, Relocationrelocations
 Relocations, not used for Human68k.
 
+enum DigitalResearch::CPM68KFormat::system_type system
 
+bool option_no_relocation
 Makes sure no relocations are placed into the output file.
 
+Linker::Segmentbss_segment
 Segment to collect bss.
 
+Linker::Segmentstack_segment
 Segment to collect stack (Concurrent DOS 68K only)
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

The native executable format for the Motorola 68000 port of CP/M.

+

This format was also adopted on the following systems:

    +
  • CP/M-68K .68k contiguous and non-contiguous files
  • +
  • GEMDOS .prg and gem .app files (contiguous only)
  • +
  • Atari TOS .prg, .app, .tos, .ttp, .gtp files (contiguous only)
  • +
  • Concurrent DOS 68K .68k contiguous files with normal or crunched relocations
  • +
  • Human68k .z files with no relocations
  • +
+

Member Enumeration Documentation

+ +

◆ magic_type

+ +
+
+ +

Represents the magic number at the beginning of the executable file.

+ + + + +
Enumerator
MAGIC_CONTIGUOUS 

Contiguous executables (magic value 0x601A in big endian) must load the code, data, bss segments consecutively.

+
MAGIC_NONCONTIGUOUS 

Non-contiguous executables (magic value 0x601B in big endian) can load the code, data, bss segments at non-consecutive addresses, only used by CP/M-68K.

+
MAGIC_CRUNCHED 

Contiguous executables with crunched relocations (magic value 0x601C in big endian), only used by Concurrent DOS 68K.

+
+ +
+
+ +

◆ system_type

+ +
+
+ +

The system which will load the executable. Different systems have different relocation formats and expectations as to what segments should be present.

+ + + + + + + +
Enumerator
SYSTEM_UNKNOWN 

Unknown system: use GEMDOS with no relocations.

+
SYSTEM_CPM68K 

Digital Research CP/M-68K, uses CP/M-68K relocations.

+
SYSTEM_GEMDOS_EARLY 

Digital Research GEMDOS, only contiguous, relocations always present, header is an unusual 0x1E bytes long and most entries are reserved.

+
SYSTEM_GEMDOS 

Digital Research GEMDOS, Atari TOS, only contiguous, text load address field replaced by program fields.

+
SYSTEM_HUMAN68K 

Sharp Corporation & Hudson Soft Human68k .z executable, only contiguous, no relocations or symbol table.

+
SYSTEM_CDOS68K 

Digital Research Concurrent DOS 68K, non-contiguous not allowed, but relocations can be in CP/M-68K format or crunched format, depending on magic number. Header contains separate field for stack size.

+
+ +
+
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::Clear ()
+
+overridevirtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::Dump (Dumper::Dumper & dump)
+
+overridevirtual
+
+ +

Display file contents in a nice manner.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned CPM68KFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void CPM68KFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string CPM68KFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::Initialize ()
+
+overridevirtual
+
+ +

Sets all fields to their default values.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM68KFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/cpm68k.h
  • +
  • src/format/cpm68k.cc
  • +
+
+ + + + diff --git a/html/classDigitalResearch_1_1CPM68KFormat.png b/html/classDigitalResearch_1_1CPM68KFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..0088bee8401892fc3bd8be95d0e1d69d5c81196c GIT binary patch literal 1824 zcmb_dSyYqP7XCxgieO_dB8mjepD&;S8lfC81lTZY7Y znF3LUFeo7)NJLO5L1gJ-3PPwrjS591Ko}|^Knwu_{q0(PyAOT1=V71k?7h#!K6`)P zVfv8W4(vDB4*Gmrld&T;4e%*6^x%&m3e>FN33)Z?ny& z!;hIStw20z)fVgd$WtDh+pu9`NF)vir*5Kk!6bp3x8@TGen%8Mexf_Ixdrn+NlYsF z7%tD8QhN?Y*D;1Zo)1M&Qv;zg3>uU-|phsjx}R}~r5F=|SMt@U?08|ZVYYl9Ax;=YoT z@#RHRt%omNuh7k&(~Am~UGnYY@Ma}yVTI@?2W6_bAN&RW0rb}Y60**Q3kal-^ zMOhi|nO-L*k5=>-k$O$>Sk^P9S2h)0(H}2Kfo&0KZ{^A;#@!U%bNUxmGzmxzvH^6{ z4`I`^MN`R2H|7kqEY3MrFoXEqm^z6Cj{bg z|EGjA;?i8-VdQcGMeMt08Y#`YLeJ?YNPEA5@D2q>3v|d-M;zSc))aev7F;5e8!_wo zsEnDqyJVUwcT0H6;cxY2NTkY&<&Kt0jMhKRd8%1X!;Ygyi*y+!A}H@^u=woCeG}nU zR7aGRG+`o(iye(+eE5iB85^o^c*dJZIB~mQc9n`ci}!8Zwn@#a?T*=Ldecdau>ICp zmPSuCZc;0i*&8$c+|b5E*~bZJ(rNUk4uLpAlJai*eZ$Cum8bK>XmzDV6z*kt3c>u$ z@_MwC(^23y(yrg&)i;=_v)8Y{tLa&=z#pUQXBbu8&3>yrGac8aH>Ok!750%X<@&#B zZf>!${g?T&`r~$y`u>AbkX6C1v_sGJ%#lmTa*IMU4K_BnEbE6yW_KwRMH0J+8%W#2 zH93!D8O5ABJx-9u9LkSx+~zENU)7#dvr#0xbyk?TDyDq-&PZ};DC6!DZk31;YO8Rz z`W}(w^Ir! za;+IHw8{^hxD%@+N9FW+-qN!FP`02WlkPXIywHz(ajL!U9-qHCOyZY$x`p^#i+L7k zDd)#p2HdZQTfy;n=y-7)_7&|ug4iV4eLeSF(>vEIxx>eMJwWjtYI$uTVhh6>@&95W z>Riuc%%tY4#`^l|#8!kb!Wgsgy^8pH*i}e11BxIvYc+ki4>NgiVk)~>tU~m+L3zse+^Pm-Zd#_3o;UZQVw{;RQcS; z-0J)Esx$UNPaio!#!Y><^UmoxPWuY*4y9k^~;Ki623TH5wo z%2*J{yhpRdcrVUz-KS2ok{u{|Zy#QvU@eRlIVAouF|GP)ko)JXxmTXJccVYohY`z7 z=%G%7%9~O`6L~G6%Bp!c1;H9iS~YL%&u9@;&h$r`*VY}1J3@Gq)S()e8`+3QrA?H9 zrPbGnV$#;R!v$(tuQhm=3>Qf!fS^EeAdr=u$>`s=$?7!$@i%pt3aqx5hq&)|J literal 0 HcmV?d00001 diff --git a/html/classDigitalResearch_1_1CPM86Format-members.html b/html/classDigitalResearch_1_1CPM86Format-members.html new file mode 100644 index 00000000..7fba9f49 --- /dev/null +++ b/html/classDigitalResearch_1_1CPM86Format-members.html @@ -0,0 +1,193 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DigitalResearch::CPM86Format Member List
+
+
+ +

This is the complete list of members for DigitalResearch::CPM86Format, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues() overrideDigitalResearch::CPM86Formatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
CheckValidSegmentGroup(unsigned group) (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
Clear() overrideDigitalResearch::CPM86Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CountValidGroups() (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
CPM86Format(format_type format=FORMAT_UNKNOWN) (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Formatinline
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
descriptorsDigitalResearch::CPM86Format
Dump(Dumper::Dumper &dump) overrideDigitalResearch::CPM86Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
fastload_descriptorDigitalResearch::CPM86Format
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offsetDigitalResearch::CPM86Format
FindSegmentGroup(unsigned group) const (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
FinishCurrentSegment()Linker::LinkerManager
FLAG_DIRECT_VIDEO enum valueDigitalResearch::CPM86Format
FLAG_FIXUPS enum valueDigitalResearch::CPM86Format
FLAG_OPTIONAL_8087 enum valueDigitalResearch::CPM86Format
FLAG_REQUIRED_8087 enum valueDigitalResearch::CPM86Format
FLAG_RSX enum valueDigitalResearch::CPM86Format
flagsDigitalResearch::CPM86Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
formatDigitalResearch::CPM86Format
FORMAT_8080 enum valueDigitalResearch::CPM86Format
FORMAT_COMPACT enum valueDigitalResearch::CPM86Format
FORMAT_FLEXOS enum valueDigitalResearch::CPM86Format
FORMAT_SMALL enum valueDigitalResearch::CPM86Format
format_type enum nameDigitalResearch::CPM86Format
FORMAT_UNKNOWN enum valueDigitalResearch::CPM86Format
FormatAdditionalSectionFlags(std::string section_name) const override (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Formatvirtual
FormatIs16bit() const overrideDigitalResearch::CPM86Formatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideDigitalResearch::CPM86Formatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideDigitalResearch::CPM86Formatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideDigitalResearch::CPM86Formatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetFullFileSize() const (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
GetRelocationSizeParas() const (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
GetScript(Linker::Module &module) (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
GetSegmentNumber(Linker::Segment *segment) (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
Initialize() overrideDigitalResearch::CPM86Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
IsFastLoadFormat() const (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
lib_idDigitalResearch::CPM86Format
library_descriptorDigitalResearch::CPM86Format
Link(Linker::Module &module) (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
memory_modelDigitalResearch::CPM86Format
memory_model_t enum nameDigitalResearch::CPM86Format
MODEL_COMPACT enum valueDigitalResearch::CPM86Format
MODEL_DEFAULT enum value (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
MODEL_SMALL enum valueDigitalResearch::CPM86Format
MODEL_TINY enum valueDigitalResearch::CPM86Format
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
option_no_relocationDigitalResearch::CPM86Format
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideDigitalResearch::CPM86Formatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideDigitalResearch::CPM86Formatvirtual
ReadRelocations(Linker::Reader &rd) (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
relocationsDigitalResearch::CPM86Format
relocations_offsetDigitalResearch::CPM86Format
rsx_tableDigitalResearch::CPM86Format
rsx_table_offsetDigitalResearch::CPM86Format
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
Segments() (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideDigitalResearch::CPM86Formatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideDigitalResearch::CPM86Formatvirtual
shared_codeDigitalResearch::CPM86Format
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideDigitalResearch::CPM86Formatvirtual
WriteRelocations(Linker::Writer &wr) (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Format
~CPM86Format() (defined in DigitalResearch::CPM86Format)DigitalResearch::CPM86Formatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format.html b/html/classDigitalResearch_1_1CPM86Format.html new file mode 100644 index 00000000..e7ec5455 --- /dev/null +++ b/html/classDigitalResearch_1_1CPM86Format.html @@ -0,0 +1,984 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DigitalResearch::CPM86Format Class Reference
+
+
+ +

The native file format for 8086 based CP/M derived operating systems, including FlexOS 186/286. + More...

+ +

#include <cpm86.h>

+
+Inheritance diagram for DigitalResearch::CPM86Format:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  Descriptor
 A representation of segment group within the executable. More...
 
class  FastLoadDescriptor
 (FlexOS 286 only) The fast loading group (unimplemented) More...
 
struct  library
 (FlexOS 286 only) A shared runtime library entry in the shared runtime library group More...
 
struct  library_id
 (FlexOS only) A shared runtime library identifier More...
 
class  LibraryDescriptor
 A special descriptor to represent the group for imported shared runtime libraries. More...
 
struct  Relocation
 Represents a single relocation. More...
 
struct  relocation_source
 Represents the location of a 16-bit words that needs to be relocated. More...
 
struct  rsx_record
 Represents an attached RSX file (residential system extension) More...
 
+ + + + + + + + + +

+Public Types

enum  {
+  FLAG_FIXUPS = 0x80 +, FLAG_OPTIONAL_8087 = 0x40 +, FLAG_REQUIRED_8087 = 0x20 +, FLAG_RSX = 0x10 +,
+  FLAG_DIRECT_VIDEO = 0x08 +
+ }
 
enum  format_type {
+  FORMAT_UNKNOWN +, FORMAT_8080 +, FORMAT_SMALL +, FORMAT_COMPACT +,
+  FORMAT_FLEXOS +
+ }
 Describes the number and type of segment groups. More...
 
enum  memory_model_t { MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT + }
 Represents the memory model of the running executable, which is the way in which the segments are set up during execution. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
CPM86Format (format_type format=FORMAT_UNKNOWN)
 
+uint16_t GetRelocationSizeParas () const
 
+size_t CountValidGroups ()
 
+number_t FindSegmentGroup (unsigned group) const
 
+void CheckValidSegmentGroup (unsigned group)
 
+bool IsFastLoadFormat () const
 
+void ReadRelocations (Linker::Reader &rd)
 
+void WriteRelocations (Linker::Writer &wr)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
+offset_t GetFullFileSize () const
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
+std::vector< Linker::Segment * > & Segments ()
 
+unsigned GetSegmentNumber (Linker::Segment *segment)
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Descriptor descriptors [8]
 A .cmd file may contain up to 8 descriptors that describer the segment groups.
 
+LibraryDescriptor library_descriptor
 FlexOS 286 defines a shared runtime library group at offset 0x48.
 
+FastLoadDescriptor fastload_descriptor
 FlexOS 286 defines a fast load segment (unknown name) at offset 0x51.
 
+library_id lib_id
 FlexOS 286 library identifier (for libraries) at offset 0x60.
 
+std::vector< Relocationrelocations
 The sequence of intramodule relocations.
 
+uint32_t relocations_offset
 Offset of relocation records, stored in 128 byte units at offset 0x7D.
 
+rsx_record rsx_table [8]
 Represents a list of attached RSX modules.
 
+uint32_t rsx_table_offset
 The actual RSX table, stored in 128 byte units at offset 0x7B.
 
+uint8_t flags
 Execution flags, stored at offset 0x7F.
 
+uint32_t file_offset
 The start of the image within the file, typically 0 except for embedded modules, usually for embedded RSX files.
 
+enum DigitalResearch::CPM86Format::format_type format
 Format of file to generate.
 
+bool shared_code
 Flag indicating that the code group is shared, not possible in 8080 format.
 
+bool option_no_relocation
 Flag to indicate that relocations must be suppressed.
 
+enum DigitalResearch::CPM86Format::memory_model_t memory_model
 Memory model of generated code, determines how the offsets are calculated within a segment group.
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

The native file format for 8086 based CP/M derived operating systems, including FlexOS 186/286.

+

The current implementation supports 3 memory model formats:

    +
  • 8080 model (also called tiny model for MS-DOS programs)
  • +
  • Small model
  • +
  • Compact model
  • +
  • Preliminary provisions for FlexOS memory models
  • +
+

The format was used on a multitude of Digital Research operating systems, from CP/M-86 and DOS Plus to Multiuser DOS, as well as FlexOS. It supports many special features, such as shared libraries and attachable residential system extensions. These are not currently implemented.

+

Member Enumeration Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + + + + + +
Enumerator
FLAG_FIXUPS 

Set when relocations are present, indicates that the executable is relocatable and needs fixing up before executing.

+
FLAG_OPTIONAL_8087 

Set when the software expects the system to allocate 8087 resources, but it can emulate the missing 8087 coprocessor insturctions if needed.

+
FLAG_REQUIRED_8087 

Set when the software only runs if an 8087 is present. The system will allocate 8087 resources.

+
FLAG_RSX 

Set for residential system extensions (RSX files)

+
FLAG_DIRECT_VIDEO 

Set when the program uses direct video access. Such programs cannot execute in the background.

+
+ +
+
+ +

◆ format_type

+ +
+
+ +

Describes the number and type of segment groups.

+ + + + + + +
Enumerator
FORMAT_UNKNOWN 

Unspecified.

+
FORMAT_8080 

Only a single non-shared code group is present.

+
FORMAT_SMALL 

Only code (possibly shared) and a separate data group is present.

+
FORMAT_COMPACT 

Each non-executable section will have its own group, including stack and up to 4 auxiliary groups.

+
FORMAT_FLEXOS 

Only code (possibly shared), data and a stack segment is present, with postlink or SRTL (unfinished)

+
+ +
+
+ +

◆ memory_model_t

+ +
+
+ +

Represents the memory model of the running executable, which is the way in which the segments are set up during execution.

+ + + + +
Enumerator
MODEL_TINY 

CS=DS=SS=ES, only possible in 8080 mode.

+
MODEL_SMALL 

DS=SS=ES, only possible in 8080 or small mode.

+
MODEL_COMPACT 

DS!=SS!=ES.

+
+ +
+
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::Clear ()
+
+overridevirtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::Dump (Dumper::Dumper & dump)
+
+overridevirtual
+
+ +

Display file contents in a nice manner.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned CPM86Format::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatIs16bit()

+ +
+
+ + + + + +
+ + + + + + + +
bool CPM86Format::FormatIs16bit () const
+
+overridevirtual
+
+ +

Whether the format is 16-bit or not.

+

This is needed for the ELF parser which can not distinguish between the 8086 and 80386 backends.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool CPM86Format::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void CPM86Format::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string CPM86Format::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::Initialize ()
+
+overridevirtual
+
+ +

Sets all fields to their default values.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::SetModel (std::string model)
+
+overridevirtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/cpm86.h
  • +
  • src/format/cpm86.cc
  • +
+
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format.png b/html/classDigitalResearch_1_1CPM86Format.png new file mode 100644 index 0000000000000000000000000000000000000000..c88e6c17c31548ce20df09b92aeb3ef918dcd53d GIT binary patch literal 1791 zcmcIlc{J2(82-)lyER0NA!RUQNVZDaDBCbHYEY)qqEKW>mI&1~qY(`uL+gx&%F>lX zn;1fAv4j>&F=Gs3EHSpRO=j+|{2Mi9*=Pw7J*wCoGqn#wV;XMbYqbq&P3F8?h|km4&ZWZppuj zLzsM8?@Q&DO?uW$%u}S(C>4}Wbb4GqU6Qg}79}aE)R}H>rp5Xl#X7XJ-mWe0_B^g< z|1LyA(faW;#qW7ZHTIbLsW+ZNnbjW-v4+!yO8Irccc&jG>#5u(;=XDQwFW&WE{po0 zGj}=Va~owr8z2uJ!niP+I2e0$eGaoOhO#3N(X;-TIB{yfEBW-p3+^thV+D&GuU;JXqMsbGO zr;8kAJfTvP!GM&1o!#0?LTD4P5t*9x%s1_qS8&++vjbG@O5W=rirW?FrZ?giB3FV6 zyS3^VF^Ol$4|VFkk^TsNx4veU?(gMe4Kun3SL3|- z{>+Ec?V3}~6-Ug4JXcj^-T=?AH$+#JZ;Uh^=?t;|$mrX4>E7Z-ni6_3b>oF6Va*(y z3|UfYfh%(M@sS_*$=K4xaczo?qsbwWh87WykQKb_7&y-DFb2F6- zwG(U}ciA`39`7(&T4$E#DKKn@$TvT_qNVaq_?VqGp6U|JNMXn$m;2xnyw#E|> z0ga2j?t#W>NweZS&X}}PTZg{Ud2d4lD<;+OyYGc+%WhxKF8AGpP@mT%6iy@orV z6rC8_SzK|T%5vc?6JgPc7f@}LG3^(#&osuTF`YBU+lGJtc`gl8I|~-!SQSJE1BYp& zUd2Sxce>!$<7y9mmbX!Ge#W+ znc-A&X;?_@#0JzLtMF=&%sjH0Q=MBh)`FY!g~vdf7F|Hj5(}ZnRUEBbZ~V&4ZY1;u zlvMw+LRGZp4xvY}CCyuo6z@fXPhpAOX{nRWx`oEzNO@75yg*$HUvVKr`@twnm1l+3Sew28+i)=+zY1rM>eDB1rB{S|lgGIA?L1d*m6pFKuQ2 z#)-xt1R-bs!qauQ$t}!Pc&;6RP(|M4jvt2MaNULVXa>Em^!-2eOap|v3Tb^)j45YY VTW3D;wuQbbz{$adP-N#t`xA_=M3n#l literal 0 HcmV?d00001 diff --git a/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor-members.html b/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor-members.html new file mode 100644 index 00000000..570d7dea --- /dev/null +++ b/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor-members.html @@ -0,0 +1,125 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DigitalResearch::CPM86Format::Descriptor Member List
+
+
+ +

This is the complete list of members for DigitalResearch::CPM86Format::Descriptor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActualAuxiliary4 enum valueDigitalResearch::CPM86Format::Descriptor
ActualFixups enum valueDigitalResearch::CPM86Format::Descriptor
attach_zero_pageDigitalResearch::CPM86Format::Descriptor
Auxiliary1 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary2 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary3 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary4 enum valueDigitalResearch::CPM86Format::Descriptor
Clear() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorvirtual
Code enum valueDigitalResearch::CPM86Format::Descriptor
Data enum valueDigitalResearch::CPM86Format::Descriptor
Descriptor() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorinline
Extra enum valueDigitalResearch::CPM86Format::Descriptor
FastLoad enum valueDigitalResearch::CPM86Format::Descriptor
Fixups enum valueDigitalResearch::CPM86Format::Descriptor
GetDefaultName() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
GetSizeParas() constDigitalResearch::CPM86Format::Descriptorvirtual
group_type enum nameDigitalResearch::CPM86Format::Descriptor
imageDigitalResearch::CPM86Format::Descriptor
Initialize() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorvirtual
Libraries enum valueDigitalResearch::CPM86Format::Descriptor
load_segmentDigitalResearch::CPM86Format::Descriptor
max_size_parasDigitalResearch::CPM86Format::Descriptor
min_size_parasDigitalResearch::CPM86Format::Descriptor
offsetDigitalResearch::CPM86Format::Descriptor
ReadData(Linker::Reader &rd) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorvirtual
ReadDescriptor(Linker::Reader &rd) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
SharedCode enum valueDigitalResearch::CPM86Format::Descriptor
size_parasDigitalResearch::CPM86Format::Descriptor
Stack enum valueDigitalResearch::CPM86Format::Descriptor
typeDigitalResearch::CPM86Format::Descriptor
Undefined enum valueDigitalResearch::CPM86Format::Descriptor
WriteData(Linker::Writer &wr) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorvirtual
WriteDescriptor(Linker::Writer &wr) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
~Descriptor() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorinline
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor.html b/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor.html new file mode 100644 index 00000000..bb20ed64 --- /dev/null +++ b/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor.html @@ -0,0 +1,304 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::Descriptor Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DigitalResearch::CPM86Format::Descriptor Class Reference
+
+
+ +

A representation of segment group within the executable. + More...

+ +

#include <cpm86.h>

+
+Inheritance diagram for DigitalResearch::CPM86Format::Descriptor:
+
+
+ + +DigitalResearch::CPM86Format::FastLoadDescriptor +DigitalResearch::CPM86Format::LibraryDescriptor + +
+ + + + + +

+Public Types

enum  group_type {
+  Undefined +, Code = 1 +, Data +, Extra +,
+  Stack +, Auxiliary1 +, Auxiliary2 +, Auxiliary3 +,
+  Auxiliary4 +, SharedCode +, Fixups = Auxiliary4 +, FastLoad = 0xFE +,
+  Libraries = 0xFF +, ActualAuxiliary4 = 0x100 | Auxiliary4 +, ActualFixups = 0x200 | Fixups +
+ }
 Reference back to the main module. More...
 
+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

+virtual void Initialize ()
 
+virtual void Clear ()
 
virtual uint16_t GetSizeParas () const
 Returns the size of the segment group in 16-byte paragraphs.
 
+void ReadDescriptor (Linker::Reader &rd)
 
+void WriteDescriptor (Linker::Writer &wr)
 
+virtual void WriteData (Linker::Writer &wr)
 
+std::string GetDefaultName ()
 
+virtual void ReadData (Linker::Reader &rd)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+group_type type
 The type of the group.
 
+uint16_t size_paras
 Size of the group, as stored on disk, in 16-byte paragraphs.
 
+uint16_t load_segment
 Load segment address of the group, or 0 if it can be relocated. Not to be used outside of system drivers.
 
+uint16_t min_size_paras
 Minimum required size of the group, when loaded into memory, in 16-byte paragraphs.
 
+uint16_t max_size_paras
 Maximum required size of the group, when loaded into memory, in 16-byte paragraphs.
 
uint32_t offset
 Offset to image in file.
 
+Linker::Writableimage
 The actual binary image of the group.
 
+bool attach_zero_page
 Set to true if a supplementary 256 bytes of zeros are required. When generating image, it is easier to just insert 256 bytes of 0 instead of modifying the image. This is not required when storing a file loaded from disk.
 
+

Detailed Description

+

A representation of segment group within the executable.

+

CMD files begin with up to 8 9-byte group descriptors (with two special group descriptors following for FlexOS 286) that identify segment groups within the file. Each segment group has a type (code, data, stack, etc.), a size of stored data, a minimum and maximum memory requirement, as well an optional loading address, all of which are expressed in paragraphs (16-byte units). The UNIX text, data, bss segments are usually stored as a single code and data segment, with the data segment containing the bss as part of its minimum memory requirement.

+

Aside from the typical segment groups, some system versions (particularly FlexOS 286) support certain specialized segment groups. Relocations are usually stored in the file at a 128-byte boundary, but their presence can be represented as a special segment group.

+

Another specialized segment group allows executables to reference shared runtime libraries. The segment descriptor is stored at a special offset, and the segment group stores a sequence of library identifiers (name, version, flags), together with a number of relocations referencing the segment base of the shared library.

+

It is also possible to include a segment group for faster loading, however this is not yet fully supported.

+

Member Enumeration Documentation

+ +

◆ group_type

+ +
+
+ +

Reference back to the main module.

+

Group type, stored as the first byte of the descriptor

+ + + + + + + + + + + + + + + + +
Enumerator
Undefined 

This group type is not the type of an actual group. Instead, it signals the end of the group descriptor table.

+
Code 

A group containing executable instructions, the starting segment will be loaded into CS. Unlike SharedCode, this segment cannot be shared between different instances.

+
Data 

A group containing data, the starting segment will be loaded into DS.

+
Extra 

A group containing data, the starting semgnet will be loaded into ES.

+
Stack 

A group describing the stack data. Unlike the other associated segments, SS does not point to it at the start of code execution.

+
Auxiliary1 

A group containing data.

+
Auxiliary2 

A group containing data.

+
Auxiliary3 

A group containing data.

+
Auxiliary4 

A group containing data. The group type was later repurposed to represent the relocations in a file. This can refer to either.

+
SharedCode 

A group containing executable instructions, the starting segment will be loaded into CS. This segment can be shared between different instances.

+
Fixups 

(FlexOS 286 only) The group containing the relocations. Not required, since the offset to the relocations is also stored at offset 0x7D in the header, in 128-byte units

+
FastLoad 

(FlexOS 286 only) The fast load group descriptor is stored at offset 0x51 in the header, and the group data appears before the other groups. Not implemented, no documentation

+
Libraries 

(FlexOS 286 only) The shared runtime library group descriptor is stored at offset 0x48 in the header, and the group data appears before the other groups. Not tested

+
ActualAuxiliary4 

A group containing data, used when it is clear this is an auxiliary group.

+
ActualFixups 

(FlexOS 286 only) The group containing the relocations, used when it is clear this is a fixup group

+
+ +
+
+

Member Function Documentation

+ +

◆ GetSizeParas()

+ +
+
+ + + + + +
+ + + + + + + +
uint16_t CPM86Format::Descriptor::GetSizeParas () const
+
+virtual
+
+ +

Returns the size of the segment group in 16-byte paragraphs.

+ +

Reimplemented in DigitalResearch::CPM86Format::LibraryDescriptor, and DigitalResearch::CPM86Format::FastLoadDescriptor.

+ +
+
+

Member Data Documentation

+ +

◆ offset

+ +
+
+ + + + +
uint32_t DigitalResearch::CPM86Format::Descriptor::offset
+
+ +

Offset to image in file.

+

This value is not actually stored on disk. Instead, it can be determined from the lengths of the segments preceding it in the descriptor arrays. The first group is stored at offset 0x80, the next one at the paragraph boundary, and so on.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/cpm86.h
  • +
  • src/format/cpm86.cc
  • +
+
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor.png b/html/classDigitalResearch_1_1CPM86Format_1_1Descriptor.png new file mode 100644 index 0000000000000000000000000000000000000000..26956482f6f539754b8e3cb74fc4fae0c538d06e GIT binary patch literal 1618 zcmb_cYdF+t6#vU6iONPvxlL0xx78MtE@P8RvkcZYgP}(9uZ9_k^cW;%TZ1Sgml-k1 zM9jJk#{H5o%!SRhY21^UiOJ>`rR?86&wkzgvhRm;&inhl=REKEo%ea;T%8@%RJ2t9 z08m4nv2_E04MZq*RaS&-3Q;75+#Xk_vvzB1YfvbiSq#13l7H0vV31b2Ksq)y2H_S$ zEED23Uw3o<1%UQ{FT{q-J^Ji@Wf(F)Sb@f34)_54yI5aYq2Q06@>qfeQ5*|w5R_B89K znZhPcq^bFA=kHX%rps3{@5mwca%aCv$b~1*pkc5i0^JOeAIoI%Yo6Nq2mMKpT&X7Y z$51FC>t&Ka@v3gXeAg{@Em&(ctCwzlBO#*A3^t+ZB0BaHn+S|Pw-U`E7`kikd+oF1 z=F)|SUxpxgb)ZV*>Tm}3Jbyrdlf^k&$tFWA`IxJN4+8~=RE)jtjIRh#l2J+546e2{ z_0z&}g_ATGuPAGLrvYPH^5UWYO|(lrUK|#B(w0sS-k7-y23snF`di>(k5iGj?8(Ay z=ekgPVp%Ij1*wKDxUNs85p6^v7ew1_T-;H}hQTb?k4M^YxZIMdyLPdk9=rMBIT9p| z6YTr+z5O9lKL(wqHg@ZxH%AUuWcj_Wk-|iD%S8c)z6{CsF~pfOQNFi>v$!%C-nVt8 zX2DamgsYq`2NjodoJ>1RQKTUS6IOyItG1>mDyLCynYC<>Cqq$s@dH^C#g06s=%bbj(RBJ;cqksvNqxV5YtyZ?3?ISLfqY_N|8{pcrJ8 z2IY7sfe@Jv)%`aZsxQA$M-$6$OmAui9<|0PsE$j4@E~8{^wDF{x{tJ)w z{MTGX>GS`cwno&Fvn7lUQnqBpa6&po&W`m-gYQG-e+QZFGyO1p)Pa@&@MrvBE!M(Z_wW<<(In?C7VBr`A4^Y}uUf$UvyAR$?MZ~X!M z2+_OWv|z|NH1}O4(_fq{N6#O3{#}+0C(Zp(f#nD5_ZLl{g$53ZK@NJ;cs_MB`@rCAy=u6b4L>!>$kFKl|4Js zgL^t9`d$|2i>Id1iQOM(mi9H6G(DRU-6qb`@$Z8$Kh}QOViRE??n$rLT*F>|cL5U` zMdcOg9+`hjF{}j3s^%>8r1U28yFlSMtFK z4ZN)OdOq@5ZM7b@pnYI$WR`>xv?Dt97g^&QS-hee8B8>y-^9tB{`o`aA6-07gK9+# zQ^#@F-Tn$s3nb3IDz8a67?nkweSq&3;_5NgiaDfCYz0y|fVG-Pt1=>epHPxg--w=&0%}y1VB?7bExfREL6$ zU{^`IW5Y*QcUwUt&g7fpUpmU|aVGIwO8g?aSK}=jrI$Pf^KyoAQ8L=CvR??7xs;85 z(GkHh;@QsGNS7pBAdiy`?3cNGI4Fw3MCs`4rkbMfP!}9lh6GCqbJMbp3?kJJP7rp2 xXQ}s?zUBY@x|R*aC%VgN5;D@k;Gc+lONDuoe&WJf0QCC + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DigitalResearch::CPM86Format::FastLoadDescriptor Member List
+
+
+ +

This is the complete list of members for DigitalResearch::CPM86Format::FastLoadDescriptor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActualAuxiliary4 enum valueDigitalResearch::CPM86Format::Descriptor
ActualFixups enum valueDigitalResearch::CPM86Format::Descriptor
attach_zero_pageDigitalResearch::CPM86Format::Descriptor
Auxiliary1 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary2 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary3 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary4 enum valueDigitalResearch::CPM86Format::Descriptor
Clear() override (defined in DigitalResearch::CPM86Format::FastLoadDescriptor)DigitalResearch::CPM86Format::FastLoadDescriptorvirtual
Code enum valueDigitalResearch::CPM86Format::Descriptor
Data enum valueDigitalResearch::CPM86Format::Descriptor
Descriptor() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorinline
Extra enum valueDigitalResearch::CPM86Format::Descriptor
FastLoad enum valueDigitalResearch::CPM86Format::Descriptor
first_free_entryDigitalResearch::CPM86Format::FastLoadDescriptor
first_used_indexDigitalResearch::CPM86Format::FastLoadDescriptor
Fixups enum valueDigitalResearch::CPM86Format::Descriptor
GetDefaultName() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
GetSizeParas() const overrideDigitalResearch::CPM86Format::FastLoadDescriptorvirtual
group_type enum nameDigitalResearch::CPM86Format::Descriptor
imageDigitalResearch::CPM86Format::Descriptor
index_baseDigitalResearch::CPM86Format::FastLoadDescriptor
Initialize() override (defined in DigitalResearch::CPM86Format::FastLoadDescriptor)DigitalResearch::CPM86Format::FastLoadDescriptorvirtual
ldt (defined in DigitalResearch::CPM86Format::FastLoadDescriptor)DigitalResearch::CPM86Format::FastLoadDescriptor
Libraries enum valueDigitalResearch::CPM86Format::Descriptor
load_segmentDigitalResearch::CPM86Format::Descriptor
max_size_parasDigitalResearch::CPM86Format::Descriptor
maximum_entriesDigitalResearch::CPM86Format::FastLoadDescriptor
min_size_parasDigitalResearch::CPM86Format::Descriptor
offsetDigitalResearch::CPM86Format::Descriptor
ReadData(Linker::Reader &rd) override (defined in DigitalResearch::CPM86Format::FastLoadDescriptor)DigitalResearch::CPM86Format::FastLoadDescriptorvirtual
ReadDescriptor(Linker::Reader &rd) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
SharedCode enum valueDigitalResearch::CPM86Format::Descriptor
size_parasDigitalResearch::CPM86Format::Descriptor
Stack enum valueDigitalResearch::CPM86Format::Descriptor
typeDigitalResearch::CPM86Format::Descriptor
Undefined enum valueDigitalResearch::CPM86Format::Descriptor
WriteData(Linker::Writer &wr) override (defined in DigitalResearch::CPM86Format::FastLoadDescriptor)DigitalResearch::CPM86Format::FastLoadDescriptorvirtual
WriteDescriptor(Linker::Writer &wr) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
~Descriptor() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorinline
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html b/html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html new file mode 100644 index 00000000..d4529151 --- /dev/null +++ b/html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html @@ -0,0 +1,362 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::FastLoadDescriptor Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DigitalResearch::CPM86Format::FastLoadDescriptor Class Reference
+
+
+ +

(FlexOS 286 only) The fast loading group (unimplemented) + More...

+ +

#include <cpm86.h>

+
+Inheritance diagram for DigitalResearch::CPM86Format::FastLoadDescriptor:
+
+
+ + +DigitalResearch::CPM86Format::Descriptor + +
+ + + + +

+Classes

struct  ldt_descriptor
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Initialize () override
 
void Clear () override
 
uint16_t GetSizeParas () const override
 Returns the size of the segment group in 16-byte paragraphs.
 
void WriteData (Linker::Writer &wr) override
 
void ReadData (Linker::Reader &rd) override
 
- Public Member Functions inherited from DigitalResearch::CPM86Format::Descriptor
+void ReadDescriptor (Linker::Reader &rd)
 
+void WriteDescriptor (Linker::Writer &wr)
 
+std::string GetDefaultName ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint16_t maximum_entries
 Maximum allowed LDT entries.
 
+uint16_t first_free_entry
 First free entry in LDT after last filled entry.
 
+uint16_t index_base
 The index base.
 
+uint16_t first_used_index
 First used index.
 
+std::vector< ldt_descriptorldt
 
- Public Attributes inherited from DigitalResearch::CPM86Format::Descriptor
+group_type type
 The type of the group.
 
+uint16_t size_paras
 Size of the group, as stored on disk, in 16-byte paragraphs.
 
+uint16_t load_segment
 Load segment address of the group, or 0 if it can be relocated. Not to be used outside of system drivers.
 
+uint16_t min_size_paras
 Minimum required size of the group, when loaded into memory, in 16-byte paragraphs.
 
+uint16_t max_size_paras
 Maximum required size of the group, when loaded into memory, in 16-byte paragraphs.
 
uint32_t offset
 Offset to image in file.
 
+Linker::Writableimage
 The actual binary image of the group.
 
+bool attach_zero_page
 Set to true if a supplementary 256 bytes of zeros are required. When generating image, it is easier to just insert 256 bytes of 0 instead of modifying the image. This is not required when storing a file loaded from disk.
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from DigitalResearch::CPM86Format::Descriptor
enum  group_type {
+  Undefined +, Code = 1 +, Data +, Extra +,
+  Stack +, Auxiliary1 +, Auxiliary2 +, Auxiliary3 +,
+  Auxiliary4 +, SharedCode +, Fixups = Auxiliary4 +, FastLoad = 0xFE +,
+  Libraries = 0xFF +, ActualAuxiliary4 = 0x100 | Auxiliary4 +, ActualFixups = 0x200 | Fixups +
+ }
 Reference back to the main module. More...
 
+

Detailed Description

+

(FlexOS 286 only) The fast loading group (unimplemented)

+

Member Function Documentation

+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::FastLoadDescriptor::Clear ()
+
+overridevirtual
+
+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+ +

◆ GetSizeParas()

+ +
+
+ + + + + +
+ + + + + + + +
uint16_t CPM86Format::FastLoadDescriptor::GetSizeParas () const
+
+overridevirtual
+
+ +

Returns the size of the segment group in 16-byte paragraphs.

+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::FastLoadDescriptor::Initialize ()
+
+overridevirtual
+
+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+ +

◆ ReadData()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::FastLoadDescriptor::ReadData (Linker::Reader & rd)
+
+overridevirtual
+
+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+ +

◆ WriteData()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::FastLoadDescriptor::WriteData (Linker::Writer & wr)
+
+overridevirtual
+
+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/cpm86.h
  • +
  • src/format/cpm86.cc
  • +
+
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.png b/html/classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.png new file mode 100644 index 0000000000000000000000000000000000000000..18cde0dea1f1f7c8ca852e44b376b575028721d2 GIT binary patch literal 1149 zcmeAS@N?(olHy`uVBq!ia0y~yU^E1>12~w0q+7}+K_Dd^;1lBd|Nnm=^TnI5rTvGN zTNr2-NK8NT;=zLlKylNvVM~B=oFzei!3;n?7??B7zQVx3!r|%S7*fIbcJAwy8m+Pd!bF22@o6=#*oB?@knn( zZ=GMxiTOs!Wy?#p?O7GKzE(^AT7Q+kXOXu0Mwx)zySJ|-3m*~iNV$J3=5)yI!aavg zk8eHmLn2xy_j~1sl~o&L6i)8_b0lX$>eDjTulK&)-1uYnzDlbk=EU8n&dt1f@|kfC6O(hrLX5U zd@(+|wa8*>dFO`d_tu3?i^)@6!Z+bb9QzTES>LLHCjHU=GBaS#k#j=RRsM7RW!N}r zkIGN`3;qJiC-1Mt2yE-MS%fRWY!0F|a9x%O}twN+1nVCJGGi2p!a$e^=*66<4`s+m5ks^n!rTM}A zz5>n)p0(1&y1}`}KbGBN8#WN@ij07k^w`8Ke5B=w@)z<;L&#lP@n?9ktWs z4^z_f?>F+EJyqSK7?#(vFRX0q^Ce-kn#>mF?G>I-w`^w^-||m-g2|32V~_qW3%_yk zox!`T)RX_i%3d`ns-4{8yItik+uOtOLYtp^PO6(b=ZKe**CqX_(`Tr(s$_2o vN~OpVm6MAV)I8<(3VUlV4e-*O`%=E5`RAT1lN_f33kn8LS3j3^P6 + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DigitalResearch::CPM86Format::LibraryDescriptor Member List
+
+
+ +

This is the complete list of members for DigitalResearch::CPM86Format::LibraryDescriptor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActualAuxiliary4 enum valueDigitalResearch::CPM86Format::Descriptor
ActualFixups enum valueDigitalResearch::CPM86Format::Descriptor
attach_zero_pageDigitalResearch::CPM86Format::Descriptor
Auxiliary1 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary2 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary3 enum valueDigitalResearch::CPM86Format::Descriptor
Auxiliary4 enum valueDigitalResearch::CPM86Format::Descriptor
Clear() override (defined in DigitalResearch::CPM86Format::LibraryDescriptor)DigitalResearch::CPM86Format::LibraryDescriptorvirtual
Code enum valueDigitalResearch::CPM86Format::Descriptor
Data enum valueDigitalResearch::CPM86Format::Descriptor
Descriptor() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorinline
Extra enum valueDigitalResearch::CPM86Format::Descriptor
FastLoad enum valueDigitalResearch::CPM86Format::Descriptor
Fixups enum valueDigitalResearch::CPM86Format::Descriptor
GetDefaultName() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
GetSizeParas() const overrideDigitalResearch::CPM86Format::LibraryDescriptorvirtual
group_type enum nameDigitalResearch::CPM86Format::Descriptor
imageDigitalResearch::CPM86Format::Descriptor
Initialize() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorvirtual
IsFastLoadFormat() constDigitalResearch::CPM86Format::LibraryDescriptor
librariesDigitalResearch::CPM86Format::LibraryDescriptor
Libraries enum valueDigitalResearch::CPM86Format::Descriptor
load_segmentDigitalResearch::CPM86Format::Descriptor
max_size_parasDigitalResearch::CPM86Format::Descriptor
min_size_parasDigitalResearch::CPM86Format::Descriptor
offsetDigitalResearch::CPM86Format::Descriptor
ReadData(Linker::Reader &rd) override (defined in DigitalResearch::CPM86Format::LibraryDescriptor)DigitalResearch::CPM86Format::LibraryDescriptorvirtual
ReadDescriptor(Linker::Reader &rd) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
SharedCode enum valueDigitalResearch::CPM86Format::Descriptor
size_parasDigitalResearch::CPM86Format::Descriptor
Stack enum valueDigitalResearch::CPM86Format::Descriptor
typeDigitalResearch::CPM86Format::Descriptor
Undefined enum valueDigitalResearch::CPM86Format::Descriptor
WriteData(Linker::Writer &wr) override (defined in DigitalResearch::CPM86Format::LibraryDescriptor)DigitalResearch::CPM86Format::LibraryDescriptorvirtual
WriteDescriptor(Linker::Writer &wr) (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptor
~Descriptor() (defined in DigitalResearch::CPM86Format::Descriptor)DigitalResearch::CPM86Format::Descriptorinline
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html b/html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html new file mode 100644 index 00000000..2eda6533 --- /dev/null +++ b/html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html @@ -0,0 +1,319 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::LibraryDescriptor Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DigitalResearch::CPM86Format::LibraryDescriptor Class Reference
+
+
+ +

A special descriptor to represent the group for imported shared runtime libraries. + More...

+ +

#include <cpm86.h>

+
+Inheritance diagram for DigitalResearch::CPM86Format::LibraryDescriptor:
+
+
+ + +DigitalResearch::CPM86Format::Descriptor + +
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void Clear () override
 
+bool IsFastLoadFormat () const
 Support the newer POSTLINK format.
 
uint16_t GetSizeParas () const override
 Returns the size of the segment group in 16-byte paragraphs.
 
void WriteData (Linker::Writer &wr) override
 
void ReadData (Linker::Reader &rd) override
 
- Public Member Functions inherited from DigitalResearch::CPM86Format::Descriptor
+virtual void Initialize ()
 
+void ReadDescriptor (Linker::Reader &rd)
 
+void WriteDescriptor (Linker::Writer &wr)
 
+std::string GetDefaultName ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::vector< librarylibraries
 The shared runtime libraries to be imported.
 
- Public Attributes inherited from DigitalResearch::CPM86Format::Descriptor
+group_type type
 The type of the group.
 
+uint16_t size_paras
 Size of the group, as stored on disk, in 16-byte paragraphs.
 
+uint16_t load_segment
 Load segment address of the group, or 0 if it can be relocated. Not to be used outside of system drivers.
 
+uint16_t min_size_paras
 Minimum required size of the group, when loaded into memory, in 16-byte paragraphs.
 
+uint16_t max_size_paras
 Maximum required size of the group, when loaded into memory, in 16-byte paragraphs.
 
uint32_t offset
 Offset to image in file.
 
+Linker::Writableimage
 The actual binary image of the group.
 
+bool attach_zero_page
 Set to true if a supplementary 256 bytes of zeros are required. When generating image, it is easier to just insert 256 bytes of 0 instead of modifying the image. This is not required when storing a file loaded from disk.
 
+ + + + + +

+Additional Inherited Members

- Public Types inherited from DigitalResearch::CPM86Format::Descriptor
enum  group_type {
+  Undefined +, Code = 1 +, Data +, Extra +,
+  Stack +, Auxiliary1 +, Auxiliary2 +, Auxiliary3 +,
+  Auxiliary4 +, SharedCode +, Fixups = Auxiliary4 +, FastLoad = 0xFE +,
+  Libraries = 0xFF +, ActualAuxiliary4 = 0x100 | Auxiliary4 +, ActualFixups = 0x200 | Fixups +
+ }
 Reference back to the main module. More...
 
+

Detailed Description

+

A special descriptor to represent the group for imported shared runtime libraries.

+

Member Function Documentation

+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::LibraryDescriptor::Clear ()
+
+overridevirtual
+
+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+ +

◆ GetSizeParas()

+ +
+
+ + + + + +
+ + + + + + + +
uint16_t CPM86Format::LibraryDescriptor::GetSizeParas () const
+
+overridevirtual
+
+ +

Returns the size of the segment group in 16-byte paragraphs.

+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+ +

◆ ReadData()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::LibraryDescriptor::ReadData (Linker::Reader & rd)
+
+overridevirtual
+
+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+ +

◆ WriteData()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM86Format::LibraryDescriptor::WriteData (Linker::Writer & wr)
+
+overridevirtual
+
+ +

Reimplemented from DigitalResearch::CPM86Format::Descriptor.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/cpm86.h
  • +
  • src/format/cpm86.cc
  • +
+
+ + + + diff --git a/html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.png b/html/classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.png new file mode 100644 index 0000000000000000000000000000000000000000..24c1bb1a0d7fa611bce9f3a9af6130fd7d5ddd13 GIT binary patch literal 1133 zcmeAS@N?(olHy`uVBq!ia0y~yU{nLL12~w0WV4t?1CWvq@CkAK|NlRb`Qpvj(*8rs zEetdZB&MHv@!-J&pt$MTuq8k_&XOR%Uhini!p@ zahE4(EoAw`Db4u&>^|Esp zYkHR+cfXsIv3rNJk7-jXtEb-1#V60LitKD77ujKey70dY6MZZj0 z_&(F_Wn2HdJFnlmm6cwax+XW>ajn8h)o5Rpvs>SGs@!j%9b6eTdG>UbpLTn^f=~KR z`omo@Q*F|pbmTDh&QS84?(YkXgoA}L$JrQuT>ilTOaNsqY78HK{NV6scpxx~;lSg| zK^065whK8K<|(K!Hh5<+F-*U}!k`Bfh;b5T*a1{s!0F5IKnSQ-)r1-fPS0PVxpYd? zl%QLUDxQrhvBI-dPO6%CPV&x}q%!@2il<)ach~ZjN0v3sESvNz`^>5}n`(2@Up&j!v9)_8=3GAO7MFgrVWa^|ymM^W8Z^xfNf!I(NTymYMoo%RaUJYfCm=_--=4tIO&|Ix3IM~zDv#R`^&y#g( uo?K3oRqiSx$HV+tL0+03noD{AGgicYxaW|{;|MGm7(8A5T-G@yGywpD0TWaJ literal 0 HcmV?d00001 diff --git a/html/classDigitalResearch_1_1CPM8KFormat-members.html b/html/classDigitalResearch_1_1CPM8KFormat-members.html new file mode 100644 index 00000000..06964d8e --- /dev/null +++ b/html/classDigitalResearch_1_1CPM8KFormat-members.html @@ -0,0 +1,177 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DigitalResearch::CPM8KFormat Member List
+
+
+ +

This is the complete list of members for DigitalResearch::CPM8KFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
bss_segmentDigitalResearch::CPM8KFormat
CalculateValues() overrideDigitalResearch::CPM8KFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideDigitalResearch::CPM8KFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CPM8KFormat() (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormatinline
CPM8KFormat(magic_type magic) (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormatinline
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump) overrideDigitalResearch::CPM8KFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideDigitalResearch::CPM8KFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideDigitalResearch::CPM8KFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideDigitalResearch::CPM8KFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
GetSegmentNumber(Linker::Segment *segment) (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
GetSignature() const (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
Initialize() overrideDigitalResearch::CPM8KFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
IsCombined() (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
Link(Linker::Module &module) (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
MAGIC_NONSHARED enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
MAGIC_NONSHARED_OBJECT enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
MAGIC_SEGMENTED enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
MAGIC_SEGMENTED_OBJECT enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
MAGIC_SHARED enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
MAGIC_SHARED_OBJECT enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
MAGIC_SPLIT enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
MAGIC_SPLIT_OBJECT enum value (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
magic_type enum name (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
OnNewSegment(Linker::Segment *segment) overrideDigitalResearch::CPM8KFormatvirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideDigitalResearch::CPM8KFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideDigitalResearch::CPM8KFormatvirtual
relocation_sizeDigitalResearch::CPM8KFormat
relocations (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
segment_countDigitalResearch::CPM8KFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
Segments() (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
segments (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideDigitalResearch::CPM8KFormatvirtual
SetSignature(magic_type magic) (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
signatureDigitalResearch::CPM8KFormat
symbol_table_sizeDigitalResearch::CPM8KFormat
symbols (defined in DigitalResearch::CPM8KFormat)DigitalResearch::CPM8KFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
total_sizeDigitalResearch::CPM8KFormat
WriteFile(Linker::Writer &wr) overrideDigitalResearch::CPM8KFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classDigitalResearch_1_1CPM8KFormat.html b/html/classDigitalResearch_1_1CPM8KFormat.html new file mode 100644 index 00000000..1443a3c8 --- /dev/null +++ b/html/classDigitalResearch_1_1CPM8KFormat.html @@ -0,0 +1,772 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM8KFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DigitalResearch::CPM8KFormat Class Reference
+
+
+ +

CP/M-8000 .z8k file format. + More...

+ +

#include <cpm8k.h>

+
+Inheritance diagram for DigitalResearch::CPM8KFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + +

+Classes

struct  Relocation
 
class  Segment
 Represents a segment within the module. More...
 
struct  Symbol
 
+ + + +

+Public Types

enum  magic_type {
+  MAGIC_SEGMENTED_OBJECT = 0xEE00 +, MAGIC_SEGMENTED = 0xEE01 +, MAGIC_NONSHARED_OBJECT = 0xEE02 +, MAGIC_NONSHARED = 0xEE03 +,
+  MAGIC_SHARED_OBJECT = 0xEE06 +, MAGIC_SHARED = 0xEE07 +, MAGIC_SPLIT_OBJECT = 0xEE0A +, MAGIC_SPLIT = 0xEE0B +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+magic_type GetSignature () const
 
+void SetSignature (magic_type magic)
 
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
CPM8KFormat (magic_type magic)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
+std::vector< Linker::Segment * > & Segments ()
 
+unsigned GetSegmentNumber (Linker::Segment *segment)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+bool IsCombined ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+char signature [2]
 The magic number at the beginning of the executable file.
 
+uint16_t segment_count
 Number of segments in the segment_array.
 
+uint32_t total_size
 Total number of bytes in all the segments combined.
 
+uint32_t relocation_size
 Total size of relocations.
 
+uint32_t symbol_table_size
 Total size of symbols.
 
+std::vector< Segmentsegments
 
+std::vector< Relocationrelocations
 
+std::vector< Symbolsymbols
 
+Linker::Segmentbss_segment
 Segment to collect bss.
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

CP/M-8000 .z8k file format.

+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::Clear ()
+
+overridevirtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::Dump (Dumper::Dumper & dump)
+
+overridevirtual
+
+ +

Display file contents in a nice manner.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool CPM8KFormat::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void CPM8KFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string CPM8KFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::Initialize ()
+
+overridevirtual
+
+ +

Sets all fields to their default values.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void CPM8KFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/cpm8k.h
  • +
  • src/format/cpm8k.cc
  • +
+
+ + + + diff --git a/html/classDigitalResearch_1_1CPM8KFormat.png b/html/classDigitalResearch_1_1CPM8KFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8988192fa245638e188f70fe5b1881051254e9 GIT binary patch literal 1806 zcmcIlYfzF27k;yJ-@M{AH8mmEwlch;DS1gSbuBQFBx{8BsL=R+GbVD@zL?gF?W}&ND5uv5wM4zEqJaTe9CS~># zAT~Tw_JtiQ;{IDIlb-~mN7iV(Xgd%qTYxOazImn^r;#1ayIQz@Q->Xc8o%Q=+pVyD z9}*b95|^3h7Xd=J)$zO4iJ(!nhR=YYZnd)LrA z=a&zZ7OWbeR)nv1HvyJ{o%9XZ<#OYg zEnn$Ez@37CN*8mTJ`oc86mCC{O;FZ|YK0@yDv`_dr_@O<_2iNcIGys)jf1XIyh`LF zKfs|d*)^Cariy)%=}cA?HNSbDVxA$>;6{@fQG zDJ_+GR;RrZIEP$NBBhS{;^ZBba!KsrvHlbSmN*U*hX#v%M+NeSqzR+cG{)-ASG%Mi zhF9`q^q`b?T@n+=I4sHtdo%FaNI9!*^Kvq$tQMKY1v)&9o9~J|8@yyV2sht`TF7#wh_rojXk);4H_$@ z^)JXeY!3Nv#F^G6SnUMwh^0JkO8^>UVtZ836BCajVxRIGL!7;NoxI)iqg@S*8)BHL zP@beTfV>{3_|;k^Iad{q*rm02MIAxEMGum?d#4;)JDB0QH{TrQZ#KL2$7xsYhKjn9 z!FLLp(&hN}HbgQesup{es{b`54(yvc# z_lpf_@ps#a$2Z}h$ITxd`Rz08^JFtKSw@CS^S4-%Hi(uzufDX%TQP|g7`--{quZbP zW=3eej}aQ}{E!IU8d7EkcAOYajtPSglTLL*^_NSwj8&*s_`O%*2VG^gXE$jC}TdyrP2Vl@Fe^Tb3juAjh literal 0 HcmV?d00001 diff --git a/html/classDigitalResearch_1_1CPM8KFormat_1_1Segment-members.html b/html/classDigitalResearch_1_1CPM8KFormat_1_1Segment-members.html new file mode 100644 index 00000000..0495e76c --- /dev/null +++ b/html/classDigitalResearch_1_1CPM8KFormat_1_1Segment-members.html @@ -0,0 +1,106 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DigitalResearch::CPM8KFormat::Segment Member List
+
+ + + + + diff --git a/html/classDigitalResearch_1_1CPM8KFormat_1_1Segment.html b/html/classDigitalResearch_1_1CPM8KFormat_1_1Segment.html new file mode 100644 index 00000000..f629ee4e --- /dev/null +++ b/html/classDigitalResearch_1_1CPM8KFormat_1_1Segment.html @@ -0,0 +1,151 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM8KFormat::Segment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DigitalResearch::CPM8KFormat::Segment Class Reference
+
+
+ +

Represents a segment within the module. + More...

+ +

#include <cpm8k.h>

+ + + + + +

+Public Types

enum  segment_type {
+  BSS = 1 +, STACK +, CODE +, RODATA +,
+  DATA +, MIXED +, MIXED_PROTECTABLE +
+ }
 The type of a segment.
 
+ + + + + + + +

+Public Member Functions

+void Initialize ()
 
+void Clear ()
 
+bool IsPresent () const
 
+ + + + + + + + + + + + +

+Public Attributes

+uint8_t number
 Each segment has an associated number. For 0xFF, the linker can assign a value. For segmented executables, this is the segment number that will be used.
 
+enum DigitalResearch::CPM8KFormat::Segment::segment_type type
 
+uint16_t length
 Length of segment in bytes.
 
+Linker::Writableimage
 Storage for segment.
 
+

Detailed Description

+

Represents a segment within the module.

+

The documentation for this class was generated from the following files:
    +
  • src/format/cpm8k.h
  • +
  • src/format/cpm8k.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1BitFieldDisplay-members.html b/html/classDumper_1_1BitFieldDisplay-members.html new file mode 100644 index 00000000..d97f406e --- /dev/null +++ b/html/classDumper_1_1BitFieldDisplay-members.html @@ -0,0 +1,101 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::BitFieldDisplay Member List
+
+
+ +

This is the complete list of members for Dumper::BitFieldDisplay, including all inherited members.

+ + + + + + + + + + + +
AddBitField(unsigned offset, unsigned length, Display< offset_t > *display, bool optional_field) (defined in Dumper::BitFieldDisplay)Dumper::BitFieldDisplayinline
BitFieldDisplay(unsigned width=8) (defined in Dumper::BitFieldDisplay)Dumper::BitFieldDisplayinline
bitfields (defined in Dumper::BitFieldDisplay)Dumper::BitFieldDisplay
DisplayValue(Dumper &dump, std::tuple< offset_t > values) override (defined in Dumper::BitFieldDisplay)Dumper::BitFieldDisplay
Display< offset_t >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< offset_t >pure virtual
HexDisplay(unsigned width=8) (defined in Dumper::HexDisplay)Dumper::HexDisplayinline
IsMissing(std::tuple< Ts... > &values)Dumper::Display< offset_t >inlinevirtual
Make(unsigned width=8) (defined in Dumper::BitFieldDisplay)Dumper::BitFieldDisplayinlinestatic
width (defined in Dumper::HexDisplay)Dumper::HexDisplay
~BitFieldDisplay() (defined in Dumper::BitFieldDisplay)Dumper::BitFieldDisplay
+ + + + diff --git a/html/classDumper_1_1BitFieldDisplay.html b/html/classDumper_1_1BitFieldDisplay.html new file mode 100644 index 00000000..c1a34dd3 --- /dev/null +++ b/html/classDumper_1_1BitFieldDisplay.html @@ -0,0 +1,165 @@ + + + + + + + +RetroLinker: Dumper::BitFieldDisplay Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::BitFieldDisplay Class Reference
+
+
+ +

A value that is separated into bitfields, typically bit flags. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::BitFieldDisplay:
+
+
+ + +Dumper::HexDisplay +Dumper::Display< offset_t > + +
+ + + + +

+Classes

class  BitField
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BitFieldDisplay (unsigned width=8)
 
+BitFieldDisplayAddBitField (unsigned offset, unsigned length, Display< offset_t > *display, bool optional_field)
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t > values) override
 
- Public Member Functions inherited from Dumper::HexDisplay
HexDisplay (unsigned width=8)
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t > values) override
 
- Public Member Functions inherited from Dumper::Display< offset_t >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + +

+Static Public Member Functions

+static BitFieldDisplayMake (unsigned width=8)
 
+ + + + + + +

+Public Attributes

+std::map< unsigned, BitField * > bitfields
 
- Public Attributes inherited from Dumper::HexDisplay
+unsigned width
 
+

Detailed Description

+

A value that is separated into bitfields, typically bit flags.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1BitFieldDisplay.png b/html/classDumper_1_1BitFieldDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..53c3a880018220b54fc6d14c833c2ae4fd710159 GIT binary patch literal 1037 zcmeAS@N?(olHy`uVBq!ia0vp^D}lI!gBeJ!{%zd{q@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEer>7#Nsmc)B=-R4~4s`?_zn0Z&VN zXUNaL^M8oU>K69ljxG0J{I%;Pn~-&UP2+wK&838S<=+x4%(N9*-4tCSJc=$|SrF^jKAC+a_mMz}i7?o=w z^L|1}`i=KNZO=W6|KC`m_15%v?23Mm&55yjS2E4^iv+KJ)o%2n*DF;1c*&VVH)m{< z+S+ygR9*eLj}>eG+q~Yg&%aoCYxax3$Ck=V?#Z-j}i^ zLRTt17Jp|v5bemtu#YQ<;X~*IriS%RA`CU6OBf!kR$yg_XVql*q2KdVeH zOC4sPOR0aAPhPHCBbU2s{#_Q&d6&5_b>HLj?Emv)(z^Yx6Mlyu zw{%ktNj>eh%eQp%(J;#u+^6|eGG8mb+;%W|f!ylbe{UXJ{`1wdDcX}vN==t-`@QXG z*hJM?T1~QHOnc@_WuD$-Cc9)U2IkbLHec zdF|{qmltn-+4sudTJG2KC0}c2Nw17`elH!mqB?%R|Jr-?kxTRI7q6@3^C+6|FhS~4 zxZeJ@FH4V`dwPDFF1keJLlE`VPT#15$GaVeYlpd{C5EcA5)pb|ttd0|zqTRc%Y2P=KuMBy1 zWpQC=M~Cj@FH@d2y1Hjfko#FTf6I=$|E?DHxpR7N)cw7l``2>QYpXMDT|X|L!`JQV zQZ-lU?i^dTR~vWbF0oqnYt5;eh+EZx?_6EtpC@JQ4l3QTKKSrqiOW`D$BWf+Rd&DW zH(a|nbpj{^zsuPq-7-IT`Az>mohORn(>z_(h-CuP^ zeDC`E%fsHwhrB$Rf5qJ{J?wKwN6#;}pz7KBDz-PC3a#uoQ6D^^s{@!!TwQ8P)nlin d&UF0G5EQxQjpc{e*1(L*;OXk;vd$@?2>^ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::BitFieldDisplay::BitField Member List
+
+
+ +

This is the complete list of members for Dumper::BitFieldDisplay::BitField, including all inherited members.

+ + + + + + + + +
BitField(unsigned offset, unsigned length, Display< offset_t > *display, bool optional_field) (defined in Dumper::BitFieldDisplay::BitField)Dumper::BitFieldDisplay::BitFieldinline
display (defined in Dumper::BitFieldDisplay::BitField)Dumper::BitFieldDisplay::BitField
length (defined in Dumper::BitFieldDisplay::BitField)Dumper::BitFieldDisplay::BitField
offset (defined in Dumper::BitFieldDisplay::BitField)Dumper::BitFieldDisplay::BitField
optional_field (defined in Dumper::BitFieldDisplay::BitField)Dumper::BitFieldDisplay::BitField
ShouldDisplay(std::tuple< offset_t > &values) (defined in Dumper::BitFieldDisplay::BitField)Dumper::BitFieldDisplay::BitFieldinline
~BitField() (defined in Dumper::BitFieldDisplay::BitField)Dumper::BitFieldDisplay::BitFieldinline
+ + + + diff --git a/html/classDumper_1_1BitFieldDisplay_1_1BitField.html b/html/classDumper_1_1BitFieldDisplay_1_1BitField.html new file mode 100644 index 00000000..2edff6b3 --- /dev/null +++ b/html/classDumper_1_1BitFieldDisplay_1_1BitField.html @@ -0,0 +1,120 @@ + + + + + + + +RetroLinker: Dumper::BitFieldDisplay::BitField Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::BitFieldDisplay::BitField Class Reference
+
+
+ + + + + + +

+Public Member Functions

BitField (unsigned offset, unsigned length, Display< offset_t > *display, bool optional_field)
 
+bool ShouldDisplay (std::tuple< offset_t > &values)
 
+ + + + + + + + + +

+Public Attributes

+unsigned offset
 
+unsigned length
 
+Display< offset_t > * display
 
+bool optional_field
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classDumper_1_1Block-members.html b/html/classDumper_1_1Block-members.html new file mode 100644 index 00000000..56d47fd4 --- /dev/null +++ b/html/classDumper_1_1Block-members.html @@ -0,0 +1,119 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::Block Member List
+
+
+ +

This is the complete list of members for Dumper::Block, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddField(Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(size_t index, Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddHiddenField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddOptionalField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
address_display_widthDumper::Block
AddSignal(offset_t off, offset_t len)Dumper::Blockinline
Block(std::string name, offset_t offset, Linker::Writable *image, offset_t address, unsigned display_width, unsigned offset_display_width=8, unsigned address_display_width=-1, unsigned position_display_width=-1) (defined in Dumper::Block)Dumper::Blockinline
Container(std::string name="") (defined in Dumper::Container)Dumper::Containerinline
Display(Dumper &dump) override (defined in Dumper::Block)Dumper::Blockvirtual
encoding_cp437 (defined in Dumper::Block)Dumper::Blockstatic
encoding_default (defined in Dumper::Block)Dumper::Blockstatic
encoding_st (defined in Dumper::Block)Dumper::Blockstatic
field_names (defined in Dumper::Container)Dumper::Container
fields (defined in Dumper::Container)Dumper::Container
FindField(std::string name) (defined in Dumper::Container)Dumper::Containerinline
GetField(std::string name, offset_t default_value=T()) (defined in Dumper::Container)Dumper::Containerinline
image (defined in Dumper::Block)Dumper::Block
InsertField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertHiddenField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertOptionalField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
name (defined in Dumper::Container)Dumper::Container
offset_display_widthDumper::Block
position_display_widthDumper::Block
Region(std::string name, offset_t offset, offset_t length, unsigned display_width) (defined in Dumper::Region)Dumper::Regioninline
signal_ends (defined in Dumper::Block)Dumper::Block
signal_starts (defined in Dumper::Block)Dumper::Block
~Container() (defined in Dumper::Container)Dumper::Containervirtual
+ + + + diff --git a/html/classDumper_1_1Block.html b/html/classDumper_1_1Block.html new file mode 100644 index 00000000..d5ff47e1 --- /dev/null +++ b/html/classDumper_1_1Block.html @@ -0,0 +1,277 @@ + + + + + + + +RetroLinker: Dumper::Block Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

A region within a file that can be dumped, decompiled, and it may contain fixups. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::Block:
+
+
+ + +Dumper::Region +Dumper::Container + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void AddSignal (offset_t off, offset_t len)
 Add a relocation inside the image block.
 
Block (std::string name, offset_t offset, Linker::Writable *image, offset_t address, unsigned display_width, unsigned offset_display_width=8, unsigned address_display_width=-1, unsigned position_display_width=-1)
 
void Display (Dumper &dump) override
 
- Public Member Functions inherited from Dumper::Region
Region (std::string name, offset_t offset, offset_t length, unsigned display_width)
 
- Public Member Functions inherited from Dumper::Container
Container (std::string name="")
 
+FieldFindField (std::string name)
 
+template<typename T >
GetField (std::string name, offset_t default_value=T())
 
+void AddField (Field *field)
 
+void AddField (size_t index, Field *field)
 
+template<typename D , typename ... Ts>
void AddField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddOptionalField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddHiddenField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertOptionalField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertHiddenField (size_t index, std::string label, D *display, Ts... values)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+unsigned offset_display_width
 Displaying in-file offsets.
 
+unsigned position_display_width
 Displaying in-segment positions.
 
+unsigned address_display_width
 Displaying in-memory addresses.
 
+Linker::Writableimage
 
+std::set< offset_t > signal_starts
 
+std::set< offset_t > signal_ends
 
- Public Attributes inherited from Dumper::Container
+std::string name
 
+std::map< std::string, Field * > field_names
 
+std::vector< Field * > fields
 
+ + + + + + + +

+Static Public Attributes

+static char32_t encoding_default [256]
 
+static char32_t encoding_cp437 [256]
 
+static char32_t encoding_st [256]
 
+

Detailed Description

+

A region within a file that can be dumped, decompiled, and it may contain fixups.

+

Member Function Documentation

+ +

◆ AddSignal()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void Dumper::Block::AddSignal (offset_t off,
offset_t len )
+
+inline
+
+ +

Add a relocation inside the image block.

+

When displaying a dump of a block, the relocation zones can be signalled, for example via underlining. This method is named to reflect this signalling.

+ +
+
+ +

◆ Display()

+ +
+
+ + + + + +
+ + + + + + + +
void Block::Display (Dumper & dump)
+
+overridevirtual
+
+ +

Reimplemented from Dumper::Container.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1Block.png b/html/classDumper_1_1Block.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa2a6aca9bc3d04c8d627216f153db64ebda40c GIT binary patch literal 751 zcmeAS@N?(olHy`uVBq!ia0vp^r9j-l!3-qdT?_F9QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B+Fo-U3d6^w7^zAb7|;BnQT zE~)op|OXhuk zIqBuwgZZ*>>iuD=kkE}ECi>}*{&hjo6m^MPw8c5Oa=c$U&8 z>+03K`%Y|~`DnqZtuh-w8tx4(S3>^LcW##9wkLv7D2qqDE}eqYSk zU>?bkU=h6Lw2`y*(O=qg7tBrmyGqJTn_)##7{i4lYZw-EMlw1GZ)R#xOJim5J;TK? zYlbMpx{pX6{3ESFTK{aQeplG650LEn)2S^K`$?CJ1mm-v{TJx66u-?wdSzk^!-9h1sG_N2Ng z`dY$msmSuOnUTifH3@|m|u*V?t`d^6b` z_PZ+a?6(+~O^+Yd-tE?q4dq>a+%r4wdV%}zH@Cm6d_M!^0K?TC9cq`?oU=5aC7%^p WDQfkhHwTzB89ZJ6T-G@yGywqdRBv(s literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1ChoiceDisplay-members.html b/html/classDumper_1_1ChoiceDisplay-members.html new file mode 100644 index 00000000..5d679be8 --- /dev/null +++ b/html/classDumper_1_1ChoiceDisplay-members.html @@ -0,0 +1,103 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::ChoiceDisplay Member List
+
+
+ +

This is the complete list of members for Dumper::ChoiceDisplay, including all inherited members.

+ + + + + + + + + + + + + +
ChoiceDisplay(std::map< offset_t, std::string > names, std::string default_name="unknown") (defined in Dumper::ChoiceDisplay)Dumper::ChoiceDisplayinline
ChoiceDisplay(std::map< offset_t, std::string > names, offset_t missing_value, std::string default_name="unknown") (defined in Dumper::ChoiceDisplay)Dumper::ChoiceDisplayinline
ChoiceDisplay(std::string on_true, std::string on_false)Dumper::ChoiceDisplayinline
ChoiceDisplay(std::string on_true)Dumper::ChoiceDisplayinline
default_nameDumper::ChoiceDisplay
DisplayValue(Dumper &dump, std::tuple< offset_t > values) override (defined in Dumper::ChoiceDisplay)Dumper::ChoiceDisplay
Display< offset_t >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< offset_t >pure virtual
IsMissing(std::tuple< offset_t > &values) override (defined in Dumper::ChoiceDisplay)Dumper::ChoiceDisplay
Display< offset_t >::IsMissing(std::tuple< Ts... > &values)Dumper::Display< offset_t >inlinevirtual
missing_on_valueDumper::ChoiceDisplay
missing_valueDumper::ChoiceDisplay
namesDumper::ChoiceDisplay
+ + + + diff --git a/html/classDumper_1_1ChoiceDisplay.html b/html/classDumper_1_1ChoiceDisplay.html new file mode 100644 index 00000000..a9fd0cee --- /dev/null +++ b/html/classDumper_1_1ChoiceDisplay.html @@ -0,0 +1,164 @@ + + + + + + + +RetroLinker: Dumper::ChoiceDisplay Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::ChoiceDisplay Class Reference
+
+
+ +

Represents an enumerated value, with named options. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::ChoiceDisplay:
+
+
+ + +Dumper::Display< offset_t > + +
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ChoiceDisplay (std::map< offset_t, std::string > names, std::string default_name="unknown")
 
ChoiceDisplay (std::map< offset_t, std::string > names, offset_t missing_value, std::string default_name="unknown")
 
ChoiceDisplay (std::string on_true, std::string on_false)
 Creates a boolean choice.
 
ChoiceDisplay (std::string on_true)
 Creates a boolean choice that is either present with name or not present at all.
 
+bool IsMissing (std::tuple< offset_t > &values) override
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t > values) override
 
- Public Member Functions inherited from Dumper::Display< offset_t >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + + + + + + + + + + + +

+Public Attributes

+std::map< offset_t, std::string > names
 Maps values to names.
 
+std::string default_name
 Name for values not contained in names.
 
+bool missing_on_value
 If false, any value not listed in names is missing, otherwise only missing_value is missing.
 
+offset_t missing_value
 The single missing value, only used for missing_on_value true.
 
+

Detailed Description

+

Represents an enumerated value, with named options.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1ChoiceDisplay.png b/html/classDumper_1_1ChoiceDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..9284f20c78791764004c37a80c6bce5a7ae4f4c6 GIT binary patch literal 726 zcmeAS@N?(olHy`uVBq!ia0vp^D}gwGgBeJMPFs2gNJ$6ygt-3y{~ySF@#br3|Doj; z2ATyD)6cwk@ZbSZ-1KbN5}+JsNswPK1CS2}=1jA%FfcGBdb&7d z#Ma)NF#GP7yBp%H^t4`nkUKUz-SAOrd~sxXbIJd+c0qHWpP0*Nvp0f!>zC)d&bYYr zKR)?y^7N4BrYqyBelIz`&C>Pjwp~}mDrcmh@=)DXSrnOq&7uZ}py+%rW`i@4xC&+@^e|yUJ(VQg;R~zxgN3XYZ=~QwOBxhTiSZoZWhH#x<$0 zUFT2lt6l%?Yu10)Ynhh*#mZMNeyMwUY5Sae<^GGlgrDY;TDB z<=%aGE?fu>R>%jLl(KRY(e>hz_r*_}{*6qh~nx6l(b%Q4LTvbv% i8DZ-g?3Ky(my!E=&%CF>g_*z<$l&Sf=d#Wzp$Pz*0cV2% literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1Container-members.html b/html/classDumper_1_1Container-members.html new file mode 100644 index 00000000..325c0223 --- /dev/null +++ b/html/classDumper_1_1Container-members.html @@ -0,0 +1,107 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::Container Member List
+
+
+ +

This is the complete list of members for Dumper::Container, including all inherited members.

+ + + + + + + + + + + + + + + + + +
AddField(Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(size_t index, Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddHiddenField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddOptionalField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
Container(std::string name="") (defined in Dumper::Container)Dumper::Containerinline
Display(Dumper &dump) (defined in Dumper::Container)Dumper::Containervirtual
field_names (defined in Dumper::Container)Dumper::Container
fields (defined in Dumper::Container)Dumper::Container
FindField(std::string name) (defined in Dumper::Container)Dumper::Containerinline
GetField(std::string name, offset_t default_value=T()) (defined in Dumper::Container)Dumper::Containerinline
InsertField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertHiddenField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertOptionalField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
name (defined in Dumper::Container)Dumper::Container
~Container() (defined in Dumper::Container)Dumper::Containervirtual
+ + + + diff --git a/html/classDumper_1_1Container.html b/html/classDumper_1_1Container.html new file mode 100644 index 00000000..bda20737 --- /dev/null +++ b/html/classDumper_1_1Container.html @@ -0,0 +1,173 @@ + + + + + + + +RetroLinker: Dumper::Container Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::Container Class Reference
+
+
+ +

A record whose values should be displayed together, as a collection. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::Container:
+
+
+ + +Dumper::Entry +Dumper::Region +Dumper::Block + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Container (std::string name="")
 
+FieldFindField (std::string name)
 
+template<typename T >
GetField (std::string name, offset_t default_value=T())
 
+void AddField (Field *field)
 
+void AddField (size_t index, Field *field)
 
+template<typename D , typename ... Ts>
void AddField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddOptionalField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddHiddenField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertOptionalField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertHiddenField (size_t index, std::string label, D *display, Ts... values)
 
+virtual void Display (Dumper &dump)
 
+ + + + + + + +

+Public Attributes

+std::string name
 
+std::map< std::string, Field * > field_names
 
+std::vector< Field * > fields
 
+

Detailed Description

+

A record whose values should be displayed together, as a collection.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1Container.png b/html/classDumper_1_1Container.png new file mode 100644 index 0000000000000000000000000000000000000000..455ae2af4030c5a1f5c5819ef8a872ba08df82bb GIT binary patch literal 1027 zcmeAS@N?(olHy`uVBq!ia0vp^Ux2uSgBeIZ7c?saQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=GVDo-U3d6^w7^zMiyNL4fUc zzgGA6`bV1&a*De@L zUEa0#!D+AM-(|U6OFx!RJ12N_?#3;=`@Z?)^Q46t@6DMwf4h8*^h?8R*-3J@-m%}$ zTvk5mv)it)sFoPL>hZ&TeeO%mi@u-Q@vB+pJkR4gnO!cm}#^uu3biM<&FBzj2yT06)e_@yFOZn&D*36#r z?G5h*Ha*@8ObA@S{cGR*{hSS!@$(8(7mai=I z{266h=lpByy7Rr4_kDT%JJ7?vxKiRuVNUShLq!=A^6c~aK2F;5p!3Vmb-~>$56Vo^ zT6W;_CCvg2k*i1V|K#mrb9MIYe%n}fbUjIHzQNQb2ty=^_Vrlp}T z1)Mf4o4}{YlFjhWlmCL0uGjb4=4-lM|1Gws-(9jLJ-@-MAhSV?1pHgTiDUi6c7a3L z3^kJ#fI)B4V5+C<$p)fDUxEYQM{xFvU&(r!d;jm66q4ArWA~RQ6Y8FQ+Q4+Ib;2w2 zOP9}PzS6$8eS+U6=Y=cu{)t^`ePt2{40t)?SW&H-F5A6x?pNjQSo%dR_iFmD|C8>e ztgL-mt^0n@eD0T5=hZ32zA5)STKcxQ>P-C4sMPm1Qk4hSZ!SOjtLxIFkf&E}>Uvru hI|=4A#g>F~_DmWRCw-8f>JQAW44$rjF6*2UngHG!_ZI*F literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1DecDisplay-members.html b/html/classDumper_1_1DecDisplay-members.html new file mode 100644 index 00000000..bd4eb92d --- /dev/null +++ b/html/classDumper_1_1DecDisplay-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::DecDisplay Member List
+
+
+ +

This is the complete list of members for Dumper::DecDisplay, including all inherited members.

+ + + + + + +
DecDisplay(std::string suffix="") (defined in Dumper::DecDisplay)Dumper::DecDisplayinline
DisplayValue(Dumper &dump, std::tuple< offset_t > values) override (defined in Dumper::DecDisplay)Dumper::DecDisplay
Display< offset_t >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< offset_t >pure virtual
IsMissing(std::tuple< Ts... > &values)Dumper::Display< offset_t >inlinevirtual
suffix (defined in Dumper::DecDisplay)Dumper::DecDisplay
+ + + + diff --git a/html/classDumper_1_1DecDisplay.html b/html/classDumper_1_1DecDisplay.html new file mode 100644 index 00000000..6c59c679 --- /dev/null +++ b/html/classDumper_1_1DecDisplay.html @@ -0,0 +1,137 @@ + + + + + + + +RetroLinker: Dumper::DecDisplay Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::DecDisplay Class Reference
+
+
+ +

Represents a field with a decimal display, usually indices into an array or similar, such as segment numbers. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::DecDisplay:
+
+
+ + +Dumper::Display< offset_t > + +
+ + + + + + + + + + + + + +

+Public Member Functions

DecDisplay (std::string suffix="")
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t > values) override
 
- Public Member Functions inherited from Dumper::Display< offset_t >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + +

+Public Attributes

+std::string suffix
 
+

Detailed Description

+

Represents a field with a decimal display, usually indices into an array or similar, such as segment numbers.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1DecDisplay.png b/html/classDumper_1_1DecDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..70642f3196231f4e4a0f40e04b3a852e47dc5496 GIT binary patch literal 719 zcmV;=0xvTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~00077 zNklHioS8b86rcW8EM0Y)h;cZM6@spU^ zllI;^YBgcEyi?MHVLQwII8K`D$0k*2FWGNGeMXuM%Wz|#X7fuiwRU~C4O*jpSD(kU z&%$U->mIc>pOyV~UH$TE{dw-wa-QZws#jP0l}k4nwQrt8{i&dxSFUHZFCt>%^io_kH8uUyxpN zc5ZR%$dz=xuMgW_dCno)Bei=e7Nu+ZYaJ;Mbz~hzl1E)6-TXfuRI_?LuIfF>ULjv8X*=bMJBA`y_d$ z!P@UPR=-b8i+)M%a{E<(NLo(ETuAlmYQF+h3tjvAJhf{7)h>Pe8}<2z&H6l$ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::Display< Ts > Member List
+
+
+ +

This is the complete list of members for Dumper::Display< Ts >, including all inherited members.

+ + + + +
DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< Ts >pure virtual
IsMissing(std::tuple< Ts... > &values)Dumper::Display< Ts >inlinevirtual
~Display() (defined in Dumper::Display< Ts >)Dumper::Display< Ts >inlinevirtual
+ + + + diff --git a/html/classDumper_1_1Display.html b/html/classDumper_1_1Display.html new file mode 100644 index 00000000..91df3c48 --- /dev/null +++ b/html/classDumper_1_1Display.html @@ -0,0 +1,114 @@ + + + + + + + +RetroLinker: Dumper::Display< Ts > Class Template Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::Display< Ts > Class Template Referenceabstract
+
+
+ +

This class represents an entry that can be displayed in a file dump. + More...

+ +

#include <dumper.h>

+ + + + + + + + +

+Public Member Functions

+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+

Detailed Description

+
template<typename ... Ts>
+class Dumper::Display< Ts >

This class represents an entry that can be displayed in a file dump.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classDumper_1_1Dumper-members.html b/html/classDumper_1_1Dumper-members.html new file mode 100644 index 00000000..e23f2272 --- /dev/null +++ b/html/classDumper_1_1Dumper-members.html @@ -0,0 +1,102 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::Dumper Member List
+
+
+ +

This is the complete list of members for Dumper::Dumper, including all inherited members.

+ + + + + + + + + + + + +
BeginUnderline()Dumper::Dumperinline
Dumper(std::ostream &out) (defined in Dumper::Dumper)Dumper::Dumperinline
encoding (defined in Dumper::Dumper)Dumper::Dumper
EndUnderline()Dumper::Dumperinline
out (defined in Dumper::Dumper)Dumper::Dumper
PrintDec(offset_t value, std::string prefix="#")Dumper::Dumperinline
PrintHex(offset_t value, unsigned width, std::string prefix="0x")Dumper::Dumperinline
PutChar(char32_t c)Dumper::Dumperinline
SetEncoding(char32_t(&encoding)[256], bool force=false) (defined in Dumper::Dumper)Dumper::Dumperinline
SetTitle(std::string title) (defined in Dumper::Dumper)Dumper::Dumperinline
use_ansi (defined in Dumper::Dumper)Dumper::Dumper
+ + + + diff --git a/html/classDumper_1_1Dumper.html b/html/classDumper_1_1Dumper.html new file mode 100644 index 00000000..f2f31ec2 --- /dev/null +++ b/html/classDumper_1_1Dumper.html @@ -0,0 +1,147 @@ + + + + + + + +RetroLinker: Dumper::Dumper Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::Dumper Class Reference
+
+
+ +

A class to control the output of a file analysis. + More...

+ +

#include <dumper.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Dumper (std::ostream &out)
 
+void SetEncoding (char32_t(&encoding)[256], bool force=false)
 
+void SetTitle (std::string title)
 
+void PrintHex (offset_t value, unsigned width, std::string prefix="0x")
 Displays a hexadecimal value (default prefix is "0x")
 
+void PrintDec (offset_t value, std::string prefix="#")
 Displays a decimal value (default prefix is "#")
 
+void PutChar (char32_t c)
 Displays a Unicode character as a UTF-8 byte sequence.
 
+void BeginUnderline ()
 ANSI escape sequence to add underline.
 
+void EndUnderline ()
 ANSI escape sequence to remove all formatting.
 
+ + + + + + + +

+Public Attributes

+std::ostream & out
 
+bool use_ansi
 
+char32_t(* encoding )[256]
 
+

Detailed Description

+

A class to control the output of a file analysis.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classDumper_1_1Entry-members.html b/html/classDumper_1_1Entry-members.html new file mode 100644 index 00000000..73366ab0 --- /dev/null +++ b/html/classDumper_1_1Entry-members.html @@ -0,0 +1,111 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::Entry Member List
+
+
+ +

This is the complete list of members for Dumper::Entry, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
AddField(Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(size_t index, Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddHiddenField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddOptionalField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
Container(std::string name="") (defined in Dumper::Container)Dumper::Containerinline
Display(Dumper &dump) override (defined in Dumper::Entry)Dumper::Entryvirtual
display_width (defined in Dumper::Entry)Dumper::Entry
Entry(std::string name, offset_t number, offset_t offset=offset_t(-1), unsigned display_width=8) (defined in Dumper::Entry)Dumper::Entryinline
field_names (defined in Dumper::Container)Dumper::Container
fields (defined in Dumper::Container)Dumper::Container
FindField(std::string name) (defined in Dumper::Container)Dumper::Containerinline
GetField(std::string name, offset_t default_value=T()) (defined in Dumper::Container)Dumper::Containerinline
InsertField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertHiddenField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertOptionalField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
name (defined in Dumper::Container)Dumper::Container
number (defined in Dumper::Entry)Dumper::Entry
offset (defined in Dumper::Entry)Dumper::Entry
~Container() (defined in Dumper::Container)Dumper::Containervirtual
+ + + + diff --git a/html/classDumper_1_1Entry.html b/html/classDumper_1_1Entry.html new file mode 100644 index 00000000..783b5f1c --- /dev/null +++ b/html/classDumper_1_1Entry.html @@ -0,0 +1,212 @@ + + + + + + + +RetroLinker: Dumper::Entry Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::Entry Class Reference
+
+
+ +

A brief record, such as a relocation or imported library. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::Entry:
+
+
+ + +Dumper::Container + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Entry (std::string name, offset_t number, offset_t offset=offset_t(-1), unsigned display_width=8)
 
void Display (Dumper &dump) override
 
- Public Member Functions inherited from Dumper::Container
Container (std::string name="")
 
+FieldFindField (std::string name)
 
+template<typename T >
GetField (std::string name, offset_t default_value=T())
 
+void AddField (Field *field)
 
+void AddField (size_t index, Field *field)
 
+template<typename D , typename ... Ts>
void AddField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddOptionalField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddHiddenField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertOptionalField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertHiddenField (size_t index, std::string label, D *display, Ts... values)
 
+ + + + + + + + + + + + + + +

+Public Attributes

+offset_t number
 
+offset_t offset
 
+unsigned display_width
 
- Public Attributes inherited from Dumper::Container
+std::string name
 
+std::map< std::string, Field * > field_names
 
+std::vector< Field * > fields
 
+

Detailed Description

+

A brief record, such as a relocation or imported library.

+

Member Function Documentation

+ +

◆ Display()

+ +
+
+ + + + + +
+ + + + + + + +
void Entry::Display (Dumper & dump)
+
+overridevirtual
+
+ +

Reimplemented from Dumper::Container.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1Entry.png b/html/classDumper_1_1Entry.png new file mode 100644 index 0000000000000000000000000000000000000000..610ae0bfa222db06dd224fa84ab5762231e475b3 GIT binary patch literal 546 zcmeAS@N?(olHy`uVBq!ia0vp^r9d3O!3-n?cAw$~QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=E8GJzX3_Dj46+eckt3fv1IC zIrQ^C{~EuB0(Hf}#;K>eGG&uKA5A^+uk~7#zxbAp6Dhf?I!<`#E?f23-{nc;D%Heg zdt(;FJ@4#zvTFL5H4}sS&np|m+im0Bx$jKPy(v3Wg?(%MwshSN2~KFvu-f(IN`TeBYlvZuB$`%)mk_1K;g%St6B<*i_%XVungn^_t3zcMzw zjB@&06P7SN;J>qY!u5dqQ-^1BF*t8s$zTu!WB}D;VHD^uoia;LW73>8zN#lD{&EgU zHlFlmT4~x2m6P08SK3ZhIecQ${a|DtHf`j5_O0;p)yXM~>{dmdVY^sT@^WRM(-aRQ z$+>&ox{qH;ir416zu4;aly90Vuj)#XsLTP-15L z;m1pUzp9_`OS0-)Ue!OjXs29}o~7G9eXqBgB(qX}vDVTnIe(eA=p`{cY7NQ*#wLTO LtDnm{r-UW|;AQ~T literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1Field-members.html b/html/classDumper_1_1Field-members.html new file mode 100644 index 00000000..587ce368 --- /dev/null +++ b/html/classDumper_1_1Field-members.html @@ -0,0 +1,98 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::Field Member List
+
+
+ +

This is the complete list of members for Dumper::Field, including all inherited members.

+ + + + + + + + +
DisplayValue(Dumper &dump)=0 (defined in Dumper::Field)Dumper::Fieldpure virtual
Field(std::string label, bool optional_field=false, bool internal=false) (defined in Dumper::Field)Dumper::Fieldinline
internalDumper::Field
labelDumper::Field
optional_fieldDumper::Field
ShouldDisplay()=0 (defined in Dumper::Field)Dumper::Fieldpure virtual
~Field() (defined in Dumper::Field)Dumper::Fieldvirtual
+ + + + diff --git a/html/classDumper_1_1Field.html b/html/classDumper_1_1Field.html new file mode 100644 index 00000000..866f42ac --- /dev/null +++ b/html/classDumper_1_1Field.html @@ -0,0 +1,140 @@ + + + + + + + +RetroLinker: Dumper::Field Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::Field Class Referenceabstract
+
+
+ +

A representation of a named value within a structure. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::Field:
+
+
+ + +Dumper::FieldOf< Ts > + +
+ + + + + + + + +

+Public Member Functions

Field (std::string label, bool optional_field=false, bool internal=false)
 
+virtual bool ShouldDisplay ()=0
 
+virtual void DisplayValue (Dumper &dump)=0
 
+ + + + + + + + + + +

+Public Attributes

+std::string label
 The name to be displayed.
 
+bool optional_field
 If the field is optional, it will not be displayed for certain values.
 
+bool internal
 The field should not be displayed, it is for internal use (alternatively, it can be displayed through another method)
 
+

Detailed Description

+

A representation of a named value within a structure.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1Field.png b/html/classDumper_1_1Field.png new file mode 100644 index 0000000000000000000000000000000000000000..5efde6e3c3a0ab60f35982bee15d176baa71d87c GIT binary patch literal 622 zcmeAS@N?(olHy`uVBq!ia0vp^y+9nm!3-pY71+{%lyrbki0l9V|AEXGZ@!lHA6jl< zpjjX>{mhF84;}!;P0xlc0m^Zf1o;Is0Qq2G&NTZ90|VnvPZ!6K3dXl{->zG&AmC~~ z`^cN`^^a~ZdRmmJW6IWP0?*TQoq9lf_gFWg>x z_8+$O44$(-Prehx=~u)1GgqEl)?<4vWaabyn9>ah0bdO2Y^DBAkHQk=Dq!);Nw{f25 z_nfEZYUAW}<)YW}JF&N4%b7^8xDj%9;*<1a?b@^N-2I|C=}l(ty!-Cr3%7g^x4fqj zn_uP2zjSu>Ytf1$e9h6CzcVK5d~++^`783~6Y~{JtD@gNSij}zkD}MUd8-_=XK!Qa znW1LBUg=fwWzoy2vyHx41TUSZJ3BAv&7*zuW`A3{Yv!xP_n$92{i(#)bZOF+vuBoZ zN?f~gb=OMs4u>%J?aO+!%umz)^LLh#=j7~YCC`5{+Z8>f|MRPRN&^|QpXMa> d6pH?1+$~z3?p_?d6__#@JYD@<);T3K0RZtjA0Yq$ literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1FieldOf-members.html b/html/classDumper_1_1FieldOf-members.html new file mode 100644 index 00000000..54a66e84 --- /dev/null +++ b/html/classDumper_1_1FieldOf-members.html @@ -0,0 +1,102 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::FieldOf< Ts > Member List
+
+
+ +

This is the complete list of members for Dumper::FieldOf< Ts >, including all inherited members.

+ + + + + + + + + + + + +
displayDumper::FieldOf< Ts >
DisplayValue(Dumper &dump) override (defined in Dumper::FieldOf< Ts >)Dumper::FieldOf< Ts >inlinevirtual
Field(std::string label, bool optional_field=false, bool internal=false) (defined in Dumper::Field)Dumper::Fieldinline
FieldOf(std::string label, Display< Ts... > *display, Ts... values, bool optional_field=false, bool internal=false) (defined in Dumper::FieldOf< Ts >)Dumper::FieldOf< Ts >inline
internalDumper::Field
labelDumper::Field
optional_fieldDumper::Field
ShouldDisplay() override (defined in Dumper::FieldOf< Ts >)Dumper::FieldOf< Ts >inlinevirtual
values (defined in Dumper::FieldOf< Ts >)Dumper::FieldOf< Ts >
~Field() (defined in Dumper::Field)Dumper::Fieldvirtual
~FieldOf() (defined in Dumper::FieldOf< Ts >)Dumper::FieldOf< Ts >inline
+ + + + diff --git a/html/classDumper_1_1FieldOf.html b/html/classDumper_1_1FieldOf.html new file mode 100644 index 00000000..9c2c7833 --- /dev/null +++ b/html/classDumper_1_1FieldOf.html @@ -0,0 +1,209 @@ + + + + + + + +RetroLinker: Dumper::FieldOf< Ts > Class Template Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::FieldOf< Ts > Class Template Reference
+
+
+ +

A typed representation of a named value within a structure. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::FieldOf< Ts >:
+
+
+ + +Dumper::Field + +
+ + + + + + + + + + + +

+Public Member Functions

FieldOf (std::string label, Display< Ts... > *display, Ts... values, bool optional_field=false, bool internal=false)
 
bool ShouldDisplay () override
 
void DisplayValue (Dumper &dump) override
 
- Public Member Functions inherited from Dumper::Field
Field (std::string label, bool optional_field=false, bool internal=false)
 
+ + + + + + + + + + + + + + + + +

+Public Attributes

+Display< Ts... > * display
 The method to show it in.
 
+std::tuple< Ts... > values
 
- Public Attributes inherited from Dumper::Field
+std::string label
 The name to be displayed.
 
+bool optional_field
 If the field is optional, it will not be displayed for certain values.
 
+bool internal
 The field should not be displayed, it is for internal use (alternatively, it can be displayed through another method)
 
+

Detailed Description

+
template<typename ... Ts>
+class Dumper::FieldOf< Ts >

A typed representation of a named value within a structure.

+

Member Function Documentation

+ +

◆ DisplayValue()

+ +
+
+
+template<typename ... Ts>
+ + + + + +
+ + + + + + + +
void Dumper::FieldOf< Ts >::DisplayValue (Dumper & dump)
+
+inlineoverridevirtual
+
+ +

Implements Dumper::Field.

+ +
+
+ +

◆ ShouldDisplay()

+ +
+
+
+template<typename ... Ts>
+ + + + + +
+ + + + + + + +
bool Dumper::FieldOf< Ts >::ShouldDisplay ()
+
+inlineoverridevirtual
+
+ +

Implements Dumper::Field.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classDumper_1_1FieldOf.png b/html/classDumper_1_1FieldOf.png new file mode 100644 index 0000000000000000000000000000000000000000..3076f6fb35720ee35690c8fd52f6092d8933e4ec GIT binary patch literal 616 zcmeAS@N?(olHy`uVBq!ia0vp^y+9nm!3-pY71+{%lyrbki0l9V|AEXGZ@!lHA6jl< zpjjX>{mhF84;}!;P0xlc0m^Zf1o;Is0Qq2G&NTZ90|Vn{PZ!6K3dXl{-}b#$;Bjep zT=nel{2$w%Ff*rJj@hccrD*Eq3o32G$Nl~*J)bk3ai)s6Vvffpbs&CzOKq>6%1<-Z zN0LE{zg>K4l7C~5>3IRiO?mR$Dr@(%rIzY3)|3Fo5BE(S9gDCaO7P$v>U&%d=~$|WNO&r3=zy(&LJc#hf9C8{rT zx9L^9do8%xdUwqGOK!L`b}CVsc#lM_p + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::HexDisplay Member List
+
+
+ +

This is the complete list of members for Dumper::HexDisplay, including all inherited members.

+ + + + + + +
DisplayValue(Dumper &dump, std::tuple< offset_t > values) override (defined in Dumper::HexDisplay)Dumper::HexDisplay
Display< offset_t >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< offset_t >pure virtual
HexDisplay(unsigned width=8) (defined in Dumper::HexDisplay)Dumper::HexDisplayinline
IsMissing(std::tuple< Ts... > &values)Dumper::Display< offset_t >inlinevirtual
width (defined in Dumper::HexDisplay)Dumper::HexDisplay
+ + + + diff --git a/html/classDumper_1_1HexDisplay.html b/html/classDumper_1_1HexDisplay.html new file mode 100644 index 00000000..93840b2d --- /dev/null +++ b/html/classDumper_1_1HexDisplay.html @@ -0,0 +1,138 @@ + + + + + + + +RetroLinker: Dumper::HexDisplay Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::HexDisplay Class Reference
+
+
+ +

Represents a field with a hexadecimal display, typically bitfields, addresses, sizes, etc. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::HexDisplay:
+
+
+ + +Dumper::Display< offset_t > +Dumper::BitFieldDisplay + +
+ + + + + + + + + + + + + +

+Public Member Functions

HexDisplay (unsigned width=8)
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t > values) override
 
- Public Member Functions inherited from Dumper::Display< offset_t >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + +

+Public Attributes

+unsigned width
 
+

Detailed Description

+

Represents a field with a hexadecimal display, typically bitfields, addresses, sizes, etc.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1HexDisplay.png b/html/classDumper_1_1HexDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e9c857a62a4bfba3fda61293622534e5085dd3 GIT binary patch literal 1037 zcmeAS@N?(olHy`uVBq!ia0vp^D}lI!gBeJ!{%zd{q@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEer>7#Nsmc)B=-R4~4s`?_eg0Z+^H zuRM#t*FO^O(BCA;xg^WqHniQBciWTmyAH%JnQ}?QN$Dh~$P$&8s})o|<3lf{{#HJD zdX?DXo2ursU+zfUZ5m^8>2!6;J)LgtxNWBGrRE;n@4rdTd@Qq5=)j|;+XKAke=l_j zivNA)+vMpc&vjRZRh{?zo?F~?E4g&F?x(9~HI=8nNPMF%T%NK7utTmJA zEBC50cvG%<`1O*V^*KRPzs>rqcO`wv%?*0yuS{m&?^+r9)mie3+tO9%ldaMoX8A<- zMjcI0-EV)rV$Zeud8JYJm+zc-%k)d#<4gTL_ss9RJdSp>&W~ANHDAT|ZpCpa@AtJn z9-n;f`&5aSoS*!6?Vq@y{T*?NsweL+0Qr(t)AQFW$5}yM#vBZHwlWSkMi7?cNE@61E8bwL{ z+>*#?sa%PIf-@Z)wUi#MRuC2Zcs2Xd-sdhZdarj@ZCP2zC#mmm_~u^!&%kgDS5jK` z?%0*G`!!GAd)9YM+!C33SYF}m+(jO%U1v&phTh8l_EplwMW@zwS#5HO*l~+neBLj+ zJLbGfdfz|Q^xDgtH%r{VE|=y18+z%N-PztN>lS|R)w;5G{r%-(@At30)W1J4{@(^k zzGaHF&p%zCu+#g!c=__aM;U4WidQrcHFLGSdYGYSj^*SQ#iGo&t+&Sfo?y2SoM zWyR+SZts~Jwqp+#+#&b3^wN}|PuGCaa1SL7MlL!1&3)4JP#w8j>uPS-JPDi`+<#0} zCG)h(-jvFui-J;1()Zb`>*js0FP-x^@KDg5>3_Gg{=F>q`s|i@i+%+AwI5Zv`C91Z zyEm2r{a169uNq!W4}Es{(!K5?|DgEmNm;vtN-Nd`A3iK`*(&UKv0AQ5`z_(h-CuRa91?Q# zLtdWEzq0o{qi5WNhb2-$)wAP0sy3b04Vv^PpDSq6m(U55maLasqPf(h`5)t-lj}-d Se(8fUJcFmJpUXO@geCw~*7v&r literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1Region-members.html b/html/classDumper_1_1Region-members.html new file mode 100644 index 00000000..2266efcc --- /dev/null +++ b/html/classDumper_1_1Region-members.html @@ -0,0 +1,108 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::Region Member List
+
+
+ +

This is the complete list of members for Dumper::Region, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
AddField(Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(size_t index, Field *field) (defined in Dumper::Container)Dumper::Containerinline
AddField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddHiddenField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
AddOptionalField(std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
Container(std::string name="") (defined in Dumper::Container)Dumper::Containerinline
Display(Dumper &dump) (defined in Dumper::Container)Dumper::Containervirtual
field_names (defined in Dumper::Container)Dumper::Container
fields (defined in Dumper::Container)Dumper::Container
FindField(std::string name) (defined in Dumper::Container)Dumper::Containerinline
GetField(std::string name, offset_t default_value=T()) (defined in Dumper::Container)Dumper::Containerinline
InsertField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertHiddenField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
InsertOptionalField(size_t index, std::string label, D *display, Ts... values) (defined in Dumper::Container)Dumper::Containerinline
name (defined in Dumper::Container)Dumper::Container
Region(std::string name, offset_t offset, offset_t length, unsigned display_width) (defined in Dumper::Region)Dumper::Regioninline
~Container() (defined in Dumper::Container)Dumper::Containervirtual
+ + + + diff --git a/html/classDumper_1_1Region.html b/html/classDumper_1_1Region.html new file mode 100644 index 00000000..df8cd43d --- /dev/null +++ b/html/classDumper_1_1Region.html @@ -0,0 +1,175 @@ + + + + + + + +RetroLinker: Dumper::Region Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::Region Class Reference
+
+
+ +

A record that represents a region within the file. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::Region:
+
+
+ + +Dumper::Container +Dumper::Block + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Region (std::string name, offset_t offset, offset_t length, unsigned display_width)
 
- Public Member Functions inherited from Dumper::Container
Container (std::string name="")
 
+FieldFindField (std::string name)
 
+template<typename T >
GetField (std::string name, offset_t default_value=T())
 
+void AddField (Field *field)
 
+void AddField (size_t index, Field *field)
 
+template<typename D , typename ... Ts>
void AddField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddOptionalField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void AddHiddenField (std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertOptionalField (size_t index, std::string label, D *display, Ts... values)
 
+template<typename D , typename ... Ts>
void InsertHiddenField (size_t index, std::string label, D *display, Ts... values)
 
+virtual void Display (Dumper &dump)
 
+ + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Dumper::Container
+std::string name
 
+std::map< std::string, Field * > field_names
 
+std::vector< Field * > fields
 
+

Detailed Description

+

A record that represents a region within the file.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classDumper_1_1Region.png b/html/classDumper_1_1Region.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6b0d59bc8fde20d528de077cf5a60f911ddda4 GIT binary patch literal 758 zcmeAS@N?(olHy`uVBq!ia0vp^r9j-l!3-qdT?_F9QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B+-o-U3d6^w7^zRhbk;BnQz zF7)ZQ{YN*2CzF|Cebugtrnd+@e{f{OegVNs84gdoo@mcYlMY_X{5kOn?=Hoa&ntGN z)Y|r`WdBkOf2Oha^!=rRe$~~!8Km~DFZrfB=JjyLD7 zWi|U3gxg*>Fo8PEn7@u-UsY8&E<{X{H^$I z{Jymvmjb6IR{fHgG)>^aH9 z&~JRi>b&w6=QaB;G2Sw~wtiLOcBTf+JXQwpJ6sIYc8D_Q6lya>JPKpjaAYk*LT5DN zgE^VAmK{I1WYsT&ywK3CPv%EBcdlF&w@m(HQQx&HsYR=f7TP~Lu?ulH;_ z;#8m6TOQ=`qN8#98pVvn-RJe^ zYs=g|i|PgK%hoMlvOSXh+Pi&m8{g&MkL&)pB5TLGWsjxowy#=Mw)3;wyxzZiwoab4 zDyz|Po%p^L|K|IJUY(@B+3&K6ExDeP5uEsahO5gxW~WK~kHaQyc_JUV{Hgn->79bU zA@#HNeXX$ZEb9=g-*(LNP-g!6>C6L+L>=#&uoa7e;+yf*30L=60?J~j$fOtJ?ERr=CI#YNoT*!NhzDNXMMEb(#5MD zezC|r`&#N<#{1gY?`o|)HuVFOkkIx?OH>c9QBv~%%)D$@Mbm53tDL|T%HZkh=d#Wz Gp$Py~dvO#1 literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1SectionedDisplay-members.html b/html/classDumper_1_1SectionedDisplay-members.html new file mode 100644 index 00000000..ee3bdb14 --- /dev/null +++ b/html/classDumper_1_1SectionedDisplay-members.html @@ -0,0 +1,99 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::SectionedDisplay< Ts > Member List
+
+
+ +

This is the complete list of members for Dumper::SectionedDisplay< Ts >, including all inherited members.

+ + + + + + + + + +
DisplayValue(Dumper &dump, std::tuple< offset_t, Ts... > values) override (defined in Dumper::SectionedDisplay< Ts >)Dumper::SectionedDisplay< Ts >
Display< offset_t, Ts... >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< offset_t, Ts... >pure virtual
IsMissing(std::tuple< Ts... > &values)Dumper::Display< offset_t, Ts... >inlinevirtual
offset_display (defined in Dumper::SectionedDisplay< Ts >)Dumper::SectionedDisplay< Ts >
SectionedDisplay(Display< Ts... > *offset_display) (defined in Dumper::SectionedDisplay< Ts >)Dumper::SectionedDisplay< Ts >inline
SectionedDisplay(std::string suffix, Display< Ts... > *offset_display) (defined in Dumper::SectionedDisplay< Ts >)Dumper::SectionedDisplay< Ts >inline
suffix (defined in Dumper::SectionedDisplay< Ts >)Dumper::SectionedDisplay< Ts >
~SectionedDisplay() (defined in Dumper::SectionedDisplay< Ts >)Dumper::SectionedDisplay< Ts >inline
+ + + + diff --git a/html/classDumper_1_1SectionedDisplay.html b/html/classDumper_1_1SectionedDisplay.html new file mode 100644 index 00000000..c34bf1d7 --- /dev/null +++ b/html/classDumper_1_1SectionedDisplay.html @@ -0,0 +1,143 @@ + + + + + + + +RetroLinker: Dumper::SectionedDisplay< Ts > Class Template Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::SectionedDisplay< Ts > Class Template Reference
+
+
+ +

A display with a prefix for a section. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::SectionedDisplay< Ts >:
+
+
+ + +Dumper::Display< offset_t, Ts... > + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

SectionedDisplay (Display< Ts... > *offset_display)
 
SectionedDisplay (std::string suffix, Display< Ts... > *offset_display)
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t, Ts... > values) override
 
- Public Member Functions inherited from Dumper::Display< offset_t, Ts... >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + + + +

+Public Attributes

+std::string suffix
 
+Display< Ts... > * offset_display
 
+

Detailed Description

+
template<typename ... Ts>
+class Dumper::SectionedDisplay< Ts >

A display with a prefix for a section.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classDumper_1_1SectionedDisplay.png b/html/classDumper_1_1SectionedDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..739f5a8b5fa04984dec943787d89ae5e30a24b02 GIT binary patch literal 833 zcmeAS@N?(olHy`uVBq!ia0vp^r-3+tgBeIRv=lZ1Dd_;85ZC|z{{xvX-h3_XKeXJ! zK(jz%`k5CG9y|bwo1P6@0+iz{3GxeO0P?}WoN4wI1_q`xo-U3d6^w7^zV2IXz|+F6 z9Qyg6e+}2!qh@>)Y+q@02N{Y?vN$Jx{F(l>(pY(=HA+hT7g7WTCH*J6x}?~MPD}mW z*>NXqks|t)_HekQ?F$YcjP<$)0=X>KS^DAKJ$CA zz^60UoOu84nXWE)@%p{ZcP~w_s=Qk(-u~nz*UGb-^mSxgZmo&i>blEkzEKc&p>6xa zvpZ(gRfnyAETn(>cX76jF68Ii|DoenXUIoq4>Mpuc9ke)#cM zr%HnZjvw0fT6@mCJ?pfs3XjzvDgAr*{f}oX&cE&UD+R63yR5(Y%R2YkC%?-d?$-G) zC@MJ7FLrZB#~)r_F~Nx+O(I=fj$NLe8hib#BvZrt*Q^Zu7n>vE);~XB)A6+Tlf(@5 zjc2Ub7?iU%F&wCvrNdw_PmPseJQ;};&?{WNFRTI<_C3zwJ8m-jqoq!Ye*;*!9eLPJ-#-nQ7;lTw`7r@hJguYEpK z{Bv5`?4;S%+xEZR7X3E&-Zq~o+m(s8*6s9Odt=U~H+**dt8VTQliti;CUpI2gwJZp z%9yIY^qbz!rE=3Ns;nEcd}SwI{OI4`oql2WRjbRpc6X~ToyT4H)-rjevQ)ay-qi|` z@fRgm=kG1tDE&C8PEdURUv>@gzjG3f-?_f^`=Y*|pI?7gP04(EdZG9Ajb;0;aDCof zqxp1q$n2V(R?p5guT4IA>#B0}@h{(1S0yKkzFwKEBDv}_v)81(S$cC+^0Q*5)h$1~ z>Cb`Zx?+?5FwfFau>=OAXWw%3)0=co8-L-~;#eVmLxO)PFtIauy85}Sb4q9e05gM& ASO5S3 literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1SegmentedDisplay-members.html b/html/classDumper_1_1SegmentedDisplay-members.html new file mode 100644 index 00000000..7cb59843 --- /dev/null +++ b/html/classDumper_1_1SegmentedDisplay-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::SegmentedDisplay Member List
+
+
+ +

This is the complete list of members for Dumper::SegmentedDisplay, including all inherited members.

+ + + + + + +
DisplayValue(Dumper &dump, std::tuple< offset_t, offset_t > values) override (defined in Dumper::SegmentedDisplay)Dumper::SegmentedDisplay
Display< offset_t, offset_t >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< offset_t, offset_t >pure virtual
IsMissing(std::tuple< Ts... > &values)Dumper::Display< offset_t, offset_t >inlinevirtual
SegmentedDisplay(unsigned width=4) (defined in Dumper::SegmentedDisplay)Dumper::SegmentedDisplayinline
width (defined in Dumper::SegmentedDisplay)Dumper::SegmentedDisplay
+ + + + diff --git a/html/classDumper_1_1SegmentedDisplay.html b/html/classDumper_1_1SegmentedDisplay.html new file mode 100644 index 00000000..1e17c4b0 --- /dev/null +++ b/html/classDumper_1_1SegmentedDisplay.html @@ -0,0 +1,137 @@ + + + + + + + +RetroLinker: Dumper::SegmentedDisplay Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::SegmentedDisplay Class Reference
+
+
+ +

A value displayed as a colon-separated pair, typically 8086 segmented addresses. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::SegmentedDisplay:
+
+
+ + +Dumper::Display< offset_t, offset_t > + +
+ + + + + + + + + + + + + +

+Public Member Functions

SegmentedDisplay (unsigned width=4)
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t, offset_t > values) override
 
- Public Member Functions inherited from Dumper::Display< offset_t, offset_t >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + +

+Public Attributes

+unsigned width
 
+

Detailed Description

+

A value displayed as a colon-separated pair, typically 8086 segmented addresses.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1SegmentedDisplay.png b/html/classDumper_1_1SegmentedDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..8b035c78b005e889aaed6d8d26fedef7871e765c GIT binary patch literal 817 zcmeAS@N?(olHy`uVBq!ia0vp^w}Ci-gBeIJ*ZPnNq@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEer>7#NuLc)B=-R4~4s`*PA61(9aw zHLp(nw*UAxEG7J4+&c%u)T)$|jr@E+#7}S1Y3Abg~jA*m}L; z*p-+1-OZ@x+O+HaZyz=PKGGSy;%?#5ZGKmlHLmCDT6owlFgk&2l4j<~UC(!4c*Y^& z|81?!S(B(kk~}kXPCWE6eyn`^wbx>wVAcjbl1D`=dd@BX=O6biwT?Yl_SE8rdHpr7_7zhmfAm_y{V0Fl|LS{pzMqX#{O9@3(_bh| z^xervYvx8>@$H|d<7!PId7B_l&~R>HR9$uT<`Z_dj& ze5m(~*?Uih7lD&`8Gc<(VQ%#2!LsN`J4TA%mgE^gDDvxT!|EN@Tz9i8)g!E5{PdDqM1pV>~~-nl)Z zd-jj0y*ICaUlMN-XK*2`EPqnTD(jrr0k^#aWJTv5zm~&r@QHHuC4C9~RlQYpoo^Es zXawxo^L$^B>y=3+f2N(C_g7^?{>hri(x{0~Qv&!dIZyKYvaq(h|5u&#kJf2{UsA5# z{FXAov#(~t+7h=*pTknL=ggQqr{uYAT>q6{mS*3#7KI=Dr}8~zlI738&u345+V!jT z{`O0@k>$5m-B4M%LhSk9z*Eom9}3%jZc<1{-a4-DlWT7mM@@RCQGC6%y4`ouzfE9Y mpH%bw`|@O3k74pF`Nb!aRHdP89ZJ6T-G@yGywoC%cFh( literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1StringDisplay-members.html b/html/classDumper_1_1StringDisplay-members.html new file mode 100644 index 00000000..8915a6c8 --- /dev/null +++ b/html/classDumper_1_1StringDisplay-members.html @@ -0,0 +1,103 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::StringDisplay Member List
+
+
+ +

This is the complete list of members for Dumper::StringDisplay, including all inherited members.

+ + + + + + + + + + + + + +
close_quote (defined in Dumper::StringDisplay)Dumper::StringDisplay
DisplayValue(Dumper &dump, std::tuple< std::string > values) override (defined in Dumper::StringDisplay)Dumper::StringDisplay
DisplayValue(Dumper &dump, std::tuple< offset_t > values) (defined in Dumper::StringDisplay)Dumper::StringDisplay
Display< std::string >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< std::string >pure virtual
IsMissing(std::tuple< std::string > &values) override (defined in Dumper::StringDisplay)Dumper::StringDisplay
IsMissing(std::tuple< offset_t > &values) (defined in Dumper::StringDisplay)Dumper::StringDisplay
Display< std::string >::IsMissing(std::tuple< Ts... > &values)Dumper::Display< std::string >inlinevirtual
open_quote (defined in Dumper::StringDisplay)Dumper::StringDisplay
StringDisplay(size_t width, std::string open_quote, std::string close_quote) (defined in Dumper::StringDisplay)Dumper::StringDisplayinline
StringDisplay(size_t width, std::string quote="") (defined in Dumper::StringDisplay)Dumper::StringDisplayinline
StringDisplay(std::string quote="") (defined in Dumper::StringDisplay)Dumper::StringDisplayinline
widthDumper::StringDisplay
+ + + + diff --git a/html/classDumper_1_1StringDisplay.html b/html/classDumper_1_1StringDisplay.html new file mode 100644 index 00000000..986467fa --- /dev/null +++ b/html/classDumper_1_1StringDisplay.html @@ -0,0 +1,159 @@ + + + + + + + +RetroLinker: Dumper::StringDisplay Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::StringDisplay Class Reference
+
+
+ +

A display for a fixed or variable length string field. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::StringDisplay:
+
+
+ + +Dumper::Display< std::string > + +
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

StringDisplay (size_t width, std::string open_quote, std::string close_quote)
 
StringDisplay (size_t width, std::string quote="")
 
StringDisplay (std::string quote="")
 
+bool IsMissing (std::tuple< std::string > &values) override
 
+void DisplayValue (Dumper &dump, std::tuple< std::string > values) override
 
+bool IsMissing (std::tuple< offset_t > &values)
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t > values)
 
- Public Member Functions inherited from Dumper::Display< std::string >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + + + + + + +

+Public Attributes

+offset_t width
 The width of the string field, exactly this many characters will be shown, unless it is offset_t(-1), then it prints until the first null byte.
 
+std::string open_quote
 
+std::string close_quote
 
+

Detailed Description

+

A display for a fixed or variable length string field.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1StringDisplay.png b/html/classDumper_1_1StringDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8961e0660ff1d5ec5dc26ad18e0edf96098cc5 GIT binary patch literal 762 zcmeAS@N?(olHy`uVBq!ia0vp^TY)%$gBeI>upC(hq@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEer>7#NsZJzX3_Dj46+eckt3fv2Ut zGvw@V`;VEyd1_Ctz5Asjq@Cu?Fq{9lMg2yd(?)YPOn8zo>x#`q;I_|<*V z^r^a0o4NBIO-f6xvMCK%q5tmsn~R%&%$lXbpSm*sfBf99>fe)Hf)jFGF0IOX`P=fl z$F;Yn8_(H=K0B3h%ku3l>(h2$v%bFzIeaxaS8(>s)jf|^@?8%P5Q-YtMF~cmCbDo4b#<38Gd90F*o#+ zz%bBl5oi-`QsG_Zsq1Ms>&m1ji-li(J>+$%)U`Wh>&A0>w`WTKo)dV#BwVMgw=DLb zL1|M&eUUwz&e64|1G)&4)S^{K^4->0wt&Z(ZXW%=$aule5lndZoC_LVz3dE@lh zyk}?ACSAGyHsbqVX?3-@*;{$H#y)eoduMM_S?4VogEWs?InP%w*^_efgKDMEuiU=x z^4f_@Vq@1T=Kk7RS=(#%d@HY$bocs|#e2`ODr{ZWW}}i5i}gL-e@%&+^l!e}R+XO_LEe-4=Uq{3F_`s_ Z@payG%R`CI*MX^&!PC{xWt~$(6966Xd6fVF literal 0 HcmV?d00001 diff --git a/html/classDumper_1_1VersionDisplay-members.html b/html/classDumper_1_1VersionDisplay-members.html new file mode 100644 index 00000000..502d0b67 --- /dev/null +++ b/html/classDumper_1_1VersionDisplay-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Dumper::VersionDisplay Member List
+
+
+ +

This is the complete list of members for Dumper::VersionDisplay, including all inherited members.

+ + + + + + +
DisplayValue(Dumper &dump, std::tuple< offset_t, offset_t > values) override (defined in Dumper::VersionDisplay)Dumper::VersionDisplay
Display< offset_t, offset_t >::DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0Dumper::Display< offset_t, offset_t >pure virtual
IsMissing(std::tuple< Ts... > &values)Dumper::Display< offset_t, offset_t >inlinevirtual
separator (defined in Dumper::VersionDisplay)Dumper::VersionDisplay
VersionDisplay(std::string separator=".") (defined in Dumper::VersionDisplay)Dumper::VersionDisplayinline
+ + + + diff --git a/html/classDumper_1_1VersionDisplay.html b/html/classDumper_1_1VersionDisplay.html new file mode 100644 index 00000000..31e7e17d --- /dev/null +++ b/html/classDumper_1_1VersionDisplay.html @@ -0,0 +1,137 @@ + + + + + + + +RetroLinker: Dumper::VersionDisplay Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Dumper::VersionDisplay Class Reference
+
+
+ +

A value displayed as a separated pair, such as a version number. + More...

+ +

#include <dumper.h>

+
+Inheritance diagram for Dumper::VersionDisplay:
+
+
+ + +Dumper::Display< offset_t, offset_t > + +
+ + + + + + + + + + + + + +

+Public Member Functions

VersionDisplay (std::string separator=".")
 
+void DisplayValue (Dumper &dump, std::tuple< offset_t, offset_t > values) override
 
- Public Member Functions inherited from Dumper::Display< offset_t, offset_t >
+virtual bool IsMissing (std::tuple< Ts... > &values)
 Returns true if the specified value is such that it should not be displayed.
 
+virtual void DisplayValue (Dumper &dump, std::tuple< Ts... > values)=0
 Prints the value through the Dumper, different types of fields can be displayed in different ways.
 
+ + + +

+Public Attributes

+std::string separator
 
+

Detailed Description

+

A value displayed as a separated pair, such as a version number.

+

The documentation for this class was generated from the following files:
    +
  • src/dumper/dumper.h
  • +
  • src/dumper/dumper.cc
  • +
+
+ + + + diff --git a/html/classDumper_1_1VersionDisplay.png b/html/classDumper_1_1VersionDisplay.png new file mode 100644 index 0000000000000000000000000000000000000000..de95a53ca54c5216725e5fc5875c5bcaf814248b GIT binary patch literal 789 zcmV+w1M2*VP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0007@ zNklvHQL41|~UOlIHziBIifE;5cynx;n#9X7>A5_}-!zgU)K8B|zEa!5@! zlJuv^Mw0%N*uwfplDCyStlO*BHWh^-ncoQh;J zBM0;2DfD?1j8D$3y-XX;a26Aq4LM!u!SRyqxksApK3l9DZMGsAQ%+XLdA8E%n9Q%) z?s$AZbe&u4_L}6Zo%Y*#es1=pZ?Ii?oSa*}YpqMv%E@{s?1tpZ^SAdcecxgU$<5Ts zOj5pT)X8SmwiUDtp4V07+iee$WlL-%*;L0j@8qjQk}v27t{-9RUEh`qIU7jwLWKv( zs{Jn8kGGyAU)D7nN&3`eBT0XnY$WMVUu?^=EMp1)KBor&461?I9*=S124?$08y0S4 zwpk|uz@sJ`0Ql2n0|0-TYyjX-lMMj;X|e%;KTS3O@TbWJ0RA-D0KlIn8vyvzWCH+y znrr~zPm>J*-l7mf7*q(7G^8e*B>B^1lO%uYVcTktB;D4xb<^kYGDWu|FK>PqTlY*) z*d(daY4p#rt-ot$`Y>(gSJ98t>=#>-ZtA5vY41Ygf;CEIeH3lBdfZz6CR_Tx#S)U6sgvf?)I%rLull~V z>SX6_>tmCorrr=jlB^nG2WIP=$Q4`XJa1u>r2kNpO_Ka+vPqIZeX)fQ!kGF8>W#RY TO^uHY00000NkvXXu0mjf`_+cu literal 0 HcmV?d00001 diff --git a/html/classELF_1_1ELFFormat-members.html b/html/classELF_1_1ELFFormat-members.html new file mode 100644 index 00000000..3282b3a9 --- /dev/null +++ b/html/classELF_1_1ELFFormat-members.html @@ -0,0 +1,226 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ELF::ELFFormat Member List
+
+
+ +

This is the complete list of members for ELF::ELFFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
ARM enum value (defined in ELF::ELFFormat)ELF::ELFFormat
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
cpu (defined in ELF::ELFFormat)ELF::ELFFormat
cpu_type enum name (defined in ELF::ELFFormat)ELF::ELFFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
ELFCLASS32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
ELFCLASS64 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
ELFDATA2LSB (defined in ELF::ELFFormat)ELF::ELFFormatstatic
ELFDATA2MSB (defined in ELF::ELFFormat)ELF::ELFFormatstatic
ELFFormat() (defined in ELF::ELFFormat)ELF::ELFFormatinline
ELFFormat(Linker::Module &module) (defined in ELF::ELFFormat)ELF::ELFFormatinline
EM_386 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
EM_68K (defined in ELF::ELFFormat)ELF::ELFFormatstatic
EM_ARM (defined in ELF::ELFFormat)ELF::ELFFormatstatic
endiantype (defined in ELF::ELFFormat)ELF::ELFFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
I386 enum value (defined in ELF::ELFFormat)ELF::ELFFormat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
M68K enum value (defined in ELF::ELFFormat)ELF::ELFFormat
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
option_16bit (defined in ELF::ELFFormat)ELF::ELFFormat
option_heap_section (defined in ELF::ELFFormat)ELF::ELFFormat
option_libraries (defined in ELF::ELFFormat)ELF::ELFFormat
option_linear (defined in ELF::ELFFormat)ELF::ELFFormat
option_resources (defined in ELF::ELFFormat)ELF::ELFFormat
option_segmentation (defined in ELF::ELFFormat)ELF::ELFFormat
option_stack_section (defined in ELF::ELFFormat)ELF::ELFFormat
output_format (defined in ELF::ELFFormat)ELF::ELFFormat
parse_exported_name(std::string reference_name, Linker::ExportedSymbol &symbol) (defined in ELF::ELFFormat)ELF::ELFFormat
parse_imported_name(std::string reference_name, Linker::SymbolName &symbol) (defined in ELF::ELFFormat)ELF::ELFFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ProduceModule(Linker::Module &module, Linker::Reader &rd) overrideELF::ELFFormatvirtual
R_386_16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_8 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_OZRELSEG16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_OZSEG16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_PC16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_PC32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_PC8 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_SEG16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_SEGRELATIVE (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_SUB16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_386_SUB32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_68K_16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_68K_32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_68K_8 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_68K_PC16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_68K_PC32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_68K_PC8 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_ABS16 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_ABS32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_ABS8 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_CALL (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_JUMP24 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_PC24 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_REL32 (defined in ELF::ELFFormat)ELF::ELFFormatstatic
R_ARM_V4BX (defined in ELF::ELFFormat)ELF::ELFFormatstatic
ReadFile(Linker::Reader &in) overrideELF::ELFFormatvirtual
relocations (defined in ELF::ELFFormat)ELF::ELFFormat
sections (defined in ELF::ELFFormat)ELF::ELFFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
SetupOptions(char special_char, Linker::OutputFormat *format) overrideELF::ELFFormatvirtual
SHF_ALLOC (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHF_EXECINSTR (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHF_GROUP (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHF_MERGE (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHF_WRITE (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHN_ABS (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHN_COMMON (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHN_UNDEF (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHN_XINDEX (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHT_GROUP (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHT_NOBITS (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHT_PROGBITS (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHT_REL (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHT_RELA (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHT_STRTAB (defined in ELF::ELFFormat)ELF::ELFFormatstatic
SHT_SYMTAB (defined in ELF::ELFFormat)ELF::ELFFormatstatic
special_prefix_char (defined in ELF::ELFFormat)ELF::ELFFormat
STB_GLOBAL (defined in ELF::ELFFormat)ELF::ELFFormatstatic
STB_LOCAL (defined in ELF::ELFFormat)ELF::ELFFormatstatic
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
wordbytes (defined in ELF::ELFFormat)ELF::ELFFormat
WriteFile(Linker::Writer &wr) overrideELF::ELFFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classELF_1_1ELFFormat.html b/html/classELF_1_1ELFFormat.html new file mode 100644 index 00000000..0b2a39f9 --- /dev/null +++ b/html/classELF_1_1ELFFormat.html @@ -0,0 +1,690 @@ + + + + + + + +RetroLinker: ELF::ELFFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

ELF object and executable format. + More...

+ +

#include <elf.h>

+
+Inheritance diagram for ELF::ELFFormat:
+
+
+ + +Linker::InputFormat +Linker::OutputFormat +Linker::LinkerManager +Linker::Format +Linker::Format + +
+ + + + + + + + +

+Classes

class  Relocation
 
class  Section
 
class  Symbol
 
+ + + +

+Public Types

enum  cpu_type { I386 +, M68K +, ARM + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void SetupOptions (char special_char, Linker::OutputFormat *format) override
 Initializes the reader for linking purposes.
 
void ProduceModule (Linker::Module &module, Linker::Reader &rd) override
 Reads a file and loads the information into a module object.
 
ELFFormat (Linker::Module &module)
 
+bool parse_imported_name (std::string reference_name, Linker::SymbolName &symbol)
 
+bool parse_exported_name (std::string reference_name, Linker::ExportedSymbol &symbol)
 
void ReadFile (Linker::Reader &in) override
 Loads file into memory.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Linker::OutputFormatoutput_format
 
+EndianType endiantype
 
+char special_prefix_char
 
+bool option_segmentation
 
+bool option_16bit
 
+bool option_linear
 
+bool option_stack_section
 
+bool option_heap_section
 
+bool option_resources
 
+bool option_libraries
 
+size_t wordbytes
 
+enum ELF::ELFFormat::cpu_type cpu
 
+std::vector< Sectionsections
 
+std::vector< Relocationrelocations
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Attributes

+static const uint8_t ELFCLASS32 = 1
 
+static const uint8_t ELFCLASS64 = 2
 
+static const uint8_t ELFDATA2LSB = 1
 
+static const uint8_t ELFDATA2MSB = 2
 
+static const uint16_t EM_386 = 3
 
+static const uint16_t EM_68K = 4
 
+static const uint16_t EM_ARM = 40
 
+static const uint32_t SHT_PROGBITS = 1
 
+static const uint32_t SHT_SYMTAB = 2
 
+static const uint32_t SHT_STRTAB = 3
 
+static const uint32_t SHT_RELA = 4
 
+static const uint32_t SHT_NOBITS = 8
 
+static const uint32_t SHT_REL = 9
 
+static const uint32_t SHT_GROUP = 10
 
+static const offset_t SHF_WRITE = 0x0001
 
+static const offset_t SHF_ALLOC = 0x0002
 
+static const offset_t SHF_EXECINSTR = 0x0004
 
+static const offset_t SHF_MERGE = 0x0010
 
+static const offset_t SHF_GROUP = 0x0200
 
+static const uint16_t SHN_UNDEF = 0
 
+static const uint16_t SHN_ABS = 0xFFF1
 
+static const uint16_t SHN_COMMON = 0xFFF2
 
+static const uint16_t SHN_XINDEX = 0xFFFF
 
+static const uint8_t STB_LOCAL = 0
 
+static const uint8_t STB_GLOBAL = 1
 
+static const offset_t R_386_8 = 22
 
+static const offset_t R_386_PC8 = 23
 
+static const offset_t R_386_16 = 20
 
+static const offset_t R_386_PC16 = 21
 
+static const offset_t R_386_32 = 1
 
+static const offset_t R_386_PC32 = 2
 
+static const offset_t R_386_SEG16 = 45
 
+static const offset_t R_386_SUB16 = 46
 
+static const offset_t R_386_SUB32 = 47
 
+static const offset_t R_386_SEGRELATIVE = 48
 
+static const offset_t R_386_OZSEG16 = 80
 
+static const offset_t R_386_OZRELSEG16 = 81
 
+static const offset_t R_68K_8 = 3
 
+static const offset_t R_68K_PC8 = 6
 
+static const offset_t R_68K_16 = 2
 
+static const offset_t R_68K_PC16 = 5
 
+static const offset_t R_68K_32 = 1
 
+static const offset_t R_68K_PC32 = 4
 
+static const offset_t R_ARM_ABS8 = 8
 
+static const offset_t R_ARM_ABS16 = 16
 
+static const offset_t R_ARM_ABS32 = 2
 
+static const offset_t R_ARM_REL32 = 3
 
+static const offset_t R_ARM_CALL = 28
 
+static const offset_t R_ARM_JUMP24 = 29
 
+static const offset_t R_ARM_PC24 = 1
 
+static const offset_t R_ARM_V4BX = 40
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

ELF object and executable format.

+

The latest and most widespread file format, developed for the UNIX operating system.

+

Member Function Documentation

+ +

◆ ProduceModule()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void ELFFormat::ProduceModule (Linker::Module & module,
Linker::Reader & rd )
+
+overridevirtual
+
+ +

Reads a file and loads the information into a module object.

+ +

Implements Linker::InputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ELFFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetupOptions()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void ELFFormat::SetupOptions (char special_char,
Linker::OutputFormat * format )
+
+overridevirtual
+
+ +

Initializes the reader for linking purposes.

+
Parameters
+ + + +
special_charMost input formats do not provide support for the special requirements of the output format (such as segmentation for ELF). We work around this by introducing special name prefixes $$SEGOF$ where $ is the value of special_char.
formatThe output format that will be used. This is required to know which extra special features need to be implemented (such as segmentation).
+
+
+ +

Reimplemented from Linker::InputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void ELFFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/elf.h
  • +
  • src/format/elf.cc
  • +
+
+ + + + diff --git a/html/classELF_1_1ELFFormat.png b/html/classELF_1_1ELFFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..70454e766e350313adbccd870f26a0c411f9f095 GIT binary patch literal 2086 zcmcIlc{tnI8crBXm7%n?bW&AYwWX9;W0|0;6-(1bOOde*Vw+n`NR)KwbTG8IWCW!x zS*%lpB1-G3olApO2<=V6AgCp=G~A!|_K*AA``l;#x#y2_-t&Fm^PcDX&iUSx>h9_! zC!;0<0)gb5FFITSfxvVC{~|38%$~D%PXWs@cbBVlO_`- ziow|yp^@}x!Afd~DSmiGxtHFn-Duk+6%sgdxPAG^>mwr@Yhw&O(3#q7H@AU@pMldr zi5^JPtBRvEddPp|FyTlQYV`n#Lp^9@p}AP;W@K4?^WpFcX(JF+rv0mrakS7 zo%l2b){t580V`_0o#S_TpUzlq@G`H6q#a&i3XOjldVshaQ`|Lfn$c@fs!LN@#h-`S zs&a$bz!`GNPx`IgYIs^rxrMj9qu;D%LC(rg!*gewRMjqo6cy!469pR!|k2=sSgGDsI$*)IjJ#GRLY52blLH@$-LM6MhFY~%R&H;Cp3Yk zlR=ds2j|#W3)R4fmXrkF`t(Kyu?ri|8(g2xn!U#Ql7C0102}c+ZJ?ZnQ9w~DIZ6Ws zV!xj}v$f7#%>M*pn6e}>!^fkSY&`yTI7Yj;gm%M30`2H+XF9l>NwNSct<`{P5-h1t z9y60zNh(t&K=bzlT;-?V#D?%^sHrLut)0;dN>yshv-wba~WMh1fBC0e}(D1vY)C3%c=c4-L zd(GlZk~K1q3OuCLZE2&>(Y-h66$w`x$CgoWbJyto>cEgCBx zh-jPox#*R$F^j<8tA%5nd}OuD2S$0-XEVc3+cp`-meXPQEziWpb*zMm8kLs2G~p?g zI}|(Z%G~b!aq*(XBq^Pfn_M9Z`rGi;H#>snw%?2*GB}zQ&u?%@6Y<c%s$LGvzE=m+Qu%xv8qIA+<#x5m$6NkBTwB&`Jc(qCRO zNFy1D(F}dEvZHAIPsA3?eR`$_nI1@%my~_4aD}Pft*0J0-;jr_ASaSQNb8u*99j8xuPRdIas`Au%(Z}^E7?DYaU9ILkF(b8VYLJN%ePQ zDi!{4KT>(rzsTV&qXyCX2*ti_hmfn}>a?JdsQKzWK`$=)XqXB#L4xkb)Mr>m`IHQ} zl2=)66#2xUd9e%neiC%62hh?F>?+TRPIeVy>P5&r+JSH4?h)2EKRFkri@6;~?CKcE zEJd~T?@+0U-c!nL<^4PtzPMV)--9ZJKhiVGl{{e$zq{cZ%loa6<2&P>27(YYGI|_= zB*@WqU~h4Qxms4Qx$i4G&uuNP8RSl#+l5ts<5o^>Cd}KvJwC{qYJjWd1SOwgQNsDG zp}#uwA+biBWFZ5)oYQ1d_OVbgGP5ec4{z+goLa8d=OfU^TGLG#NyGDlz z=Eo$3XJ~vS@}%C@Ucb-UZ+zPc4SVTFNbRUa&uz}MBDYw&MCkSsjOwji^Nb%ngfMA&dB!AwpX|LZ` zt8$2NaHc9xCBQ_3BDv!7A0&;;yo9obR)|fwRHw>6ZU}9qXT;(vb`)3*5bWBD^E*o@ zL4IS}JtxhZ)3#cY7x1f*Z#NALdu>~WQeZr4px;nM?y{^}$3QkrTg!2_^&|_0DM5;F zUf=8aIv!C4h6Mat1t_So2m+nf06*8<7f^O_82^>dSCQ&V=g#1|zRvfGwS1*AT8tEr rBYR_vUTsnUxgGl7d4JB#LL`4OI?&x~jcf}1=pbiDSBGji`lo*aAp-s2 literal 0 HcmV?d00001 diff --git a/html/classELF_1_1ELFFormat_1_1Relocation-members.html b/html/classELF_1_1ELFFormat_1_1Relocation-members.html new file mode 100644 index 00000000..b6eee476 --- /dev/null +++ b/html/classELF_1_1ELFFormat_1_1Relocation-members.html @@ -0,0 +1,98 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ELF::ELFFormat::Relocation Member List
+
+ + + + + diff --git a/html/classELF_1_1ELFFormat_1_1Relocation.html b/html/classELF_1_1ELFFormat_1_1Relocation.html new file mode 100644 index 00000000..2964f4e6 --- /dev/null +++ b/html/classELF_1_1ELFFormat_1_1Relocation.html @@ -0,0 +1,119 @@ + + + + + + + +RetroLinker: ELF::ELFFormat::Relocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ELF::ELFFormat::Relocation Class Reference
+
+
+ + + + + + + + + + + + + + + + +

+Public Attributes

+offset_t offset
 
+uint32_t type
 
+uint32_t symbol
 
+int64_t addend
 
+uint16_t sh_link
 
+uint16_t sh_info
 
+bool addend_from_section_data
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classELF_1_1ELFFormat_1_1Section-members.html b/html/classELF_1_1ELFFormat_1_1Section-members.html new file mode 100644 index 00000000..c77a3b9e --- /dev/null +++ b/html/classELF_1_1ELFFormat_1_1Section-members.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ELF::ELFFormat::Section Member List
+
+ + + + + diff --git a/html/classELF_1_1ELFFormat_1_1Section.html b/html/classELF_1_1ELFFormat_1_1Section.html new file mode 100644 index 00000000..72ff8850 --- /dev/null +++ b/html/classELF_1_1ELFFormat_1_1Section.html @@ -0,0 +1,137 @@ + + + + + + + +RetroLinker: ELF::ELFFormat::Section Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ELF::ELFFormat::Section Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t name_offset
 
+std::string name
 
+uint32_t type
 
+uint32_t link
 
+uint32_t info
 
+offset_t flags
 
+offset_t address
 
+offset_t file_offset
 
+offset_t size
 
+offset_t align
 
+offset_t entsize
 
+Linker::Sectionsection
 
+std::vector< Symbolsymbols
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classELF_1_1ELFFormat_1_1Symbol-members.html b/html/classELF_1_1ELFFormat_1_1Symbol-members.html new file mode 100644 index 00000000..4327ddc4 --- /dev/null +++ b/html/classELF_1_1ELFFormat_1_1Symbol-members.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ELF::ELFFormat::Symbol Member List
+
+ + + + + diff --git a/html/classELF_1_1ELFFormat_1_1Symbol.html b/html/classELF_1_1ELFFormat_1_1Symbol.html new file mode 100644 index 00000000..c911be59 --- /dev/null +++ b/html/classELF_1_1ELFFormat_1_1Symbol.html @@ -0,0 +1,137 @@ + + + + + + + +RetroLinker: ELF::ELFFormat::Symbol Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ELF::ELFFormat::Symbol Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint32_t name_offset
 
+std::string name
 
+offset_t value
 
+offset_t size
 
+uint8_t bind
 
+uint8_t type
 
+uint8_t other
 
+uint16_t shndx
 
+uint16_t sh_link
 
+bool defined
 
+bool unallocated
 
+Linker::Location location
 
+Linker::CommonSymbol specification
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classErgo_1_1XPFormat-members.html b/html/classErgo_1_1XPFormat-members.html new file mode 100644 index 00000000..4b6ba28b --- /dev/null +++ b/html/classErgo_1_1XPFormat-members.html @@ -0,0 +1,152 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Ergo::XPFormat Member List
+
+
+ +

This is the complete list of members for Ergo::XPFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideErgo::XPFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &in) overrideErgo::XPFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
stub_file (defined in Ergo::XPFormat)Ergo::XPFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &out) overrideErgo::XPFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classErgo_1_1XPFormat.html b/html/classErgo_1_1XPFormat.html new file mode 100644 index 00000000..7d1d8830 --- /dev/null +++ b/html/classErgo_1_1XPFormat.html @@ -0,0 +1,418 @@ + + + + + + + +RetroLinker: Ergo::XPFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Ergo::XPFormat Class Reference
+
+
+ +

Ergo OS/286 and OS/386 "XP" .exp file (Ergo was formerly A.I. Architects, then Eclipse) + More...

+ +

#include <xpexp.h>

+
+Inheritance diagram for Ergo::XPFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &in) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string stub_file
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Ergo OS/286 and OS/386 "XP" .exp file (Ergo was formerly A.I. Architects, then Eclipse)

+

Member Function Documentation

+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string XPFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void XPFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void XPFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/xpexp.h
  • +
  • src/format/xpexp.cc
  • +
+
+ + + + diff --git a/html/classErgo_1_1XPFormat.png b/html/classErgo_1_1XPFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..7ba7a38db0f510769e3b99cdba09861a2586cba5 GIT binary patch literal 1610 zcmb_cYdq5n82qGv?Q2>UVO< zZN-egPzuK^mt0H3ks&mqCN?Is(J*J{d_H|U?}zt!p7(uz&$su@^!9X7SJ77i06^Up z>*NCfppl$Yl;QFo6V^qR!%lB^ob%S!mYjYPh_6y#FzgPP#^~m}{xmf;C7)Zf&y>n{ z-^TlR`T}zOZ`s1~hX6p4a)%#Z$a7i$y?DeXT8iKFymZF`efMQ*S-7ca&b}tvrs|c! zV4-G0Qt-JVq5lTp@M>d`BNUvU!8K}mzO_N@EWV$U^hK$T+uv1<0Sv>sh~lPBk62br z<>#UKUK{=TcV(M(sd&$mELh@@`PDjU0Ejm@+VY^;0IW-d!0?Y&BurJ!5QjJ0Rnh3U zN*|sL3|bIFyx_5x?s59n37)Y3*sRO@XS3r2If2B8SWeQgoj!kvy>0+!IwqJ}aQg4~ z?zf987)s_!$6KwuvTedUDudCygiXS*sS#^wJ3w82(H)z=+SYy0==&5FEb#f#>Fy}5 zOW`%O9+yIiO8I?z>B`P(uo<_Fq|sUj(`bEeNHtQ3sRR^aYC4RS!3k3U%vEs!(qS5; z2Y^C|2>|M77eWb~m)iiJjE*=1#Cz+?>)|bhPX9 znp`N9AQL!qHg=h?)FKj$%rMmlRAa3cn-t?EK2BwFQ??i9CZ)&iREE6>TVyfk%3(*L z9BtUPX^;p1O-&TaVpPW1Od=MBPxMv{3M3O!LUzGp)Sxw8N0?wft zb-3>3i1ry1V)7)ns5V%PH7BLB?A8kT?%V?(F=Bp4Xs$`v<>|A6%xFRj^7uP)TjmY@ z_@)@(u;sBx2Zy8ZLmPcpe;_bLm9nD5_$~fME;Wh};5TiW_IOun@He;{TXE?27urtN zx5`5Fs&DsuIwzOs>!dbp=&mgg7dt|yhY}4zpeQNC9 zTF-)61F0aR5iye4MQl3A5iOG@)+E9>u-s*t`iFrOr;WY+eBp+|($p;L5UzmbC1%yAR2<(2i}h z{R{bECZ*sW_+@HF>z`9^Zo%H57~sZOswf0Am(p`wF-sNoGsxM)`HQ-i&IbpW)s@@8 zjYdO&`(e%-RGvCd&A^-}LTHhI#e27>saXt+q7mSGx)fBCBL-A%^#))EG)cgJNox1Z zdoLiEAzV?J%J_=s>j^|FT3CR#F>Hz9jOUPHSrGI9D1|PY02PqF3L1jaQ3&q{3kb3` zTOHi0Uz)q!?1~qc_rv8LGfafJtv3XDt=uAIf47(1sk^IzG!I3&y`3<=rMw=3?(Dn_ zwHLN3(h$|x7qVWPtWW44F7NIQO7GGyg?b+$dvic$Pbr*s@H#@GRz9%K06eTe>Cr6R zpTIL7C@Io>)$ccr`uig~lNK*zXpaA~Okn0h^QFQ55G1XXMxwhVbV%ART~dYuN+7A@ zoXFQ5FHXY&K6q + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
GEOS::GeodeFormat Member List
+
+
+ +

This is the complete list of members for GEOS::GeodeFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideGEOS::GeodeFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &in) overrideGEOS::GeodeFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &out) overrideGEOS::GeodeFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classGEOS_1_1GeodeFormat.html b/html/classGEOS_1_1GeodeFormat.html new file mode 100644 index 00000000..55f39358 --- /dev/null +++ b/html/classGEOS_1_1GeodeFormat.html @@ -0,0 +1,411 @@ + + + + + + + +RetroLinker: GEOS::GeodeFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
GEOS::GeodeFormat Class Reference
+
+
+ +

Berkeley Softworks GEOS or GeoWorks Ensemble or NewDeal Office or Breadbox Ensemble Geode file format. + More...

+ +

#include <geos.h>

+
+Inheritance diagram for GEOS::GeodeFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &in) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Berkeley Softworks GEOS or GeoWorks Ensemble or NewDeal Office or Breadbox Ensemble Geode file format.

+

Member Function Documentation

+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string GeodeFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void GeodeFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void GeodeFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/geos.h
  • +
  • src/format/geos.cc
  • +
+
+ + + + diff --git a/html/classGEOS_1_1GeodeFormat.png b/html/classGEOS_1_1GeodeFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..188094ee49e4579fd6e0ba67457dd7536317c826 GIT binary patch literal 1638 zcmb_ddsNZ~6#fAQZLFeB%QGE- zmqsT&oj81Y<0-WHy(2X-_#0B*E6a{byCQ0*#DU^R8XezIY~mFKs*764{R7sNK3ZY{ zX_cw4ZyQ98ZnF-tgBEu>A0_iCKWA2?onG^;mN-9@bx(AP<~ANrh-+jz>}fy{CQh^F z7kLXr8rLvq$xa?g;#*r7ZT5f|83Iz*5PqzvFJsxDYcFqI|WYMjo;cHSGy;7ps}| zAKcx7cQ3U#D!m5g z_x&uINmeOCJFN9-E93akV6`mKWX4YkUIB{O3V?>Em4dH80+Cc}KQdk|3 zqniQH2EBMePb-0C|0kU!11Ip~bd_9MJKf3)vnDY;UnD5yfru~H-=aj!5R8QeRvgM9 z#|-oUgNjY6G!`0FIMBG@DNV#JX^@o2Yt4)M-AC$JEhm*bokps;&WyRagqv*YCH2{n z!8k>kKcdQL9ZKaHOkgh%uWPs;B*1Q=`NtOyjASaJ>h-%HVm{)eOlq&~tNnD+OJP|% z)+m|g*gdgmd7$yR_YwU3^JtAX|HzUAEsr9W#xicW31lD&xYy3!?+Q^IF;u;QdQ z0ph}E)NNCWyQ#?DTM1DDsVHa6O+B2~DPYZef_F_E)@8EuUz<9@dLe$xPXw1WK07tw zs`DLIUz^OTeiH3*uuUf{d6L5MS-;p%)D6Vi+Reqs&83Mr*v*QBPx)LRo=90 zyJ}SxS!#xP63u#m|0P*w8Ki7SVqmfbul1A#7S1mq{M|lh4ZZ+$^lNr@i)KM>K*_5nv zBGp?OsEXPfw)}6y3pM#?0uh^Vl6E7n&s#%3K~T%cxEV%*HP@KQ5;;KKbgSC5L!|`I zzz@(qU3og!V)a}T3s{!OXA9H7 zhoc%ra>!No+_TwhdkkvrQ57V?*Q~VOhsdHU-<;P13~VTF)s%g7#3Xzttp5Qr)&1Dv z1DaYS+-A;exiu8(1M)`;Fu-c)j + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Buffer Member List
+
+
+ +

This is the complete list of members for Linker::Buffer, including all inherited members.

+ + + + + + + + + + + + + +
ActualDataSize() overrideLinker::Buffervirtual
Buffer() (defined in Linker::Buffer)Linker::Bufferinline
Buffer(size_t size) (defined in Linker::Buffer)Linker::Bufferinline
data (defined in Linker::Buffer)Linker::Bufferprotected
GetByte(offset_t offset) overrideLinker::Buffervirtual
ReadFile(Reader &rd) (defined in Linker::Buffer)Linker::Buffer
ReadFile(Reader &rd, offset_t count) (defined in Linker::Buffer)Linker::Buffer
Section (defined in Linker::Buffer)Linker::Bufferfriend
WriteFile(Writer &wr, offset_t count, offset_t offset=0) overrideLinker::Buffervirtual
WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0Linker::Buffervirtual
WriteFile(Writer &wr)Linker::Bufferinline
~Writable() (defined in Linker::Writable)Linker::Writablevirtual
+ + + + diff --git a/html/classLinker_1_1Buffer.html b/html/classLinker_1_1Buffer.html new file mode 100644 index 00000000..e03d48d0 --- /dev/null +++ b/html/classLinker_1_1Buffer.html @@ -0,0 +1,297 @@ + + + + + + + +RetroLinker: Linker::Buffer Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Buffer Class Reference
+
+
+ +

A buffer that can be used to read and store data from a file. + More...

+ +

#include <section.h>

+
+Inheritance diagram for Linker::Buffer:
+
+
+ + +Linker::Writable +Linker::Section + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Buffer (size_t size)
 
offset_t ActualDataSize () override
 Retrieves size of stored data.
 
+void ReadFile (Reader &rd)
 
+void ReadFile (Reader &rd, offset_t count)
 
offset_t WriteFile (Writer &wr, offset_t count, offset_t offset=0) override
 Writes data of non-zero filled sections.
 
int GetByte (offset_t offset) override
 Retrieve byte at a certain offset (optional, might not be defined)
 
virtual offset_t WriteFile (Writer &wr, offset_t count, offset_t offset=0)=0
 Writes data of non-zero filled sections.
 
+offset_t WriteFile (Writer &wr)
 Writes data of non-zero filled sections.
 
- Public Member Functions inherited from Linker::Writable
+offset_t WriteFile (Writer &wr)
 Writes data of non-zero filled sections.
 
+ + + +

+Protected Attributes

+std::vector< uint8_t > data
 
+ + + +

+Friends

+class Section
 
+

Detailed Description

+

A buffer that can be used to read and store data from a file.

+

Member Function Documentation

+ +

◆ ActualDataSize()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t Buffer::ActualDataSize ()
+
+overridevirtual
+
+ +

Retrieves size of stored data.

+ +

Implements Linker::Writable.

+ +
+
+ +

◆ GetByte()

+ +
+
+ + + + + +
+ + + + + + + +
int Buffer::GetByte (offset_t offset)
+
+overridevirtual
+
+ +

Retrieve byte at a certain offset (optional, might not be defined)

+ +

Reimplemented from Linker::Writable.

+ +

Reimplemented in Linker::Section.

+ +
+
+ +

◆ WriteFile() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
offset_t Buffer::WriteFile (Writer & wr,
offset_t count,
offset_t offset = 0 )
+
+overridevirtual
+
+ +

Writes data of non-zero filled sections.

+ +

Implements Linker::Writable.

+ +
+
+ +

◆ WriteFile() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
virtual offset_t Linker::Writable::WriteFile (Writer & wr,
offset_t count,
offset_t offset = 0 )
+
+virtual
+
+ +

Writes data of non-zero filled sections.

+ +

Implements Linker::Writable.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/section.h
  • +
  • src/linker/section.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Buffer.png b/html/classLinker_1_1Buffer.png new file mode 100644 index 0000000000000000000000000000000000000000..30fc9a826aef157cfec3130d2c569777b559d8ee GIT binary patch literal 720 zcmeAS@N?(olHy`uVBq!ia0vp^$w1t}!3-piq%D00q@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEer>7#NtMJzX3_Dj46+y`9%$z~iEx z%=z>G{v8etM;bRQ3$3_OwL6{h@ed2}uaZhi&5aYD1RQdlWEWSeQfyeRviiNy{hRar zo8R2HmY6*;#ryS+tT*>ImQCFz^*XgSqDj0@b=MO8owpa%zOmcz_{7!Xt450=PXC(n z;@=|PlIMj>%EQ$DPc?tO@x09G3ZRQ`Qs_G zr=8h1!*DFqXj^iP*P8FNPV zndmn0NvG+%bMMY5pPf7H+_q)U6QXnLH^)qyKWT61j^Zb;ZZDW?J0t(}?4p%&ucp2} z^VnmJOqu(d#n(c_wmdKI;Vst0CUn|N&o-= literal 0 HcmV?d00001 diff --git a/html/classLinker_1_1CommonSymbol-members.html b/html/classLinker_1_1CommonSymbol-members.html new file mode 100644 index 00000000..2eac6678 --- /dev/null +++ b/html/classLinker_1_1CommonSymbol-members.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::CommonSymbol Member List
+
+
+ +

This is the complete list of members for Linker::CommonSymbol, including all inherited members.

+ + + + + +
align (defined in Linker::CommonSymbol)Linker::CommonSymbol
CommonSymbol(std::string name="", offset_t size=0, offset_t align=1) (defined in Linker::CommonSymbol)Linker::CommonSymbolinline
name (defined in Linker::CommonSymbol)Linker::CommonSymbol
size (defined in Linker::CommonSymbol)Linker::CommonSymbol
+ + + + diff --git a/html/classLinker_1_1CommonSymbol.html b/html/classLinker_1_1CommonSymbol.html new file mode 100644 index 00000000..4fee7551 --- /dev/null +++ b/html/classLinker_1_1CommonSymbol.html @@ -0,0 +1,121 @@ + + + + + + + +RetroLinker: Linker::CommonSymbol Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::CommonSymbol Class Reference
+
+
+ +

Represents a currently unallocated variable that should be allocated in the final stages of the linking process. + More...

+ +

#include <symbol.h>

+ + + + +

+Public Member Functions

CommonSymbol (std::string name="", offset_t size=0, offset_t align=1)
 
+ + + + + + + +

+Public Attributes

+std::string name
 
+offset_t size
 
+offset_t align
 
+

Detailed Description

+

Represents a currently unallocated variable that should be allocated in the final stages of the linking process.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classLinker_1_1Exception-members.html b/html/classLinker_1_1Exception-members.html new file mode 100644 index 00000000..3dca137f --- /dev/null +++ b/html/classLinker_1_1Exception-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Exception Member List
+
+
+ +

This is the complete list of members for Linker::Exception, including all inherited members.

+ + + +
Exception(std::string message) (defined in Linker::Exception)Linker::Exceptioninline
message (defined in Linker::Exception)Linker::Exception
+ + + + diff --git a/html/classLinker_1_1Exception.html b/html/classLinker_1_1Exception.html new file mode 100644 index 00000000..4a7b997a --- /dev/null +++ b/html/classLinker_1_1Exception.html @@ -0,0 +1,108 @@ + + + + + + + +RetroLinker: Linker::Exception Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Exception Class Reference
+
+
+ + + + +

+Public Member Functions

Exception (std::string message)
 
+ + + +

+Public Attributes

+std::string message
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classLinker_1_1ExportedSymbol-members.html b/html/classLinker_1_1ExportedSymbol-members.html new file mode 100644 index 00000000..ce612f86 --- /dev/null +++ b/html/classLinker_1_1ExportedSymbol-members.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::ExportedSymbol Member List
+
+
+ +

This is the complete list of members for Linker::ExportedSymbol, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
by_ordinal (defined in Linker::ExportedSymbol)Linker::ExportedSymbolprotected
ExportedSymbol(std::string name)Linker::ExportedSymbolinline
ExportedSymbol(std::string name, uint16_t hint)Linker::ExportedSymbolinline
ExportedSymbol(uint16_t ordinal, std::string internal_name)Linker::ExportedSymbolinline
GetExportedByName(std::string &result) constLinker::ExportedSymbol
GetExportedByName(std::string &result, uint16_t &hint) constLinker::ExportedSymbol
GetExportedByOrdinal(uint16_t &result) constLinker::ExportedSymbol
GetExportedByOrdinal(uint16_t &result, std::string &result_name) constLinker::ExportedSymbol
IsExportedByOrdinal() const (defined in Linker::ExportedSymbol)Linker::ExportedSymbol
LoadName(std::string &result) constLinker::ExportedSymbol
LoadOrdinalOrHint(uint16_t &result) constLinker::ExportedSymbol
name (defined in Linker::ExportedSymbol)Linker::ExportedSymbolprotected
operator!=(const ExportedSymbol &other) constLinker::ExportedSymbol
operator<(const ExportedSymbol &other) constLinker::ExportedSymbol
operator<=(const ExportedSymbol &other) constLinker::ExportedSymbol
operator==(const ExportedSymbol &other) constLinker::ExportedSymbol
operator>(const ExportedSymbol &other) constLinker::ExportedSymbol
operator>=(const ExportedSymbol &other) constLinker::ExportedSymbol
ordinal (defined in Linker::ExportedSymbol)Linker::ExportedSymbolprotected
+ + + + diff --git a/html/classLinker_1_1ExportedSymbol.html b/html/classLinker_1_1ExportedSymbol.html new file mode 100644 index 00000000..cb3c4bfe --- /dev/null +++ b/html/classLinker_1_1ExportedSymbol.html @@ -0,0 +1,214 @@ + + + + + + + +RetroLinker: Linker::ExportedSymbol Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::ExportedSymbol Class Reference
+
+
+ +

Represents a symbol to be exported from the module. + More...

+ +

#include <symbol.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ExportedSymbol (std::string name)
 Creates a symbol exported by name.
 
 ExportedSymbol (std::string name, uint16_t hint)
 Creates a symbol exported by name, with a corresponding hint.
 
ExportedSymbol (uint16_t ordinal, std::string internal_name)
 Creates a symbol exported by ordinal, with an associated internal name.
 
+bool IsExportedByOrdinal () const
 
+bool LoadName (std::string &result) const
 Returns the name of the symbol.
 
+bool LoadOrdinalOrHint (uint16_t &result) const
 Returns the hint or ordinal of the symbol.
 
+bool GetExportedByName (std::string &result) const
 For symbols exported by name, returns the name.
 
+bool GetExportedByName (std::string &result, uint16_t &hint) const
 For symbols exported by name, returns the name and hint (or zero)
 
+bool GetExportedByOrdinal (uint16_t &result) const
 For symbols exported by ordinal, returns the ordinal.
 
+bool GetExportedByOrdinal (uint16_t &result, std::string &result_name) const
 For symbols exported by ordinal, returns the ordinal and internal name.
 
+bool operator== (const ExportedSymbol &other) const
 Compares two symbols for equality.
 
+bool operator!= (const ExportedSymbol &other) const
 Compares two symbols for inequality.
 
+bool operator< (const ExportedSymbol &other) const
 Compares two symbols for ordering.
 
+bool operator>= (const ExportedSymbol &other) const
 Compares two symbols for ordering.
 
+bool operator> (const ExportedSymbol &other) const
 Compares two symbols for ordering.
 
+bool operator<= (const ExportedSymbol &other) const
 Compares two symbols for ordering.
 
+ + + + + + + +

+Protected Attributes

+bool by_ordinal
 
+std::string name
 
+std::optional< uint16_t > ordinal
 
+

Detailed Description

+

Represents a symbol to be exported from the module.

+

Constructor & Destructor Documentation

+ +

◆ ExportedSymbol()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
Linker::ExportedSymbol::ExportedSymbol (std::string name,
uint16_t hint )
+
+inline
+
+ +

Creates a symbol exported by name, with a corresponding hint.

+

This is used exclusively for PE.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/symbol.h
  • +
  • src/linker/symbol.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Format-members.html b/html/classLinker_1_1Format-members.html new file mode 100644 index 00000000..bef96846 --- /dev/null +++ b/html/classLinker_1_1Format-members.html @@ -0,0 +1,99 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Format Member List
+
+
+ +

This is the complete list of members for Linker::Format, including all inherited members.

+ + + + + + + + + +
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
Initialize()Linker::Formatvirtual
ReadFile(Reader &in)=0Linker::Formatpure virtual
WriteFile(Writer &out)=0Linker::Formatpure virtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classLinker_1_1Format.html b/html/classLinker_1_1Format.html new file mode 100644 index 00000000..811f70fe --- /dev/null +++ b/html/classLinker_1_1Format.html @@ -0,0 +1,341 @@ + + + + + + + +RetroLinker: Linker::Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Format Class Referenceabstract
+
+
+ +

A class to encode a general file format. + More...

+ +

#include <format.h>

+
+Inheritance diagram for Linker::Format:
+
+
+ + +Apple::AppleSingleDouble::Entry +BrocaD3X::D3X1Format +DX64::FlatFormat +DX64::LVFormat +Linker::InputFormat +Linker::OutputFormat +SeychellDOS32::AdamFormat +Apple::AFPDirectoryID +Apple::AFPFileInfo +Apple::AFPShortName +Apple::Comment +Apple::DataFork +Apple::FileDatesInfo +Apple::FileInfo +Apple::FinderInfo +Apple::IconBW +Apple::IconColor +Apple::MSDOSFileInfo +Apple::MacintoshFileInfo +Apple::ProDOSFileInfo +Apple::RealName +Apple::ResourceFork +AOut::AOutFormat +AS86Obj::AS86ObjFormat +COFF::COFFFormat +ELF::ELFFormat +O65::O65Format +OMF::OMFFormat +AOut::AOutFormat +Amiga::HunkFormat +Apple::AppleSingleDouble +Apple::MacDriver +Apple::OMFFormat +Apple::PEFFormat +Apple::ResourceFork +Apple::ResourceFork::Resource +Binary::BinaryFormat +COFF::COFFFormat +DOS16M::BWFormat +DigitalResearch::CPM68KFormat +DigitalResearch::CPM86Format +DigitalResearch::CPM8KFormat +ELF::ELFFormat +Ergo::XPFormat +GEOS::GeodeFormat +MINIX::MINIXFormat +MachO::MachOFormat +Microsoft::LEFormat +Microsoft::MZFormat +Microsoft::NEFormat +PMODE::PMW1Format +PharLap::MPFormat +PharLap::P3Format +X68000::HUFormat +Xenix::BOutFormat +Xenix::XOutFormat + +
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void ReadFile (Reader &in)=0
 Loads file into memory.
 
virtual void WriteFile (Writer &out)=0
 Stores data in memory to file.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + +

+Public Attributes

+offset_t file_offset
 
+

Detailed Description

+

A class to encode a general file format.

+

Member Function Documentation

+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void Format::Clear ()
+
+virtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented in Binary::CPM3Format, Binary::BinaryFormat, COFF::COFFFormat, DigitalResearch::CPM68KFormat, DigitalResearch::CPM86Format, DigitalResearch::CPM8KFormat, and Microsoft::MZFormat.

+ +
+
+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + +
void Format::Dump (Dumper::Dumper & dump)
+
+virtual
+
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void Format::Initialize ()
+
+virtual
+
+
+ +

◆ ReadFile()

+ + + +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void Linker::Format::WriteFile (Writer & out)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/format.h
  • +
  • src/linker/format.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Format.png b/html/classLinker_1_1Format.png new file mode 100644 index 0000000000000000000000000000000000000000..8bac31185af3029bcf4e59090b3d2d584311ca49 GIT binary patch literal 30062 zcmeHw3s_TUwsuEtb%s{j&a|{u!Pc?X8)?}UJ5u6M0(F(}^*O$oG{T2T9>#gs`uXzA|_kBf7D*yI@ z2evxic=eU{3VvnoGQayw$CJyh-uj}o(c=9&;+_40=g&m4V#+r@v-0gfy}q%b-4#&O zEVvkFRH6bLigKo_IgCdwtA0BDqLszNtZj8%yJSJV1$?)oVzMIoN=yE3Pob6Ue;Cs+3vk@k`Eeul8HNwol)SfnLoq4(1>cp5X2rz9R}}u1&E)Q<@j-rc zEX_aa-8=@n)_)l1g#UC;LrB@NiINA>)#~GF$~6Q5&xe# ztRl^jPBFCZa`vq@zb%UK)g*FUcaXY3dpSf*Th|^*3D9y>cqPJJe_}&&(fJbQ4@8R+DJyiE=6q0vU#3$@= zWtS2&?<7dQRh2r<=x{=^xDwvYL#G(h4Hw!hiWL-%HzC^9o<^zd--FT*H4OGD>y*Ev zP~ygSq77q9p@-D@9H z9#FSkjqT zU2U9!{&|rZ-mabeFq$=7gn7n!2hoP~YOKPeHKrN*VntO0L>E4f>cz+mPF2nC%#OqT z`%r<`dh+7d?3R-%fhBM)Mf~D{Qlp+c>zjF!^y){P>c=aqBUz+0gLz3jIa!Rg$!1An z+`lKgU!ra_Tpy2&-Fz`M?O751iU{lU1abCT&+d-U?u3~eIUDDi#?7!F9}H1(Y_|jl zCGN3A?Qr4*Fg)~AaN4B0g}dk^FeRl-o;b<>aYr`Hw9*-D^(fi5_d7j+5-lnN)aT) zydPafkVFZtiLCoGofGqt#I9P6I?N%d?O3vl;5@`)xn>B$3wlT-Vy7pl$>oD zfCpS6KGVaoNrih*-AKE#vp_A!lGoV_+a)Q3YRMQO&EVk-tfN#>3^(6I8yq}g_NL&u zNI9pbOip5S|0bb2l#9-BM%2a3kiEAaNU$(7!V zdd@)4YVR0F5{exwspc3nACPiBq8Ms92hie>L1t)v@z5ye<}FDaLeujolny2BP^+GQ zsg~GEyn;C`gKfd*tX_uK(6hxg!!{pDk`9TlhZ?NZ>38;N&)DZ=JEA!^s|4Y9^lSJe zT@Pz1G2Q63ne^7O5L+w~@f#vSYriB5SHOHzQm}G0gQ_?QT@itiby3^v_L7g~R&*sU44`KEzg%%h0J`V)+{>RaKs@ z)-$aX%9Cvg2x6Pj`mn1?G9M{@8=V0FM1S$*X%q!F=fiUN)|=p5o$-4F3FyT^e+^os zA1Mz<>UIOF)$L~=f@8~`exD>sha=_#(5?FS4|D86!R-`mNt+W1?qzCw0u9_u#`qe} zGh;M(;o@Oa#3N#y95fShvp!rcf9Sxq*MWo`rA^M*6n<*2(MW+mJy|*9{WWz(M_zt> z+LZd<&gMgh9yxJa`s$%yPnk4h>))Ss5C~m!_}`zi=*S-6d8>^NUH>-o!}+^_mu!xT zICYdVc~$!FADxz|YA9N=WCrf|mwi~Sc;v(}b@RK=z$H5V!6o*;_P_cP`skH8Fi)k^ zCvgM{A4Qm|J)*|vD{qkCyuJs+V(P;t_jY1frrikUYWS)Q%<0Jfr(ef^Yr@UtsLy65 z4oZYqufGT14!ld5T?xL=jQhqz__udkAO0&1j!%I%Sg#_ZC|KUYhyjMk)T`GOI7i*0 zM8|E7-6+SHN3ms3l2fS?S)$~+K{FPN8A?MJ+0~!;d`r{s~fV_&KS+n zK}QFZ2rF?7Wp)Ptv|#yGcLvL_1Z|_45&qJ@d&KSLQF^ zTP%zRL-%bNU{gY?^4$G__5)8(bKPvM>F?W`>^-Vox-4S)#kO}G4f;?*IjTN^xw`7s zFG1`>Til_NdZ&AI(~F4~*RDu7i`jCx_VnV8f&Le}qMlDZs%}m^aR8MGtU9ODdfK*( ziD9Pg`3UVL9dLf~`ogl5s*>`W{(Y+yfhy_RyzI{?lyKjD;apb&bga4-v0B~k0<{rs zC~%DzRl|9FI-AY*gd<2t3a?~FO}}bYTuN%lfgTLwv#1o`nKBH^V&qs^%^j@*J7C@a^yQCWqT_j%YF*FLnWfiutO_O~gR2ic;<|PmAefvGLDU*e zN42e(vQ##ImW0C^l?fGxhDP;H8?X(SlG3kQNo;=URNc9n+Ueg^uF@o^9A89NUetY6 zfvUgsjnLNLOY{3`{#b=NJ|RfhXweBF;Mlq~epB-3F{WEDd-$(w0iS%fvj%nK1H$o1 zl-W3{`7O)?PlcWM5?dA(0ndvY>5`wxQbV|YV0(0|DK`ri#vh}{LghHAuHVK{=a&Gu zti1jUpiH3ke<|`h6nlK0W?QrNBn@{z9q04Y!|^C*mP;ni1$S3^a>78|4PYVk%v7+k z`Kb?GgWuG(xB(r5Z;OunlU6j`emArsSqcjsOEpy-j;Eq7O_KaFVtXR>q0?AHr04Mv zj*+9O>Z%y<6y%A=zZU3TMrca+P8lZ8zoVFuS8*OoW|9WrP8i}dH$9_ROc%9vmrN5} z;4}zd;IWq=b!%a1K8P-2Q*aGqULW<$N9XdgEd0m~YDS^ouuwpJ|5jTkL9@u&m zR_+T(;tcbmUVeU+gl>s#cz?Y#+M}LLq13wcXk__CS<{#&lq}X8f%WxAhVY`0y47gW zqMR%Zr${^6YWle0MC*vUVNC9A{VlPom1`ozw`15NsfIoggQJb74#miOZD9yCpKNL1 z2Lb_m6OFXL6xvR;Tfa=!YS?*bQ8V@ZMTnG?%s*nv9SN)|$g8N0*X!GWsFtBMyGEZK zH`d(Ii^QKQJGOdyeRpOCzD*>0E^&nY%=gm-)kaVeTyu&y8eG3;Ca>acG{_QSi0eWG z9q9`d81p?!?Yg#|Sn?yc4eyf>Tj@hD0p&{y!-WG^3czcVokSM>C5X$~i$>1_ouYf; zU94Tql{m?lF=~ueWgdNY146SpM5qsILlI;~rNkuAG?FQXp5xjXKz`Aqb2UISGK}o{QffxG*Wy;Af=6V2XBLT>0OHE zInVgOEGk<(!fm^;8!a|gOur$6cyC4-pfl=l6f->m?oo!DZFj00qFyE!_Es)0mdi__CA-8-$xCr`8&b2yJeSm7DKl2;ouwgc`)0MO5=0C&Ag!unT_ zRlN}WtlcH3If=m#o;U*Ll(`O;N|wWM{lL>VR>9;PW_*pg^2>0CEQpPDOUqCGl$G;i zn8Gjk`#*)2{+Hn|7jzGwv^0Ug;;wA_ucbx^ovOknug@(LReo$Iges(Jf`>p5vM*rR zS@YChK8A6hRDI8XNsk@pK&n9@S&9Vl zIBAqnj!3Dgk!{P#Q@5ONaFmeQ&b&_)fQvnV4uDcRP-YxAa&9@yQcM`aL(xY(moO%4 zPnW2F`P$G>M=m9sYfqbYGjpOqA1mg%FBHv3cIy>#JH^nyRF1iB z!hb-~bu?jE=TLNU|Mk?g05gzVput#*cJI?;&)a1j(`HV9wXNJ$ir7Z?+FlOgl~2b# zRDM<{$H^Cujmg}mfRISwvI7c(this18iCLn`&@fX0pVE!Ni;&Bs(KB^j=V184Aeny zYq?V37#P#{rW5QErZ;?hyU9;)iy@*Ac!yhdZ4zoEw=USZF-aTJr22xF(|*uy%=j|k$A6`MyP6xs9^@6`f|p#w&!5f7(gIb@2s@v^wyGMZeR z3PI3^i*bTd7gk56uu1Pyx*-%RT8W2P;R_LGD#ZMGU7v7r;rHu6wDD+5KAn>dzpfiy zT$c`Xr@YJ`r`0S6wzK}49XkpE9U!^y*j?<*(|G9i8THWWIlzBFo%eBPSLa6jsqI_nCE$uUc(xw@hveDsRRrTF=lq(6Ek1k7_xzS#Z0 zlnwq8>K7eh8efNq<<`|#x-Hima9zgS-Sl!f=rlK`ds4Mgdr?$6VGU*v#Q1oyj|)Km zWH7%5x2`w+c2bX1hl~Y?v=k5TLoAGO>q|(TJScQAvU_J#1To>F(zeAF%W;mXrVeC91*t^B7|1+EV3_=@SPtj;(Gb{$F-J3yW_{bm;;R?8tf&Adkoab8~ zj^{~UDqn5tKe)H_s<-D*IcV%*w3oOc5k#t%N@`_qi09kIF}*#-s>wvl*wSVcB?E{M zV-TszYP*v>i??!VMCl%se4?%n6Ry^|FQ`6ZXtRS52-|D13egch)gdE{o8->P)l>z+ zo2^zVZ3IooxpQoMK~ARMz>+;f+ACPgUz+0L5QMyrA{Ht%Z{~O|NhDq)VT*Mz3FO1@ z1qhecz-~&&mUw#74F=ceX(vj-X1m6+bF=Q}H>Dyc+@;fuH6`fpRj zVg>0L+pS$*5DTBH6!k-7e;=f#S}Z2Hi?cKmXz;idMF|U#-6Kl*07|c*`6%yZ3Pt>p zGm0U@^fNdSNIPQ-g|g2_UHM#ZPAK)NWW0qa87Rz3K#aW7+~nD(s`N^^wgS+WTqVDh zo97rMOS~2i%TR}$OF85h)4ZoGGeKD_J>i!*|Cg(Y|LtYhp-P`R zy>e=iB+2O4a4gp{{h|(+WqO@L2~L{8F((ax%y#4Nl*@kvc0a<3glv%2k{iU9UZYel zB?mV&x~@YM>UtN9xw(PvJ;@P?q8=24h;r9K zaC1l)E!VgnEVUMoZSfW8ELz&=DwEjm9H6~J@tn^LH=nNS6~+zkDh2*MvFg=tz#tUI?*S<3Y?8v>=U6pDc&dpau`vukGCgGH=$n$YOz_W)7e0YsCL zG@}V&bsc|h#TZfXmXQu09>!@Hntif%ho}{J?1ofBE>{%Fv#D}yS4-3M`n{#bbQ~jX z`jos1MN)Y!Qm2LUTb%THbBq>`<6ktAsOUc!>tF$&1|a<_mRzwz86u*ui#s9q;SyPs z+K$p^$Oq;u02bDvcNUJ;2Zx+%#Y`eDne|jQ?hWXlfm&jB9F9=7_BIyVUdDNfVa;-sA^WDAOp0Rjm(ibkl4( z&xNur%6QqlQccuCYCykxBWT}mOw9W}tUuz5FkAL(lEj@TngSy|8E1IjWB@dk@$n`f zra_U(m<2~cIoN4Moa|v2y!Cyc*IS1*Oa7_@iL$+60tbJZ#P#=qy5}5*L*2H2EVj`g z&k}R`|8{QWzY7|+=9kVdGsW3e-J|b8t8x$kD)f;&hcmP zi;^e=a*>I(7Dl0?pus!*jaBSSh~juKED_B4W=+3&iqKu?jR{GV_Uv0#OQ=K}M%%Wn zp|Cg9RZ`DQ<;joFp*N0XvDSSm<7dU?*jjP1|KW|jYe(6WN&Bp}s(`HdF8Syil;F+bHED+Umo)o4 zdj~pD_2ZvG5J#ZH>M3pAu}Tr&*7me;Dd25+8LI8floEnj;WZS)kU54C0V$RB9SMPz zVK$FD{dHV{xV&wn;i=swtu=uVDRG}`RRpRrEF7LbqNA&0`hxI`1KyWE6G=atuOux3BDS#;ZqOxE5OP;5u!>nPm;?0E=*wzSJtAxn*mN9l|^ z0C`;ic|5w%*ng~g_ACM@jA!AgskXMYqd8M*4_t*DS<74tftGhg{cLow6h(KnV$`g9 zT{vS{eIjPBs$;xunG$m?1TYiJskks%2E|AXW65cCWdPtsl0>w~m-nIIVRE-+E#*UB zE^<9UAs&e|3m|!%X9h(a2Sz;gI7JNU;QEYexnIe|)02aEQaB|Vh%Zhc@u;VW3aMf9 z&2-;v_|lxyn2;dOY>$Vqpubdx`NQ5RVu+xY#zc*Un$O&gr6M6?J*g=6tjeEnZl04- zecqQ;hU`%MHeW&;SYYKtz6|t~;Pugu`10QXl6lYg!sJH_Hky6KXv<~~UcQ-r3a5(8 zy7&B_dPB=hpRj;e5@w`V&jR;ye-^r^`Qz_R&6Fp<#peZggm}tk_NmYEZekc^g2GQK zdho1jg6IR5JvwdCmzA(A*Mpo_0LkPWmR2Q`%G}jE6`|vf8yIH63pN-1NnTk`F9J7w zrQ@cvO%jgKmZOoJjx1qz$kDAPS^0TjEwk`C(gznesOkx)2>fGsiWG(aqa?(6$&mM z!6}k=d{mOBE3kQ*d&}2Q6v2(>bPJF0&|)RnCY;`xPJaJG!9a|b6fzK%#7Ilb)a0ZZ zbo;YDz4e8GN|)rm10}89$}?Lj^`WQM5VJD*y5DMo8<^J_n_whfK&t1nnBLMgQE`Kw z`VeYDU>THwdbX~jP;8SJyS}#el_oS?#+*Bx2T!-$%Y(3GjO)bsUR`S9#NiV-VrUni zZVnv~ibU}>=1t~GwNNjf3vych0S?7*E&WZYT3CALxfvk{%?)|0W!-^iy5pU#lbT2= zY1-r?hJM2aN;tm(2+o^S>PYV_j1-vO^5HA1(hThZ{acNu6=_;w zM6bJ6_U0^0EYR`*oY-ElRyyY$Ifyzo`zGY1P~|Z_2s4JKDDqGigou?EExV((dLQNyP#wvUXF5a2L4$b@OuidvWZDA^(j{E z_E-@!SbdVKk3NBxdm+i_{2-TgDBGk?QD#L>6i96GpiyfmzizE<>FPr-<^I(f>ik<)b# z=0_uvk>gtQo?buKvfi__sg&C#9(?VF42teK2XHB$YKyMv>rr$tdKXU%d9o8NZXer~ z=vF{f6`bM zN7G}quK1@Zlsw-8{)W?}TDN{J`1t)el~~qI!#ze_82-m;OuP!fm+QnC!o+I#%jZBV zCX8j*bo`9PzH8$?rrz-mdY3^=_$b$jw`7DGpn8 zCHAK(1gW|s76P-rU6I$Fy#mBF+}}5BVH!Pe%!kW^vImPXuwErT_f4Lbg;R(>z)Q2Y z+_Hw*$m^ie7E4~>qYW|16pyMECl6=8^YDFd!=k?r6%PB7YETO?vBEdwl;L|+^m&{z zeD9oMZmTOB^%clYh4U8w5} z61p929cDuSpZ6j{+w45L5aC3D;c8ee+PbYmD;H?&8GFK@zS8ccOh2i-q za35;gSx+ipJ6}ThjO?$l7}##b;Q}!!WC?I67{K9`Y{Ap@9pG85o6!ah6XX}4xT;R} zltZ=CU)rh0mPK)$LX!2_1mD8Hawyuo`L`)7YxZy5;}^mv+g*^Q`<-E{t!`@tO%?F zr|n_j(gDl`E~r9KfIrV9P=)S`{U@mXFAM*_y%O=Cu<+Huckz^VyIsWc+D3b&QmdiB z?o2cWy2pA(Y`RtASSnt63G6rEgD`~GUoA-8+PSVhpwEn^X~IF7h%M*dB*U8|S(H05 zpqv5TVn)9iyf^s;FiZPPypDZj zaqM>2A}u6HIEe}Q%z`^F9~W?$EUQkC#)myCegijA45REQr7{Syk-lsvN;48NHd73V zP;^uA#Zc9#U8zdsFNRPfuG#bwDQ>H7d+5N8{azmtg8ewv`-NwFGHc|jia7ptt>d-m z%`&c$yyzUsU@CW~CZ>v^e>QIll7>#`qIy)lhwzBELgD zUf5t6yOVx6WwT6G1CW45*J_&U>=v_}%?VO!TI~eBw7|N9EPUI?j;za2`a-OOoOUFV zoJS25Lt*LXr6`@e1&GS%;(PU#yr!ovrBZ4`88ccs9?kmHI`nymh=5;R>{Uo~# zEtS<`&Ee!$Y}Fs*BZ$SeXCI~7C0#SMYCB&O+;|yl381ss z#hJ;;d3#X7+1#^Fb2{nC6>#4}K@`LBh>m?Ri0u*o@wvc57k&ACw7D+|kwn5w2jDE^ zu3YuEVX9xvob;mzt@{_Q@gJt9{-;3Bf$t#a)=kx{{HmehA?uJ?p23L=M{LJ@E7r5E zGOu%SVvT;NTmVuY+uV0ew@*vD&3r`cmQ_#Hc+QetH0e(7X{adg!*)`H8ml_GfPnDk zrFT%5`RJ>61tqI?cd1;hL1hcICM#)=eM!NmGQIpL=MG;1+uhsky&{EieVh`@y+q~> z4Vj(Gx%{o+Cz6znV_aXgxKD*>#nR6T&1I^OB4wB(tFiNs{Dp(&r;SOLMbLOid>0a4c2+^lEcaLP^v`h1ywnPQnHRU z^Xsk*T#N|pl_;^)S(rRH3WTApbnEt7z(Tdlz`{cCVOC?dFQdRX;Y z3AJUUeCXEZCiUTjc`QpllylA={08QD^!jc=C2aZcytz7L+m`izHONr0S*eqG&4$D*nxKXXUabe4Y7GW>_VwBLl z^;Qa^m4Ys)v|jU`M%!vv(hsSOEveP^u^~CT{Oc7I1*x~E#CAc6b^3J0ZzjRc?8YoY zoo(^fyml4lFs`MPa4S#eV%OA-(V`yNhLBJ2ZAF)2Lc`oo_JIQPu)ISrI7))(v7jJh zqv7;)YA>DqYS2OxGp%cEv|mrCS39+d>l3e^s2C_f=_a#8t^2v?fEm5E4I%R@mGuOMg!qp&vIpR!~B{jXX3-g{$H* zUwZ#kUCFOZsxd7<1W$UUFD5_POIp#2Sty3ox2nr|8=9VJha5ZWHi&8(0l$Qt461X!ElL3>q`ZF^P6aMZ|^$`Y>AK=r@Z1j z>mTP2|4od-cgftR5!Kx*4g8)iiPuO2CRYEF`h{WmsoC!DYWcn=q}?rQ{)rkd%pYtB z{4RM+B;JQvh6|+(l0`W3_&wQ|Q>W78f0N!JBzz{IX4M`;(em2R*f@uIg(f&wW6x7| z5N*XAWB;u%+Yr06;9}fH1LZA}#_AGf(Vnzgm9!YsQp)N228@`-wG`GyUeckA?c z#77&YV>tK99~5;M&$D@2tHRzWiF3w`S+W;kwK!e5_7$_$#?EJHScD}^unYUC6}?2BJWoL+!c+}zLo|M8$R+8EIf;}ALTYwX0a7k zovS2Y+$lWb>EBa4E+IwU%R{Y19gggq;l{HKH(m?M=-a$rMEFv-qKXeck!rErIwxgx#y;14ufMcN6auG>2A2@e_y|h7iCKZ>9zmsUOl#wSu;h9HS!-_VwR^1v`HM zK|qbL1XhR}=*C`y`B-8p(-je3iszM2eFj>zn$!d_P|L^$nyA{)e++QIJ%Tn|-BWyA z@~yLHu~>oW&yk8bo)h-Jz@qSb>2WkN>vKWd*3LJ0aRs#OO6d`dxdaKBoWoqMG-iMD zb;nGIQCkM_r{U}#L1=VF1A8C_Kk`6VOAb^E4SZJ_%r=k68}G`ea++SvtLaxc59##&n z4j(uJHAah&L8>E%qWK{E%}X7LR7-EKqP#XAsW;a-Zd4xfY-O_VWJiaj=Mk2?T_8=Wv}pTw))=2+i6p-51qW1wVM6txn96i zUz4{DIID!9AlDr+?P`hmRn(VQ3^plbSXVJ?y4IuCjmwF*DacF3#ZDFp0dvH)I`U zL>dGx0luqzm>;+wt>*r#(B;+{PW%?Sgb4eLYe+m7+t^}D!}lD)B`4Wq-=&b2XA2`K zI?fz^&4=I_ z2qDywF>9L)cJ~W|bc<$HzbH!1MNw`v$K?=Zo1pG0kC5pw(;O45d(}# ze53ikY8$@a(IfL|8Iy_*f#CWR@5*!Ks zA)a;OAS!FD$WmUUb?vQg?-6zh!+Z5js+w6LF`mfqK4YbHrGJYvzVhrJqK@^u*JOu= z#;`fe+dWOT3{uGWRn-11^Gj$p;VaXGCAk*X*azEqAweiTP_EzJjz&u8tX*p;wF_Z0 z9o+cnSDPrI^&o*NzSz<@xc_hPppNqYF}M-_deLUmpcaunj6{F z@QDh#N06cr8(z7DAB8aYK{v%G2{JF!DQVY-AwfZ;&g8E3zRQTu??oN&{H416eV1#g z#(L;uT@W>WDQPT+!KURIkFAwXRU$NIk**l%c&&eM1u*8619-yt-++*R5^?T3+>(Ug zn|1@I$?CU}G2#-MvYGyZ*ul_Trtm4qepzJP2G*{bj>TBysdno!k&0`2AmfGu?md zu`t_#Vo+PIZ?^;yMQiVjC{2?I&`cJ}jmsvi>ku0GP|s_zCEAqOVaIl9drV<(tIX)E zEcex=PMZ>EeH4vkRpoBbZBHN)@udFzP`|&JS4=T1m}Sw5%Tk@&sfk(zma)yhtb_fE z4j3)(Tl|J#M@26b+xv1=@Z`W|rXxra^YZyp3GDYz48n_UCKXwRUO*e%BlQ8LgmGk9 zJJ*YMm6ccGgcJPEVt@y{eH?z|_nh5*ruSof;}0C}ygsq-$cI0}l|J_{&GnVZtC&y#g60Ccj>}DQl~r65 zoGJ12&zBAhJ&`-^_^}$w)%-?r0Og+aiap9Kl0j`f!t>cEayi}JUpCH9Vwp=<@$J~8bH3_0}83!`gjpH)U^Of;&T|SW-K`dTp0BE zz@PdqP&>X|A0D?u58Wzz#z8x!k3jZ)f-0nqJrDco5>g)O*2yz|9Upmv&GMPhSo`8~ zlwMd^sCE;x6#J~>?$nU_6pm|Nyp|`rB%_gGEjIWWLZ`qd^TEz}c(xzpc0XXhKSTxZ zJNy@5p4NYNz5a~A4B!jEJPNgvu?Y#)vJ!HPh*^;ZC6(%-3I0L;;AJp#Zz5}{?CYHv z^Vw(p_!%TiGaPxAuO&juZ?j3Kl`=}~?7e7RdjYGm*r>!Z{oS_*lHlyzNJICCsjjbr zMbZfMx($?2k}mB)Z50uz^ZT50mUqHvdp;2~K}Pgy88jT%nX#CZ#yfbr6Z&Dc97iLm z*e=X8h%*{CN+YaPM z<|>rCL&)|H@BLKQE|rwpXIey%(|JfF`NmY7BD@TpttSlP0ET@voj%DtCUd4)3~*;*N4)likBcX%|U3Z z^G-<<)G_tZSHy{%dyf$&LQHSxJ-Q8K-6HG4Du~uB$e_V~kHiT-;b$f@n14D?2*|EN z1NDC1r`_NNm!VoUh2)K5vqt5nxgq7lx~sepqbO4Jjk=AXWU=5~d`Te)4W0m+SNEmg zb^MbK^T!;nJv7ld5~o7tV#K$|iiqp{l;s}8{mhp2-!odZV7`#s{~-aZVPyQRXMTbM zO$tL2syhS(0B(9=RLbahi*la$E|8b{pPsxPL8R|zCV7ecs8mQ{*2Qh^`xe8VpWpy( zi0#^LL7vOy85^-$bg@!~Hnb61z9-UIM~V}nPSo#xIw1fnIa#pl{8uxo{eaHYK*yIF z*Tbr|h0t8=g9%W6C5-l%572Gwt5zE{vjyRV8_!Sj@q@h6f1)U6(B>e-o@^pwQL-eu zi**S~#%idKzk5ITD%be1Fu0uEa3`>>4c{_*UsxHEGbnpK89F`tmjI{xS7Elp&+x4U zi!U=?*Wl2;XeOTwjb*0Z8D5aKi%#z`&4Cg$KT!kO6Koy&^7z*L50JngW7GF>#`_Pq z|Dq4xlZ}2xeGs-`4%>7_bB7%&bckc)Egf?ORkl&HsV#&DTU)Mv$Illd)XIVsM>Uh_ z>ZvnUq#8~_S0ITWT0DC|2~YM|$dv;(_oFrmDI|{V9XF2Mk?kuXK!tjO-;Swm*vy4i zIt3WIwZgVC6tM+=)*kA1F(tNkX!M9%4)6WN2$87xD0?14<#sU?GA*AhN;SB@2#6p- z{Zj3O#co0)yTnTjz>*EabX{ab7%k5Vo!`QtZw9y{*POdsNNLdRK6Y+-7;PMm^oiO4 z%6@{b>^gS-Bq5Fk{WRd5F?JyEm~pE$k1^i!+~ehl&DM}sDp_KXRuZA3-rZAMa1sqo zMet>FzjfZPQvH9}{x5j`-Dl|hjClSs0(u2oqrj3Iv)f0O6SK7BZgVl@q}bLizS+M) zX~TqV&?NR6d=>z!-zcAlTP$)Iwh9zC}~^Hle_Ir@j=4Zdf(q0h#$xeuO#I$QvIMhZ=D<(S=U8X?Cg2&wIDlu zWQqB~TGE~O4ya^)=_BRDA+)YT@Ii8_VWhSOn>mB#nAE-}DkZyc*L^&EqSHcoO;qxV zo=bBiWe_WT=T+#sv5Z@dU(AFC3^~vm zQA66m@PC+2GpiU^1oxS@gLjZlFrgm;#?<&ukdn>l)+==2drn}-JKlgJhG~q z>w5F9kze;2`5!8zJ|h>#nndq#2{{X7y>tCCWjq|9HWvrBMQU z_e}u&U4q_s{L#eE&si^v(z@hW+Y<0N6KXYM2Q>#QeiMVDSThldMwjkILzd7BsTY-{ z_9nKg;Y+DC9o!m+fuaH<=g3_UhYz?w>aHX%fW18vZ0?6tM2i)dX;Y@(XXID?r~q4` zAo*rH9CqKIt|%vRN4~dvk}%=Y?5qr*h<1KLL{s=+Ws2v0->HB9X<>JTiT{vozLn5kBU`pA#8K zia_|=BOU$Fp!!~3r(gd{n63CG2z&_%(k7C3CSiO3iD ztj*eJaMKAXbcYacm$-T2n1yMElQXLS+}RXK@{DI6K-;MaXk_WNwV%Lcpa(oSj!r=i zrAov23fkoME?srmj8)8qwm*Ms-~$_G=D}hBwx8+S9}Y=Lzh(PVG%*KqfhFw%g~fcy zUA|_ihL`>HXS$XkE_`T{lt;+*?J$E&L7O$ofr&Tx5dz?k!RY(O`WLfzw!?*+u=P6=COkNn`XDK^Kr+-n#KYaLuiMD%Q{^i!gBW4r zQX`CX=;A--w$||4g9$OBX4x9@K&+?_x9Zj3S+(#5!is~?@rsThX?Bsl@9aVX&&Y+^ z7k{F1ASn`&K2-7GEwkZwJHeA!xFl#o@f8yC1qg(G`S2W756kYg?)QtM(FUv~m7=J1 z97I($3M}(3Fi)iKJ1X06MLllG9RtH(3+w#w_kzv55Yu3xZQTL*FfgXof2LLOq{}8+RCEWav z2sZ)DwvO6&Hc?YXhIP83Jv@7ICserWg94S91Db&0egJ@7IHkM&u>wioa68`ad?Lsk z9h!zK&F&$y;fv|i#95Z5m-NOK>B0p5;7}(Q$^aNl_`EAV&Es^XZW zd}AzPDdkn)8A&Bg-rAV?oiVnek|<$-;39CxTS97`%qt`}j6q+t_Z@wpXYbDePLck+g=k>8fcC6caSuhwvwEWx%>$ v?+;er$9oCkp~*i>74Xl`+UlM9XjdttV&-29;geAxcw + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::InputFormat Member List
+
+
+ +

This is the complete list of members for Linker::InputFormat, including all inherited members.

+ + + + + + + + + + + +
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
Initialize()Linker::Formatvirtual
ProduceModule(Module &module, Reader &rd)=0Linker::InputFormatpure virtual
ReadFile(Reader &in)=0Linker::Formatpure virtual
SetupOptions(char special_char, OutputFormat *format)Linker::InputFormatvirtual
WriteFile(Writer &out)=0Linker::Formatpure virtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classLinker_1_1InputFormat.html b/html/classLinker_1_1InputFormat.html new file mode 100644 index 00000000..0a0ed1e9 --- /dev/null +++ b/html/classLinker_1_1InputFormat.html @@ -0,0 +1,228 @@ + + + + + + + +RetroLinker: Linker::InputFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::InputFormat Class Referenceabstract
+
+
+ +

A class that provides a general interface to loading a module. + More...

+ +

#include <format.h>

+
+Inheritance diagram for Linker::InputFormat:
+
+
+ + +Linker::Format +AOut::AOutFormat +AS86Obj::AS86ObjFormat +COFF::COFFFormat +ELF::ELFFormat +O65::O65Format +OMF::OMFFormat +Microsoft::PEFormat + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void SetupOptions (char special_char, OutputFormat *format)
 Initializes the reader for linking purposes.
 
virtual void ProduceModule (Module &module, Reader &rd)=0
 Reads a file and loads the information into a module object.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void ReadFile (Reader &in)=0
 Loads file into memory.
 
virtual void WriteFile (Writer &out)=0
 Stores data in memory to file.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

A class that provides a general interface to loading a module.

+

Member Function Documentation

+ +

◆ ProduceModule()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
virtual void Linker::InputFormat::ProduceModule (Module & module,
Reader & rd )
+
+pure virtual
+
+ +

Reads a file and loads the information into a module object.

+ +

Implemented in AOut::AOutFormat, AS86Obj::AS86ObjFormat, COFF::COFFFormat, ELF::ELFFormat, O65::O65Format, and OMF::OMFFormat.

+ +
+
+ +

◆ SetupOptions()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void InputFormat::SetupOptions (char special_char,
OutputFormat * format )
+
+virtual
+
+ +

Initializes the reader for linking purposes.

+
Parameters
+ + + +
special_charMost input formats do not provide support for the special requirements of the output format (such as segmentation for ELF). We work around this by introducing special name prefixes $$SEGOF$ where $ is the value of special_char.
formatThe output format that will be used. This is required to know which extra special features need to be implemented (such as segmentation).
+
+
+ +

Reimplemented in COFF::COFFFormat, and ELF::ELFFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/format.h
  • +
  • src/linker/format.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1InputFormat.png b/html/classLinker_1_1InputFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..2a469a949c458b51e305ebb0f9ea3eaf973de9ca GIT binary patch literal 2986 zcmc&$c~p|=8aHk6mPS)^vU07N_7q!;MpH8DI%a97!pc%oGc^svH5WkZ205nAxnt3| zw{rVP3C*0`$css7hK;5eBAO{87%H2w-uL6oIny7V``4T^oCEy6_j#W8d!OI4y*Y;i ze61I*T4-iwX6^Umz9VL47E*wpTUvnMhuJI7gFoBD2aoMH8jS#sOO?q5|E2A6-FR^Y z_4WAB&=6R6>kPUFWdBGy5^&TEJexi!^Wq*evqf%x`@D}`nlmYwtS)L_PJTOlul<98 zG5ep{Y~hB|R)Huv>R+{Hc-(6r6V)JK<_4r=f_EPnd?jKpc!SSOe+dl&q{9 z#AnLZ#dGFJtiXcxk|j%~Du=139G7{_o%^V|fZ&%=9Md2?s7*zC?j|K(YHA)l7bDNH zH#ZOJf6*LW+7z21|EP=7iufq*<&K?9pFPjrJA%<}jj_b-IF&?;OCCfuU|%4#>SFz8 z+T`%dVYPtNt$mP8Qa7{b-OO~EJ9lno{7DIooZ2a~Eh|EMSv(j+@Q-$LP<9RrDfQ}N z@hmQp#~M#Gof+ObGnh*oi}EYy3Z41ds~JMY!^x5DXGnvJIGzlvcm{jW6j|w51MYY6agsQoc&q*4h@ecQDR#q0n8s2PouD%h+Et|(lHasb<)OM#62bjVw znt?gy=H|_ATVnM+Q$14V=ZC{`jb|wfJ^iGVLkt!Mb|N(cFllsY1h)DOPQ^G{BOgO) zg^WI#m_U)omswM~Q4K6=Z5eO1)0xr`seiE1mv5q3mmv8Lc3MU~g|xJ^oE=2gnUwBh zah@jn*vPt23s@s|cC?rC$6Jj3y{3pHzK+?|{HB2HkNE7b%)6me4>bc0}V60sUy66qU60N|N6)%S2?CTd&?8y67Rly zX;pwN2cP-9NoUb21 zcHKtD7sT2-i~>T6YFGY{<#=ju{YjAU19sj}?-^scmiax6M zy46DG$ivYanLZXPzYT7$=sFTknZIqrlS1#?_gfcRp9P{Td;N3lSG@$H`B!f)_1N(< z5CN;TDbY?q1gs87yY>JPY{k2s{TFO_-fP^|%EyNvwt`IF7CpbSg6(Q$y#j)Wy}Ew} zVf2rzf-&!o%&&ybZ)6_Fxc%%+hrr1(80WPr2%5hw8iVm)`2>RQw}xWg?J=oc3BuGC z^5_uo0;olHLD0=XPV)~JQW*;xu;tal#99V4(bmC6#DAQ&r}<;!T^h<4*U#oTUT1x@ zMPuW3J|Cv>xoH_6e$s0C(Vg-Ip+?Qj&;(LXCy%M6J6<>3y|6CCYrK>7*w@$^TJpQo zgH*Y_kmS}fSr8a_a;lW*pq-WnknEcqB1Fn`dcx_{xi21%tmO>DDo^q>0Ns)^ChM;VhQt1#;|Cts=Rsc|g)C%inoRk;@B|4FBSx zQ54p0B{*vTEozZgy&2HOV=$i6n^Y0Cv{r|4cAvQU*Bth+3@1CFxybnzb-sOqvMClbM zCP~+ZXp66|Mtb325H3_#vreh{2;$AhRa7RrsZtoIIV2UiX@~6znFp@iTK-yHeVa;a zERj{UL6EH)HKUPxUDM~Hh^_|23xlTFFv6o|ik-vDF?t=KjI>4-31Xl>{c`vxgl&3K zyRd+;^F^mX_aX041gjq1XIvGJYtb%SmVpV;KdZ;oG0`5H)CgAbhn7)n>5MvDxb|_u zne$;#nnSDnXueHR{%K^9wzR<*YCXF~CFg{ILa=1l+ot8>~jhmhD`MtlUN zpR0LR^0c27z}IU7Js_y;QpzsVWZ;IE&t%w$AHDOJq7XUz5xEew0G>~eX1r7*n>^iq zsO+I`4~SLA$mqN%n_pd$lCvS`kI}PSi?1y!+FdyyQbm!fP$IGnB;reh_+lc^IR#S` zbka_XVbDVQnB_K8?7akDK!-}970kGXs;y@ZH2nXLnPK>5W>-?vRgWzk8u53TE?_A#|er_x^&e;%uBj`wb T=n%M7oB8bz*jKgp%;o<9LK52r literal 0 HcmV?d00001 diff --git a/html/classLinker_1_1LinkerManager-members.html b/html/classLinker_1_1LinkerManager-members.html new file mode 100644 index 00000000..b3caa662 --- /dev/null +++ b/html/classLinker_1_1LinkerManager-members.html @@ -0,0 +1,125 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::LinkerManager Member List
+
+
+ +

This is the complete list of members for Linker::LinkerManager, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchSegment(std::string name)Linker::LinkerManager
FinishCurrentSegment()Linker::LinkerManager
GetCurrentAddress() constLinker::LinkerManager
GetScript(Linker::Module &module)Linker::LinkerManager
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classLinker_1_1LinkerManager.html b/html/classLinker_1_1LinkerManager.html new file mode 100644 index 00000000..8c85d8fe --- /dev/null +++ b/html/classLinker_1_1LinkerManager.html @@ -0,0 +1,334 @@ + + + + + + + +RetroLinker: Linker::LinkerManager Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::LinkerManager Class Reference
+
+
+ +

A helper class to collect sections into segments. + More...

+ +

#include <linker.h>

+
+Inheritance diagram for Linker::LinkerManager:
+
+
+ + +AOut::AOutFormat +Amiga::HunkFormat +Apple::OMFFormat +Apple::PEFFormat +Apple::ResourceFork +Binary::BinaryFormat +COFF::COFFFormat +DOS16M::BWFormat +DigitalResearch::CPM68KFormat +DigitalResearch::CPM86Format +DigitalResearch::CPM8KFormat +ELF::ELFFormat +Ergo::XPFormat +GEOS::GeodeFormat +MINIX::MINIXFormat +MachO::MachOFormat +Microsoft::LEFormat +Microsoft::MZFormat +Microsoft::NEFormat +PMODE::PMW1Format +PharLap::MPFormat +PharLap::P3Format +X68000::HUFormat +Xenix::BOutFormat +Xenix::XOutFormat + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + +

+Public Attributes

offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + +

+Protected Attributes

+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

A helper class to collect sections into segments.

+

Member Function Documentation

+ +

◆ AppendSegment()

+ +
+
+ + + + + + + +
Segment * LinkerManager::AppendSegment (std::string name)
+
+ +

Terminates the current segment (if there is one), creates a new segment and attaches it to the image.

+
Parameters
+ + +
nameThe name of the new segment
+
+
+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void LinkerManager::OnNewSegment (Segment * segment)
+
+virtual
+
+
+

Member Data Documentation

+ +

◆ current_base

+ +
+
+ + + + +
offset_t Linker::LinkerManager::current_base
+
+ +

The base address of the current section.

+

By default, sections within a segment are assumed to have the same segment base. This variable stores the segment base, as valid for the currently processed section.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/linker.h
  • +
  • src/linker/linker.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1LinkerManager.png b/html/classLinker_1_1LinkerManager.png new file mode 100644 index 0000000000000000000000000000000000000000..500e17cd18ecf4dd3bfced7da8ec610fdff49736 GIT binary patch literal 10671 zcmdUVd0dj|-nUJQGt=UXozclmrxCI#ld{ZmqbW;C!z`CbgsCXYDHprH7$JDw_ z85d+m8!;%H)B+c@G;@fQiqKrpRFp)808v4f_qJJ1^*rai@B4Y?`FuM5BXWaq-M{Pm z`!2sLeLvE3>Bkly8yOibMR<7}Ffy747#S_R{Na4?8P6Vv$KbD(`+fX(8w>{U;mdJV zbaoSU+s3aVKPNqU`QpV3@Oj6!z-!>Oj|c~l2aUkLU;j9LQ25Nq=qqQ0$JhRG^CpB7 zK#5oB?t$Sin_lTFW~x8_Fy(+-MEsozMpW+iUMkV96Z+%Ko(XribHsAtK;*Wh80dD( zWf#i#;|#{n;RsL~)qUy(LjCxP6AvK3B@A?S*B^ep=)R|{qjQVu_^&r20B9bF zyhww9FaJaU_pI!hh_SZXG5`5;S`d5YP_&>kXZ*ox7aitOpJcfC;GHG02!G<^ZGA(m z%u=oR#b6&1|1jxkoL>Ix=u5Rw{(_6T#<1!~;;n=|@&;E7xw7FA=f&iq;GQZ zA}bG?XVaNu%}&-?7kuHg>_qvk+PEYqPI%8ZZnl2Oeh7ajN1&)Us{%+ASHD3n1QUr~c+^!}?syEr(?xFHjewLrzEE`>aqx--~yg z%J9SV8N|Ayo0>`=&HPjw9Q*gR>5>O#rSZEed#fVM8Boqmnc~3apCx5|J1hHT)3UwM z$GBG-)}ZVWCI~4E-RX@9O_$uUx?-1C?qb{5f07`k0a~8dgJd;pu!wpOpV%m@=Gppk zU;JaFGIAA9oz4l8L21*PC;M({;5Q)>#jV4){QEJ8XM$sBqQ8Oo<|h1)s8v5$E4F0n zxs=CKPC6fkjDXGcWe&YXyj9hwY1)K4Ioc-fzZ9lr-Mj-!b1qNn_rks8$y7n z#rc#7``g+ANk>Bw&aF6O04?pJ-y%!(7pib=378sxr)e`lm(oZKq6M#vJ#Snk>cc2@ z0rqG(8EOs~Cvp_^E*WTq5k^IV*k*G1r&>@;#MPJFR7!G4l0<2Yo#{>b;F5$|mm4LjHpw*yMeo#Lh z!iGbk^0)j@jNJT<3nxw?KT2I(+@HA|5uJ$j#n0Q8t)AIJjEq-a!bRsUACr7cD_qa1 z{p^02X|EK@9dZg<(RdhW`~qbnIqE}NIbGEiWgYXuVrZ9adN%fFO=|nlZOrjNrkeQ0 zXp<_aO0-k)4Gg@e#8DXnX+fg$E6;8|KEf7#k8@SW3>4Ux*WRk=_hyXT^NlzqFhu=% z`;!->hwXWLf$w<_>-V0+h32_*rc_gk?61{yn=ll&A$5tRgk6f}C%suWH9tn!f>=l@ zrXZ(hHgMu1HEtA_kdyi(XXkySQQuWOKjC90fHp$%_Y^Ols^WL!A;iVX^V<-ex)DCtCfIg`{?1F(;KR$`kd4DG6>GZO_Y@+9`0GHq`)La?e<&$2J626$QhmkqdI^%@@nKKCF*Owy>W3JK zDn6e$uFxp%f?_91oNl3D43mTgPF>1s?0|)P%2esW=j$Le-@*$g zlcMUoWLbUZm&2%+s!nPnJS=SiN#0%s;hMRp(`BE{FHc7%JTi9i_NT-|Tx(r*guVIn zwx|@$YjUTj92=NXjN-fsqzM#y@Q zMX;K=yG|@Nugj6-H2mP`YW>&S{A~dzAw!xsE}>Z6g-r*V3V4jSG1-uZi`CZD*C%XZld;%h zafH3|ssi8r?1`3E==SW#n$F3imcn?J=f$xIdxSq0q`lBK{*i)p+^_5Q>n`IuTn$de ziLNtvvs}?K&hh8eD7WkxZDNYu28KCvbSKf-J!MPIUi?0MzA1l_ocxop6RJttbD|RY)oY7Ea7eQa$$-FT?MHV_ zx{(eOAM%?j!7t5rxliW@LWY9E%^5=;Jz-#5rRBfTbKb%D`&|sZA0U*ACy(mkI%Syd zg!67ybPzQQTWs%;>}<7?_k;Tn`tA(4Q;N0%=v~p0=-#uhBedNHyyG7_($MfTnqAl( z4kjF_RzfIjcar%y^b1Idi76Hluaw-}m!Gv2hz28%HL?^lynhGsa9gmF+e-MNV=n-oLW z4(kN*`WyQ0QsT29pyWzL_Rw`h8-!i%{TZ({Dv*nKScVb=;TsN zKhKbkQwi!I{Z)}0^h`qx37p;fpqGU-<|9EW7F-`9Q8RofS*;H?mo3L=^IKXC4ji&yy|_wbO_?p2PUj8!s&?ltJmu$Ae z%__pPZbZlhpU4PmR`CX#p5rafn{NhIkA6?(N!zc{-_X%B#MtEkWteJ61j*1PR z_b4Z9A4|VJTfYgr4{uc>@cCiuprBB&!+i}(x^H?-cbi>}Av=COC#A8!k-ii%ZO#~5 zIi+dPLjhSZ%giuKtRvkpzeCsQ^cP8@c^sC)Cs?v`WHS6~hwxT$+L+=*RJ$N=^Q!u~ z#0uE0zGy~xj+$2lS9i|Yq9_~MgDEIv4C?8~jL3%$75r4tXTAZf^8Wv*DmQxnt16e- z@G0@~STk!wGbDD8yqFi0qsmvFg}gD8I;Z?8bcjwPA!Ap9f?Vny+T zS*;ciP1t=l8<*L@63xh7*EkleamEZsT`nQ+j8N{ccMh>eh|R|lh4%4^ z5JOFb&FdngCdE86?>521s>9#qG4&sOE*d8=&RF~`KLIaoE%!3y!gW20iwr~S`Dq5mID&ry0T zFqfhvfGJ8a!XIAur!4p_b>UDb!cj3#shQxLblP6;n*#lpOD=8`fnQE1wWgXd!2n55 z^m(owAJ>|MgiEOYaJcfe13+?l-gD{)OLza?M9watW=WxiT;Q?OZ(D~I4iwMH6?%+<`pB(kF?Sa+r@b~6h~_xs=3O0 zq$)2J5{k+xGLBBNxDaQhbb)LZcx|sbU4)GFW> zgU>^|^#et005LVI(}!HwvpOMkw&*j2Im4i{LybeB^JZW=lPMr7+uf?Z`wPY$)hOMY z8$aO8AP_@AwOy!JEDF-`ay_C2f(C}BV{b`qI6A}M0DouizW*T{XkcfRo88G6A7e9E zpe>D2XURr;s8V3=_MG_d^x6W?Fz3klsAx2}((N?gb?K6v4pWjC`gFqokQ-UoesDrl zByW78jC(a~w~liR7&?h11lnfFT73g$dEz3t=9oiOuNU3@Wg()hZdzM^71jHMw7de5 z=gWUk9Uk2Uy025)KV^h+$SA^!sX8;KD%|c$cTd%+h}FL<_n&MbV>+$oeh&)2Fn-t5 zH1FtLN}$nVHol?(Q^9ug{|YZQJ?xL3Q#5j#QD9(%aCN zG$@@c)v(O1Nuq6+l>AfsVK#0|_5BUaA*KRqNap00Y8XOFj?4GUd9H3${^4J5u{S>* zs-tHYQ?~KGJ18C{B>nE2+@4N50cUKH!JGi|i$HlpSnUvO7xPe9-h9@;{X$gbm)jH5 zuKboL2%qL$Y3TOGP-b3>_B^TGMt)n;E`{ViVB{)kyxdD|)O(&7%zDKH@tmw#vr46t*qTD>_h(C6TCscaR=GX5f-`l){0VWyT+)eQ zS`Kn2k}Yn^M-!Hvb|Y>-(|)1dka@BdOb(uq?9oGU?aZl3LQ0LrAb-eM%qs}Jd$6@t zQb+UEgaNAk4C4trH^QCRy_ZqTEz|s1(c1@OPQ*LLe_g54&J_Ta9HjF50}Gn!mQVV> zbhV9-(jNqqPTF*^Nyh}AwZhP%hR$P+dO})TaJ>rxn-fzSt+;2z*~CFb%I(Ni)Shp1 zWHx@8?-;~44AlD_a;n&nI<9i^fXc5x%AZCF;@&hqDC!Aikrg*x^^xTl1^QKh|@;hIrx3GT?*OdB6f+_ zZwwy((vd?>8_UC~TP{FCSpL`;abU`(0&k$u&;FykI(?RiRgJzQk*fyVSeJz}3hr|D=t?FAu3`sotv!pbpj(bXM-U=&DvFFjUyA_@dWSr&mGrOW) z$9CcqZvWDYqt#vqE)BV5D%EA!OWJKq%S!o(ScF;7cI>I>g@UEY@}_93PUYP{077k@ z4+sLXE(Qhd2jj=^MX`?OzXgV;&a&qKLK@5SPzCUX`pcsFNVhLgH@v4$aK6Xk4ho+I z|523D*F}l&s*SuJKH4tS9^DZHQ8Esio(t7MIZ@H5OH-~d`GrxdgOS&VF%H;Ce6FA= zy2!t9UqhaUW7RuC`=8wXev4UwIWV3DZxxT~2$AXmbqnDkTjmqN12g*FsypV^#Pysl zW#WOFC8~*x(0;u0S#9c<*jqgI-xeP|3$&XX7)J+eL#_s*#Rc#|=1u2)CvQY-5pQ_Fj%?Mk> zq_nYZ&6vWZ)#+jQw?{I+g`%(Bk4Ee@H(z%J=j&vM(b5;E{^I%lztv207ZYsfrgPM} z=^Pk4R=p$eU~9To5wm!-F{x#({v}VD^!L#;N$OnQ%w4<6Gca1X8Bm6{Qfu9w?k@NH>;(s_CvpKh`TRF}*gJS+XHrLJyCSe*2UB@n;;@-FfD$MIn#s)fTjs z35#E6DC-4hLNZ0F8hv%g8Yj`sxNxytA&a z$uZ<>RW#P8r1rXX?*Pqk8x+qK5F=s;IOUugh0r2yyqy5Q=NgOt`&6dZ;%R4n+ny0yJMyLYFQ2I*k z;ghb_Yf#vMkuTQ+Tu=e1{!FLqEZW8rbyGQ>{Rv(my*IW2wh;Q6dWccsY{lYE{Jk1W z=ZTJ>;QQ*TLMC%@=j0i|hGfTdNm&YkMAwtR><^sjXpckZ#dV2u${XlEL10g)Q?c?9Qlm1<>v>62g|dJvF%?*%V(z8qAdwjYKw)+>x3C=mjh9Ti%ht|__6k8 zMSoxGriLXm87PN|Rdlw8@MhhPs~#%jwklDh6ckxzNwmU0@iC#3-I=Zf30>bag)u#6 zNQT?w8^`r_Qrtq$$c754yN`ExzaVt+F%@$Y<-UNb|LVVg?^f@-!vpWPe0Jp3@Ps@x z<+i(Qva4<3vzDQjR*6JDTqW9e80I-nXi6FxoU}=oWPowQZSD?AxJpP7EBW}fRHva? zxj^14zt3HW#Ja6wqgBIp2T0iw{oZD!L<={eFcA!i+X2oLI5M;IJt*w%jF6EgaBk-_ zf)l&#rGTA#FkwD8m2U@5rL744)eWFL0tB`sIxT#B!*4;LKa*+68JovGy`1O`Vgi0z z*15P-IH9|D2c+{>-6hS~`pT$q&Q7fnAE$7c}<{^!J6WQPqj+Dfpw%13l z-m=|)gjDaj{SZRxT4aUI)9u|lHHwILt#mF+5M*QvhKIPJoTy(gCeM>PhC92XKoqINe zdDNrRVs6nbd+PP@@iFE!ch4=WCKZ|8P3VBk9UlXOD;oS{t${ax_M*tP3a8=>SJHa^ zi4vjI6g*0U8Hd6UN6qce#i~d>v#O?OVj}Su+0_Lvj=*hDry<;>N7kUSH1&7M{baZ$ w&k|mnf0CL?Wn-d`Vcos``Ttkw=&TnFes}hz3Rwgmtu#XHMtU%Ie)Et21CEG*H2?qr literal 0 HcmV?d00001 diff --git a/html/classLinker_1_1Location-members.html b/html/classLinker_1_1Location-members.html new file mode 100644 index 00000000..ba29817a --- /dev/null +++ b/html/classLinker_1_1Location-members.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Location Member List
+
+
+ +

This is the complete list of members for Linker::Location, including all inherited members.

+ + + + + + + + + + +
Displace(const Displacement &displacement)Linker::Location
GetPosition(bool segment_of=false) constLinker::Location
Location(Section *section, offset_t offset=0)Linker::Locationinline
Location(offset_t offset=0)Linker::Locationinline
offsetLinker::Location
operator+=(offset_t value) (defined in Linker::Location)Linker::Location
operator-=(offset_t value) (defined in Linker::Location)Linker::Location
operator==(const Location &other) const (defined in Linker::Location)Linker::Location
sectionLinker::Location
+ + + + diff --git a/html/classLinker_1_1Location.html b/html/classLinker_1_1Location.html new file mode 100644 index 00000000..b9d1f0bd --- /dev/null +++ b/html/classLinker_1_1Location.html @@ -0,0 +1,189 @@ + + + + + + + +RetroLinker: Linker::Location Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Location Class Reference
+
+
+ +

Represents a single offset within a section, or an absolute location in memory if the section is null. + More...

+ +

#include <location.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Location (Section *section, offset_t offset=0)
 Creates a location within a section.
 
Location (offset_t offset=0)
 Creates an absolute location.
 
bool Displace (const Displacement &displacement)
 Recalculates location after a section has moved.
 
Position GetPosition (bool segment_of=false) const
 Calculates the address.
 
+bool operator== (const Location &other) const
 
+Locationoperator+= (offset_t value)
 
+Locationoperator-= (offset_t value)
 
+ + + + + + + +

+Public Attributes

+Sectionsection
 The section the symbol is located in, or null for an absolute location.
 
+offset_t offset
 The offset of the symbol within a section, or the absolute address.
 
+

Detailed Description

+

Represents a single offset within a section, or an absolute location in memory if the section is null.

+

Member Function Documentation

+ +

◆ Displace()

+ +
+
+ + + + + + + +
bool Location::Displace (const Displacement & displacement)
+
+ +

Recalculates location after a section has moved.

+
Parameters
+ + +
displacementA map from sections to locations, specifying the new starting place of the section. This can also indicate when a section has been appended to another one, and the location will be updated to reference the new section.
+
+
+
Returns
True if location changed due to displacement.
+ +
+
+ +

◆ GetPosition()

+ +
+
+ + + + + + + +
Position Location::GetPosition (bool segment_of = false) const
+
+ +

Calculates the address.

+

Using the starting addresses of sections, calculates the address of the location, as well as the segment it belongs to.

+

On some platforms, most prominently on the Intel 8086, addresses are composed of a preferred segment and an offset within that segment. Symbols will have an associated hardware segment, which is usually, but not always, mapped onto the linker's idea of a Segment.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/html/classLinker_1_1Module-members.html b/html/classLinker_1_1Module-members.html new file mode 100644 index 00000000..ba591fc7 --- /dev/null +++ b/html/classLinker_1_1Module-members.html @@ -0,0 +1,134 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Module Member List
+
+
+ +

This is the complete list of members for Linker::Module, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddCommonSymbol(std::string name, CommonSymbol symbol)Linker::Module
AddExportedSymbol(ExportedSymbol name, Location symbol)Linker::Module
AddGlobalSymbol(std::string name, Location symbol)Linker::Module
AddImportedSymbol(SymbolName name)Linker::Module
AddLocalSymbol(std::string name, Location symbol)Linker::Module
AddSection(Section *section)Linker::Module
AllocateSymbols(Section *section)Linker::Module
AllocateSymbols()Linker::Module
Append(Section *dst, Section *src)Linker::Module
Append(Module &other)Linker::Module
ARM enum value (defined in Linker::Module)Linker::Module
ARM64 enum value (defined in Linker::Module)Linker::Module
cpu (defined in Linker::Module)Linker::Module
cpu_type enum nameLinker::Module
DeleteSection(size_t index)Linker::Module
FetchSection(std::string name, unsigned default_flags)Linker::Module
FindGlobalSymbol(std::string name, Location &location)Linker::Module
FindLocalSymbol(std::string name, Location &location)Linker::Module
FindSection(std::string name)Linker::Module
GetExportedSymbols() constLinker::Module
GetImportedSymbols() constLinker::Module
I386 enum value (defined in Linker::Module)Linker::Module
I80 enum value (defined in Linker::Module)Linker::Module
I86 enum value (defined in Linker::Module)Linker::Module
M6800 enum value (defined in Linker::Module)Linker::Module
M6809 enum value (defined in Linker::Module)Linker::Module
M68K enum value (defined in Linker::Module)Linker::Module
MIPS enum value (defined in Linker::Module)Linker::Module
Module() (defined in Linker::Module)Linker::Moduleinline
MOS6502 enum value (defined in Linker::Module)Linker::Module
NONE enum value (defined in Linker::Module)Linker::Module
PDP11 enum value (defined in Linker::Module)Linker::Module
PPC enum value (defined in Linker::Module)Linker::Module
PPC64 enum value (defined in Linker::Module)Linker::Module
relocationsLinker::Module
RemoveSections()Linker::Module
ResolveRelocations()Linker::Module
Sections() constLinker::Module
SH enum value (defined in Linker::Module)Linker::Module
SPARC enum value (defined in Linker::Module)Linker::Module
W65K enum value (defined in Linker::Module)Linker::Module
X86_64 enum value (defined in Linker::Module)Linker::Module
Z8K enum value (defined in Linker::Module)Linker::Module
+ + + + diff --git a/html/classLinker_1_1Module.html b/html/classLinker_1_1Module.html new file mode 100644 index 00000000..5da6ee59 --- /dev/null +++ b/html/classLinker_1_1Module.html @@ -0,0 +1,229 @@ + + + + + + + +RetroLinker: Linker::Module Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Module Class Reference
+
+
+ +

Encodes an object module file as a collection of sections, symbols and relocations. + More...

+ +

#include <module.h>

+ + + + + +

+Public Types

enum  cpu_type {
+  NONE +, I80 +, I86 +, I386 +,
+  X86_64 +, M6800 +, M6809 +, M68K +,
+  MOS6502 +, W65K +, Z8K +, PPC +,
+  PPC64 +, ARM +, ARM64 +, PDP11 +,
+  MIPS +, SPARC +, SH +
+ }
 Encodes the CPU for the target.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+void AddLocalSymbol (std::string name, Location symbol)
 Adds an internal symbol.
 
+void AddGlobalSymbol (std::string name, Location symbol)
 Adds an exported symbol.
 
+void AddCommonSymbol (std::string name, CommonSymbol symbol)
 Adds a common symbol.
 
+void AddImportedSymbol (SymbolName name)
 Adds an imported symbol.
 
+void AddExportedSymbol (ExportedSymbol name, Location symbol)
 Adds an exported symbol.
 
+const std::vector< SymbolName > & GetImportedSymbols () const
 Retrieves list of all imported symbols.
 
+const std::map< ExportedSymbol, Location > & GetExportedSymbols () const
 Retrieves map of all exported symbols and their locations.
 
+bool FindLocalSymbol (std::string name, Location &location)
 Searches for a local symbol.
 
+bool FindGlobalSymbol (std::string name, Location &location)
 Searches for a global symbol.
 
+void AddSection (Section *section)
 Adds a new section.
 
+const std::vector< Section * > & Sections () const
 Retrieves list of all sections.
 
+void DeleteSection (size_t index)
 Deletes a specific sections.
 
+void RemoveSections ()
 Removes all sections from internal list, without deleting them.
 
+SectionFindSection (std::string name)
 Searches for a section with a specific name.
 
+SectionFetchSection (std::string name, unsigned default_flags)
 Searches or creates a section with a specific name, with the assigned flags.
 
+void ResolveRelocations ()
 Attempts to resolve the targets of all relocations.
 
+void Append (Section *dst, Section *src)
 Appends two of its sections.
 
+void Append (Module &other)
 Appends another module object, merging identically named sections.
 
+void AllocateSymbols (Section *section)
 All common symbols are converted to global symbols and assigned addresses within a section.
 
+void AllocateSymbols ()
 All common symbols are converted to global symbols and assigned addresses within a ".comm" section.
 
+ + + + + + +

+Public Attributes

+enum Linker::Module::cpu_type cpu
 
+std::vector< Relocationrelocations
 List of relocations within the module.
 
+

Detailed Description

+

Encodes an object module file as a collection of sections, symbols and relocations.

+

The documentation for this class was generated from the following files:
    +
  • src/linker/module.h
  • +
  • src/linker/module.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1OutputFormat-members.html b/html/classLinker_1_1OutputFormat-members.html new file mode 100644 index 00000000..1a0c37bb --- /dev/null +++ b/html/classLinker_1_1OutputFormat-members.html @@ -0,0 +1,117 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::OutputFormat Member List
+
+
+ +

This is the complete list of members for Linker::OutputFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
CalculateValues()Linker::OutputFormatvirtual
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
Initialize()Linker::Formatvirtual
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ReadFile(Reader &in)=0Linker::Formatpure virtual
SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
WriteFile(Writer &out)=0Linker::Formatpure virtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classLinker_1_1OutputFormat.html b/html/classLinker_1_1OutputFormat.html new file mode 100644 index 00000000..fde90f05 --- /dev/null +++ b/html/classLinker_1_1OutputFormat.html @@ -0,0 +1,655 @@ + + + + + + + +RetroLinker: Linker::OutputFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::OutputFormat Class Reference
+
+
+ +

A class that provides a general interface to setting up generation for a format. + More...

+ +

#include <format.h>

+
+Inheritance diagram for Linker::OutputFormat:
+
+
+ + +Linker::Format +AOut::AOutFormat +Amiga::HunkFormat +Apple::AppleSingleDouble +Apple::MacDriver +Apple::OMFFormat +Apple::PEFFormat +Apple::ResourceFork +Apple::ResourceFork::Resource +Binary::BinaryFormat +COFF::COFFFormat +DOS16M::BWFormat +DigitalResearch::CPM68KFormat +DigitalResearch::CPM86Format +DigitalResearch::CPM8KFormat +ELF::ELFFormat +Ergo::XPFormat +GEOS::GeodeFormat +MINIX::MINIXFormat +MachO::MachOFormat +Microsoft::LEFormat +Microsoft::MZFormat +Microsoft::NEFormat +PMODE::PMW1Format +PharLap::MPFormat +PharLap::P3Format +X68000::HUFormat +Xenix::BOutFormat +Xenix::XOutFormat + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void ReadFile (Reader &in)=0
 Loads file into memory.
 
virtual void WriteFile (Writer &out)=0
 Stores data in memory to file.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

A class that provides a general interface to setting up generation for a format.

+

Member Function Documentation

+ +

◆ AddSupplementaryOutputFormat()

+ +
+
+ + + + + +
+ + + + + + + +
bool OutputFormat::AddSupplementaryOutputFormat (std::string subformat)
+
+virtual
+
+ +

If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.

+ +

Reimplemented in Apple::MacDriver.

+ +
+
+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void OutputFormat::CalculateValues ()
+
+virtual
+
+
+ +

◆ FormatIs16bit()

+ +
+
+ + + + + +
+ + + + + + + +
bool OutputFormat::FormatIs16bit () const
+
+virtual
+
+ +

Whether the format is 16-bit or not.

+

This is needed for the ELF parser which can not distinguish between the 8086 and 80386 backends.

+ +

Reimplemented in Binary::BinaryFormat, DOS16M::BWFormat, DigitalResearch::CPM86Format, MINIX::MINIXFormat, Microsoft::MZFormat, and Microsoft::NEFormat.

+ +
+
+ +

◆ FormatIsLinear()

+ +
+
+ + + + + +
+ + + + + + + +
bool OutputFormat::FormatIsLinear () const
+
+virtual
+
+ +

Whether the address space is linear or segmented.

+

This is needed to determine whether symbol relocations are absolute addresses or offsets within their own segments. Typically, Intel 8086 backends are non-linear, the others are linear.

+ +
+
+ +

◆ FormatSupportsLibraries()

+ +
+
+ + + + + +
+ + + + + + + +
bool OutputFormat::FormatSupportsLibraries () const
+
+virtual
+
+ +

Whether the format supports libraries.

+ +

Reimplemented in Microsoft::LEFormat, and Microsoft::NEFormat.

+ +
+
+ +

◆ FormatSupportsResources()

+ +
+
+ + + + + +
+ + + + + + + +
bool OutputFormat::FormatSupportsResources () const
+
+virtual
+
+ +

Whether the format supports resources.

+

Formats such as NE, LE/LX, PE and the Macintosh classic support including resources in the final binary. To simplify writing resources, the ELF parser permits incorporating them directly in the binary image as $$RSRC$_<type>$<id>.

+ +

Reimplemented in Apple::AppleSingleDouble, Apple::ResourceFork, and Apple::MacDriver.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool OutputFormat::FormatSupportsSegmentation () const
+
+virtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented in Binary::BinaryFormat, DOS16M::BWFormat, DigitalResearch::CPM86Format, DigitalResearch::CPM8KFormat, Microsoft::LEFormat, Microsoft::MZFormat, Microsoft::NEFormat, and PharLap::P3Format.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void OutputFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+virtual
+
+
+ +

◆ GetDefaultExtension() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
virtual std::string Linker::OutputFormat::GetDefaultExtension (Linker::Module & module)
+
+virtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented in Binary::UZIFormat, Binary::UZI280Format, AOut::AOutFormat, Amiga::HunkFormat, Apple::AppleSingleDouble, Apple::ResourceFork, and MINIX::MINIXFormat.

+ +
+
+ +

◆ GetDefaultExtension() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
virtual std::string Linker::OutputFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+virtual
+
+
+ +

◆ ProcessModule()

+ + + +

◆ SetLinkScript()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void OutputFormat::SetLinkScript (std::string script_file,
std::map< std::string, std::string > & options )
+
+virtual
+
+ +

Selects a script file to use for linking.

+ +

Reimplemented in Apple::AppleSingleDouble, and Apple::MacDriver.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void OutputFormat::SetModel (std::string model)
+
+virtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented in Binary::BinaryFormat, DigitalResearch::CPM86Format, Apple::AppleSingleDouble, Apple::ResourceFork, Apple::MacDriver, Microsoft::MZFormat, and Microsoft::NEFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void OutputFormat::SetOptions (std::map< std::string, std::string > & options)
+
+virtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/format.h
  • +
  • src/linker/format.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1OutputFormat.png b/html/classLinker_1_1OutputFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..3518fc4c1a95eed908dafd8638497ca2713a7376 GIT binary patch literal 12521 zcmdUWd012T)^*g|T3;1j#LW3T*9CvU&s!%APr?21e!_s~s zo9)#P+LYP-`qisf(EFx6u6LkgYeG+;Pr{(rZ~x#cb6&t;dqYu24mwA!m>Hf4q1dhZ zXsqULWs|}nu3+VrQ7U4=#Gl# zsm1Kkfz~0!r;W8TUqBk$x5-BATP2GAv_%k@suL5rLm+8IX!nw8I&~y89L_9mZh0Mn zFgMMFz62IeA<YHs#^v8x@33z?|RYB5`F{#PJHcn!-oUBMi+Ag-; zyxuQ2RU7e~pzWD!YJN-tq5^NW+AdD*h)?y3jJb)dZBh+1TGT_0#9me40oFxnRz&MF zcI&Z~^Ns#1G`_UcU158vv2@Ls$Dt=&`#U>f=C}W`t>g;qh>P0gBD!;|mkA3XTCUmA=80AiF1A_G#sfopc5}?wC-!3z}X=9jp{T=|@eM zYrk?OLq9ysvNKM3X?4(X*do~Uar(1`?Pk-5LTd+Sv|K?`>UqD`!y)opB^c{otnxP< zbh8ozQ42UQbbJ6hxpR0Erz^=9`xA4zmm>vXLo+^L)B*FxNjKjoR#_>dn?F}sD~#^s zR8E(tZD2}oLw6GMl>GL((#uhK-wr&t z=~{&9tIQbvByNnG8l%WAU&96ET(B$Y5)?{@!E%y8;~c4Sv}%AH-IvftDMk>zOjP>E zgy)xB0|SYR-9ed0_*+s~)~SPLPjHs%LV4cFsq{xYVT?*l8cATOjX28X@;N}~vu4dX z`t&pX=`PK6D&>qJX#MTMWa(zAid z440;IPZGqZ^EF(5yBntz3P5qXeZ-Uk79DeeZdI;H-Mg+WXZ3tnGx(1mR}7W@hv4zo z>-{H4mIIrwor@I0;_5TOqLv8VKU^Vy4A>I3U?Hg+Ap{2v5tf~rhZEYk2{W63y$Mz?7%$bl>Gr5V`4L z$1Bn?LPf-Ywa2SB=Zn{ty>!-g0jnx-Hx?J=$TIche`A6pbQC_nc4a-B(5$1;aWm*Ci$5^X9HdOoSjsD(sb;T>67_lY_09alP_*>C^y>Q z5bT1In}ER{BQ&$l&a?GRIKzR?bh1y-L40_2psUQy z77v^K3{Z+6RmcZ4=N3g5aierqbPifJklHC|RVDS2OOPaVt2CLr$TtVbV`eH(>)da= zyht>@5$Cu6l{Z+VLw@0dws#KFm6JAhc@KVsaxjrM0NcQ~OBesZ8do`=?V# z7Bh#=hCR6eGH}jr<(c36LD{GHM04Lv@agrvZS=xw$us>lq8ekG(0wwbVkMT;uT2cU zJ@MppW!!TWz0f^Q>g64!mS_jE$fv^0%4%lsbV-0jwwX?5{S@Vy-CEf&-h|^<(%kL) z4yf)-BV*2xO2xF>NBDNM^dZtU=TXUj3|A+kdEQRaNmK4&|*#QD%gwfC9 zJiA5H8*U#jUYV%7uut5zL9sRo#C{*^FBpu%N5aa$8O13+O{=0o)CT z=n2MXRD|u$=8msiNOQlzu9a?e$BhI|`fQ+Hdeq=p+0eqRB1lh$?5MBEz&ZrF^?@Sh zBpH;hq6X^{;feL^^XIYz+Ilq|{|G}HYZ+2i`@rfR)oaK3ttEi&iscTwmGk$6+niF0 z{#J>RqXe6w(7z=v!=|N1;vvbSyYgLCRf@ZqiRpf2>zN&8Sr;@Vt2*G<8lgmX0F3ol z(LwmDz!jqFT3Shi052g_8rU?yyzMSx&^tXBHuX;uF2JgJC%Ew7bCB_~N=8KV^|B@=k73LDi!1VG1Nv)WBMVp{mFQoSq6Vu)k!T^FeJz({DPcKPF=+JBeG{WUWF zRH@#P$7axL)3veTRm+o}Q1Kagua>^O!l5E!SW94)BC7@$*jr1fjSe~$=7KuFeDvmu zm(+9yIZ7FUO7N%;AR5rrO7Ou)t|aPh#*EIV^l$o?Ltbw}+}~+n3O=i9Y!YVUAO$V)@Ng@YftCJJz{y znr2))DAl%w_`+*_^P5Ab?4f;bB+H%nF?c|;FfZBWqNjbY?W1%fy)w=f3P!NtOYO(c z51%>BN0$8#i`s2YJ%2A))GJ}pEA$s2DWlx^(yDR-YnQftW&Hs=bzoGphh5CX+4Uh`NM@V)dE6tP{>($a2x0ilV%s>`7?G~CRL3 zXLirAdV|I0gdb#69&Gz(<|*6+MA#npK`Uf&kvv2fVtz)hYL^pr(~GVt>A`!f6_QQR z9_>-?QPj$(uvzG1|J!Z;?`b4AP+8PsprU4vavp8`6NJ0|9Hl)-`5Q_+$qU~zab+SS zkK3blPVt7KeR#3DKakxsrq!a^^oK~PC?mxSbd&J_y~}Ok14^ir&06^vmJ_$uOScsJ zN?%b(heN&!b*&XGj#$qkwVU1r>#!6$O9EuJ8AH*EI{z+Om*!K+9#*<+0NKDbK)uak zrEY`1CwnjTd!YC6h!P=hJfr2*7CDC!FZ&fvhO6fWF5&UwMpJWnn+r10OXC~*mkx6q z*DloIbK}t3Q_r#^@{Er9X2;iaNjQikc&8^^y7Z3J$p~tUh)Z82T{?ak<(wc^(@(nO z5OWhODh&Np=^=c$`HhhX`U#MdQm%|>!4G<#kZiqBi^!f3?ThBV@HT{YVU8m!Hgap= z+=8J(9BF2u`syT^*z2j4t)dx@i2csaIE}Y|=mJ?tUPa5bz(pWJKW(zI;d^@6Z%k{q z`mvZik##b2ZEuKhQ3@7~_?d2TgbPBBV_3o$chxaev1MnLJwM6w&~Kp1WHm)wr24kQ z(arYHlkE9UknVIu;_L;MQ{S8^<b|@x0_KPHLGqJg#HG;xr+2u!%C{98w zj4i`KG)#kWT#fPLHL&PozU~P%#t(uWx=xOqZHsK%Yv(qNSY5`=-UeXnUj_UJ?Sua( zI7aI##aW|LoZULYZ#Gcs(SPY9)t&vZvXYTEwUP+BfU|+t`eXD+LYr>ZqpuadvZ;_I zEzRsq0j zqlsR*$2SI+8O_o1%y1#fWpAlTW}x_JZHN5qQ@;yP$G_#a?^JGka;rn#1?(9y*BfL;) z1nAZu3egbwVAFIE3L?%vnMd_+cx}u$XB10i>v}G5qK?5RJ%=)(_}2~g|-+5M%f9wDeWrV#H&izS?jyY9o7&nG1}=|8V&EG2X<}QD^|XZet`hL^5e<#EZWX3@JLp+0nkVvY}Y5czvr zG{#d5acoT26RDd!QvPj0H$6UZ;L?MBG(0J zIdvNq5~PQH--f|{aU7xDJ|w{_H>yxKY&(AW{Cw#0JXLPt zT}zdEr`pIZk{Y7-1RPrRLZlqN_U{qmt(3o&+&eZu_Td9aemfsGZ9o)$_|m zULfm}(s$@iVZBB7w0YB~EsNz*`c%l3Z=rO)jk1I=V*?ge2}7R~%jNMRnF^i9W2pPM+WD0X~+ zgf|v7La?r`Q+2^h)+u4FF_Z|w`qobxqfp+U1Umg*ci$SnGIOQZ4Oe>Ix@*2%Rd?n; z-xvAsiH#@9cwO84>j-?<+G-b7?v00h@@ES#nRA@>#L*vG?}$t77KdJK-Bf5I+)q*6MU6jLX^vRa z`3#5n2#$JGCBT`-MU5zJ^5zq$KA`j9RygZZ+J(5QUWFR^-Whr%fKg>vdD?zs53N1g z+`UZqS9e^|-yW9iCAyXCZ-h$qq`ou7TZbXT_4MNPI~$nsid(z;KoBOiS3EpzT=q;x+^uo{+`=DOEusfx1N> zvQtX3uM~+l!xQ23)Q%iR5@i}4gHd;CR#I~F)Thkys5^yQ$#8Fpi(6h^K{Oenh(3FQ z2Mli-YF}kcy^e@|(M#K`*kb*TB|27W&!qQq+ZT9|UVNXZ-i4=`)b5b&rO^eLomsOZ ztZ@CRx&n+IF?~0j{>%Mh^n1AKI;e#NOyiyB1ZwYSJ0>*ItC>h5 zMM5z<==pu<_z6OO)Dv8atjU!`!;WI@?G{&oZ7VBI*%yi?moCPgP1VzKyVY^Af;VBI zWkpibc|M9CPO{I}aQ|akd5=4M;QgcuAcrnkZirPZCFQiGac7kLJ#G`b=iG6Ojd*SsyoyBLjot}UyLA*czwIjHk}qIo3x zo*|rdUYfvzg7B=?R*+7u`=sQWa5>64gO-PsC(+rA_UiZ{t(;h`q)VZHSs^}bdz!%p z{m_G)Qf}#i9J&uHr)P|P-=&#h5}yxrIz{i#NZ#JOP4r0F&OW#nY>U)JY7?(=WXmx_ z_-M6&o4d<`n|iqtNdHqeFc*4}D#J^kbstJ*M&q+z_o7^xFEd>gvob51mg#>JH?8pQj<*f5}6|jigUiblYpi5wN ze=hn=9DmuQ8ES2t#Ip-fsjHU0-lSd-wZmM&ttz2loI%zf;_yi?s<&xs?N+0jhU?rm zM8vp7>O}C1LZ`f|8_W4q^VzKyqf)k&O+s+X8SD|r5pz%Nv&yHJnNmC4*u%>7#CZ-? z-NDe>QNSGSz(i%>pLc-qS0`S7e)OHKmZX)A&8jm*W#F1nN>}ZiTfpS%0?4D@Gzr46 zbKZdD?&N*vw6|e-^UK`5Z%cOm+;LSImWR>LCr+ZA5C3h$lJQiBias2dK4BI- zyv@Dao~cY&5J;SV2Z_U5kRZ2nAhGV?HaoR?Rl|-fw>)S7_64j?5J>!A1by2lD4wjgzPI1NuDbTev+4zP|g=5(a~vp2Kd3yf;_K z1^w(Dof1mQZP5l)6Ckh7IWY9XL|Jpa1PX`MY$CwAA97lCs@jXc$=aq;F+0BOGd_Sk zm*$B09-0F9zZJ#1Xnfe>jGKTuAR)X?XW03X>CelukDnL zSJXH7ryc2V+~N1y0rkDd7Nv+*t3@5iokqsn&3<2!G0%tFtqiJ-&#B8uhm3@CKO?q` z`vQsdaz`xvb7yVgL#Q{-PqD=EaggwkL7pi~ISvq^=R`R79!8*$@jvWdK-$j!H}Qfq zj4-$Gym(*5MR6p1X|>x)4`DyRDh~vAw}i>MD8*2}+JXGgV?-cH<84EyJsUUwp(Sj# zUMvWGbq^XTyhHTVHDA}iSVKafy-UzPB#O;OlJ(B=XA;JQN_)Co*EeBuo8i4aUut`G z%VX5olk_{{B7|=77Af}Yq3WIPxUuma1|VJd{*cs+-+tO0ze}gKB`h5hg{{`Q5w@;f zkti5(7N=J>`7Pw(ohqeeTxV4zr$OHIl0U;+{Iwc`Ebj9t6B|MHH`LTwJ_j{+UP{u7 zS}1?V85)vfWmbIPfkdJ3z;vKynx=|jTCwNSt9uQxgyoaaEJRo!J{e+MkRej3OI?*^ z1JHF$<#6J?QKcqVFUR2QRSF_r?w%?-V_XFdXNY1}L(Q77j~Hz6@+3i%MZb)Uv@5K> zP^~N_%7#r`fkWgORNtP!)OpE`nnW_qPAbC{15u+_c@*4S3i5Jw>kE@rjPGm5q+eo17 zYirGlwl%!0WV#T5?2sgGRo=(qpyI%mn$Dh(FUYDa_QJ4yXrZ0{kqXZGjkO0KLWUuZ z)RM9Lm||~qL%pEEt}@nc=U~CZv1%*jJWN~^a*y8hKJ3r{JtX+HSFqo+kACE)^YybX z{;;s7{@7w3*(+=!)P9ap)9|K^Z0pg4Anb9!AwM@CieIpRXQMJO)b8-6?te~)W^>aC(#5#bU-TWW zYpHTe?#=eX+Vxr-gj%Uv9EFPDvw=5b+4}BV%{^TC_5VVNq1zfb(G!{yO9U!5s6Qwc zk1fU_f<15}fhCr@E9&}%wj0+{Lk|9c$|yi!f;uss39KyEPsyui?(y#R6(jl+k-8M0 f|52?gR!M!F^>ad=YC->$07D%`A1OO@_R9YO + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Position Member List
+
+
+ +

This is the complete list of members for Linker::Position, including all inherited members.

+ + + + + + + +
addressLinker::Position
GetSegmentOffset() constLinker::Position
operator+=(offset_t value)Linker::Position
operator-=(offset_t value)Linker::Position
Position(offset_t address=0, Segment *segment=nullptr) (defined in Linker::Position)Linker::Positioninline
segmentLinker::Position
+ + + + diff --git a/html/classLinker_1_1Position.html b/html/classLinker_1_1Position.html new file mode 100644 index 00000000..afe4a075 --- /dev/null +++ b/html/classLinker_1_1Position.html @@ -0,0 +1,134 @@ + + + + + + + +RetroLinker: Linker::Position Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Position Class Reference
+
+
+ +

Stores an absolute address along with the containing segment or address space. + More...

+ +

#include <position.h>

+ + + + + + + + + + + + + +

+Public Member Functions

Position (offset_t address=0, Segment *segment=nullptr)
 
+offset_t GetSegmentOffset () const
 Returns the offset from the start of the segment.
 
+Positionoperator+= (offset_t value)
 Arithmetic on the address.
 
+Positionoperator-= (offset_t value)
 Arithmetic on the address.
 
+ + + + + + + +

+Public Attributes

+offset_t address
 The address of the position, independent of segment it belongs to.
 
+Segmentsegment
 The segment or address space of the position.
 
+

Detailed Description

+

Stores an absolute address along with the containing segment or address space.

+

When linking in large models, it is important to track if symbols belong to different segments/address spaces, so that a corresponding relocation can be generated for them. This class makes it easier to check whether the target and reference frame of a relocation is in the same address space.

+

The documentation for this class was generated from the following files: +
+ + + + diff --git a/html/classLinker_1_1Reader-members.html b/html/classLinker_1_1Reader-members.html new file mode 100644 index 00000000..36b0942e --- /dev/null +++ b/html/classLinker_1_1Reader-members.html @@ -0,0 +1,105 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Reader Member List
+
+
+ +

This is the complete list of members for Linker::Reader, including all inherited members.

+ + + + + + + + + + + + + + + +
endiantypeLinker::Reader
inLinker::Reader
ReadASCIIZ(size_t maximum=(size_t) -1)Linker::Reader
ReadData(size_t count, void *data)Linker::Reader
ReadData(size_t count, bool terminate_at_null=false)Linker::Reader
Reader(EndianType endiantype, std::istream *in=nullptr) (defined in Linker::Reader)Linker::Readerinline
ReadSigned(size_t bytes, EndianType endiantype)Linker::Reader
ReadSigned(size_t bytes)Linker::Reader
ReadUnsigned(size_t bytes, EndianType endiantype)Linker::Reader
ReadUnsigned(size_t bytes)Linker::Reader
Seek(offset_t offset)Linker::Reader
SeekEnd(relative_offset_t offset=0)Linker::Reader
Skip(offset_t offset)Linker::Reader
Tell()Linker::Reader
+ + + + diff --git a/html/classLinker_1_1Reader.html b/html/classLinker_1_1Reader.html new file mode 100644 index 00000000..47087444 --- /dev/null +++ b/html/classLinker_1_1Reader.html @@ -0,0 +1,165 @@ + + + + + + + +RetroLinker: Linker::Reader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Reader Class Reference
+
+
+ +

A helper class, encapsulating functionality needed to import binary data. + More...

+ +

#include <reader.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Reader (EndianType endiantype, std::istream *in=nullptr)
 
+void ReadData (size_t count, void *data)
 Read in a sequence of bytes.
 
+std::string ReadData (size_t count, bool terminate_at_null=false)
 Read in a sequence of bytes.
 
+std::string ReadASCIIZ (size_t maximum=(size_t) -1)
 Read a zero terminated ASCII string.
 
+uint64_t ReadUnsigned (size_t bytes, EndianType endiantype)
 Read an unsigned word.
 
+uint64_t ReadUnsigned (size_t bytes)
 Read an unsigned word.
 
+uint64_t ReadSigned (size_t bytes, EndianType endiantype)
 Read a signed word.
 
+uint64_t ReadSigned (size_t bytes)
 Read a signed word.
 
+void Seek (offset_t offset)
 Jump to a specific location in the input stream.
 
+void Skip (offset_t offset)
 Jump to a distance in the input stream.
 
+void SeekEnd (relative_offset_t offset=0)
 Jump to end of the input stream.
 
+offset_t Tell ()
 Retrieve the current location.
 
+ + + + + + + +

+Public Attributes

+EndianType endiantype
 The default endianness of the binary format, used for reading multibyte numeric data.
 
+std::istream * in
 The input stream.
 
+

Detailed Description

+

A helper class, encapsulating functionality needed to import binary data.

+

The documentation for this class was generated from the following files:
    +
  • src/linker/reader.h
  • +
  • src/linker/reader.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Reference-members.html b/html/classLinker_1_1Reference-members.html new file mode 100644 index 00000000..6b301a73 --- /dev/null +++ b/html/classLinker_1_1Reference-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Reference Member List
+
+
+ +

This is the complete list of members for Linker::Reference, including all inherited members.

+ + + + + + +
offset (defined in Linker::Reference)Linker::Reference
Reference(std::variant< std::string, offset_t > offset=offset_t(0)) (defined in Linker::Reference)Linker::Referenceinline
Reference(std::string segment, std::variant< std::string, offset_t > offset=offset_t(0)) (defined in Linker::Reference)Linker::Referenceinline
segment (defined in Linker::Reference)Linker::Reference
ToLocation(Module &module) constLinker::Reference
+ + + + diff --git a/html/classLinker_1_1Reference.html b/html/classLinker_1_1Reference.html new file mode 100644 index 00000000..8747d8ee --- /dev/null +++ b/html/classLinker_1_1Reference.html @@ -0,0 +1,127 @@ + + + + + + + +RetroLinker: Linker::Reference Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Reference Class Reference
+
+
+ +

Represents a reference stored in a linker script. + More...

+ +

#include <linker.h>

+ + + + + + + + + +

+Public Member Functions

Reference (std::variant< std::string, offset_t > offset=offset_t(0))
 
Reference (std::string segment, std::variant< std::string, offset_t > offset=offset_t(0))
 
+Location ToLocation (Module &module) const
 Converts to location, resolving the symbol if it is a symbol.
 
+ + + + + +

+Public Attributes

+std::optional< std::string > segment
 
+std::variant< std::string, offset_t > offset
 
+

Detailed Description

+

Represents a reference stored in a linker script.

+

Such a reference may be resolved to a symbol or location.

+

The documentation for this class was generated from the following files:
    +
  • src/linker/linker.h
  • +
  • src/linker/linker.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Relocation-members.html b/html/classLinker_1_1Relocation-members.html new file mode 100644 index 00000000..58fd4a6b --- /dev/null +++ b/html/classLinker_1_1Relocation-members.html @@ -0,0 +1,125 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Relocation Member List
+
+
+ +

This is the complete list of members for Linker::Relocation, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Absolute(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)Linker::Relocationstatic
Absolute(size_t size, Location source, Target target, uint64_t addend=0)Linker::Relocationstatic
AddCurrentValue()Linker::Relocation
addendLinker::Relocation
Displace(const Displacement &displacement)Linker::Relocation
Empty()Linker::Relocationstatic
endiantypeLinker::Relocation
IsRelative() constLinker::Relocation
maskLinker::Relocation
Offset(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)Linker::Relocationstatic
Offset(size_t size, Location source, Target target, uint64_t addend=0)Linker::Relocationstatic
OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype)Linker::Relocationstatic
OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend=0)Linker::Relocationstatic
Paragraph(Location source, Target target, uint64_t addend=0)Linker::Relocationstatic
ParagraphDifference(Location source, Target target, Target reference, uint64_t addend=0)Linker::Relocationstatic
ReadSigned()Linker::Relocation
ReadUnsigned()Linker::Relocation
referenceLinker::Relocation
Relative(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)Linker::Relocationstatic
Relative(size_t size, Location source, Target target, uint64_t addend=0)Linker::Relocationstatic
Relocation(bool segment_of, size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype) (defined in Linker::Relocation)Linker::Relocationinline
Resolve(Module &object, Resolution &resolution)Linker::Relocation
Segment(size_t size, Location source, Target target, uint64_t addend=0)Linker::Relocationstatic
segment_ofLinker::Relocation
Selector(Location source, Target target, uint64_t addend=0)Linker::Relocationstatic
SetMask(uint64_t new_mask)Linker::Relocation
SetShift(int new_shift)Linker::Relocation
SetSubtract(bool to_subtract=true)Linker::Relocation
shiftLinker::Relocation
sizeLinker::Relocation
sourceLinker::Relocation
subtractLinker::Relocation
targetLinker::Relocation
WriteWord(uint64_t value)Linker::Relocation
+ + + + diff --git a/html/classLinker_1_1Relocation.html b/html/classLinker_1_1Relocation.html new file mode 100644 index 00000000..d799b7c6 --- /dev/null +++ b/html/classLinker_1_1Relocation.html @@ -0,0 +1,375 @@ + + + + + + + +RetroLinker: Linker::Relocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

A representation of a value within some binary data that has to be fixed up once the exact position of certain symbols within memory is known. + More...

+ +

#include <relocation.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Relocation (bool segment_of, size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype)
 
+RelocationSetMask (uint64_t new_mask)
 Instead of the full word, only modify the following bits.
 
+RelocationSetShift (int new_shift)
 The value stored in the word must be shifted by this to give the actual value.
 
+RelocationSetSubtract (bool to_subtract=true)
 The value stored in the word must be negated before adding the addend and storing.
 
+bool Displace (const Displacement &displacement)
 Recalculates the source, target and reference locations after a section has moved.
 
+bool Resolve (Module &object, Resolution &resolution)
 If the target and reference symbols can be resolved, return the value with some additional information about the segments.
 
+uint64_t ReadUnsigned ()
 Accesses the value within the section data.
 
+int64_t ReadSigned ()
 Accesses the value within the section data.
 
+void WriteWord (uint64_t value)
 Accesses the value within the section data.
 
void AddCurrentValue ()
 Updates the addend with the value stored in the section data.
 
bool IsRelative () const
 Determines if a relocation is self-relative.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static Relocation Empty ()
 Creates an empty relocation.
 
+static Relocation Absolute (size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)
 Creates a relocation referencing the absolute address of a target.
 
+static Relocation Absolute (size_t size, Location source, Target target, uint64_t addend=0)
 Creates a relocation referencing the absolute address of a target.
 
+static Relocation Offset (size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)
 Creates a relocation that references the offset of a target within its preferred segment (Intel 8086 specific)
 
+static Relocation Offset (size_t size, Location source, Target target, uint64_t addend=0)
 Creates a relocation that references the offset of a target within its preferred segment (Intel 8086 specific)
 
+static Relocation OffsetFrom (size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype)
 Creates a relocation that references the offset of a target from a specific reference point.
 
+static Relocation OffsetFrom (size_t size, Location source, Target target, Target reference, uint64_t addend=0)
 Creates a relocation that references the offset of a target from a specific reference point.
 
+static Relocation Relative (size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)
 Creates a relocation that references the offset of a target from the source.
 
+static Relocation Relative (size_t size, Location source, Target target, uint64_t addend=0)
 Creates a relocation that references the offset of a target from the source.
 
+static Relocation Paragraph (Location source, Target target, uint64_t addend=0)
 Creates a relocation that stores the 16-bit paragraph (shifted right by 4) of the target (Intel 8086 specific)
 
+static Relocation Selector (Location source, Target target, uint64_t addend=0)
 Creates a relocation that stores the 16-bit paragraph (shifted right by 4) of the target (Intel 8086 specific)
 
+static Relocation Segment (size_t size, Location source, Target target, uint64_t addend=0)
 Creates a relocation that stores the 8-bit segment number of the target (Zilog Z8000 specific)
 
static Relocation ParagraphDifference (Location source, Target target, Target reference, uint64_t addend=0)
 Creates a relocation that stores the 16-bit paragraph difference (shifted right by 4) between the target and the reference (Intel 8086 specific)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

bool segment_of
 Set when the value to be stored is the segment selector instead of the segment start (Intel 8086 specific)
 
+size_t size
 The size of the value when stored at the source, in bytes (for example, 2 for 16-bit, 4 for 32-bit)
 
+Location source
 The location where the value of the symbol should be stored.
 
+Target target
 The symbol or location referenced by the relocation.
 
+Target reference
 The symbol or location whose value is subtracted from the final value, used for self-relative and segment-relative addresses.
 
+uint64_t addend
 A value to be added.
 
+EndianType endiantype
 The endianness of the stored value.
 
+int shift
 The amount of bits the value should be shifted by.
 
+uint64_t mask
 The bitmask of the value within the word.
 
+bool subtract
 Set to true if value must be negated first.
 
+

Detailed Description

+

A representation of a value within some binary data that has to be fixed up once the exact position of certain symbols within memory is known.

+

One of the tasks of a linker is to associate symbols in different object files and replace references to them with their values. These references to outside symbols are called relocations or fix-ups. When a linker is unable to resolve a relocation that has to be deferred to run time, such relocations must be stored in the resulting executable file. Different executable file formats have differring levels of support for relocations.

+

Since RetroLinker supports many very different targets, the Relocation class is designed to be as general as possible. At its most basic, a relocation must store the symbol referenced, the reference, and the location where it is to be stored, the source. The Relocation class also stores the size in bytes of the value expected, a value that needs to be added to the resolved value, and the endianness of the stored value. Relative values can also be represented, which are often used for relative branches. To support Intel 8086 segmentation, the value of the segment selector corresponding to the segment of a symbol may also be used, and resolutions can be made with respect to another reference, usually the start of a segment.

+

Member Function Documentation

+ +

◆ AddCurrentValue()

+ +
+
+ + + + + + + +
void Relocation::AddCurrentValue ()
+
+ +

Updates the addend with the value stored in the section data.

+

Some object formats do not store the addend in the relocation data. Instead, the value is expected to be added to the value already present in the binary image. We use this function to load the addend from the image data.

+ +
+
+ +

◆ Empty()

+ +
+
+ + + + + +
+ + + + + + + +
Relocation Relocation::Empty ()
+
+static
+
+ +

Creates an empty relocation.

+

This is used only as a default initializor. The generated relocation references an absolute location, and it is not expected to be resolved.

+ +
+
+ +

◆ IsRelative()

+ +
+
+ + + + + + + +
bool Relocation::IsRelative () const
+
+ +

Determines if a relocation is self-relative.

+

The Relocation class represents self-relative relocations using the reference field. For some output formats, it is important to tell whether a relocation is self-relative.

+ +
+
+ +

◆ ParagraphDifference()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
Relocation Relocation::ParagraphDifference (Location source,
Target target,
Target reference,
uint64_t addend = 0 )
+
+static
+
+ +

Creates a relocation that stores the 16-bit paragraph difference (shifted right by 4) between the target and the reference (Intel 8086 specific)

+

This relocation is needed on platforms with no segment relocations to set up the segments as part of an initializing routine by adding the offset between segments to the initial value of one of the segment registers. For example, ELKS needs it.

+ +
+
+

Member Data Documentation

+ +

◆ segment_of

+ +
+
+ + + + +
bool Linker::Relocation::segment_of
+
+ +

Set when the value to be stored is the segment selector instead of the segment start (Intel 8086 specific)

+

For real mode targets, this is the value shifted 4 to the right. Protected mode targets might use a more involved method of storing the value.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/html/classLinker_1_1Resolution-members.html b/html/classLinker_1_1Resolution-members.html new file mode 100644 index 00000000..859b12bc --- /dev/null +++ b/html/classLinker_1_1Resolution-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Resolution Member List
+
+
+ +

This is the complete list of members for Linker::Resolution, including all inherited members.

+ + + + + + +
referenceLinker::Resolution
Resolution() (defined in Linker::Resolution)Linker::Resolutioninline
Resolution(uint64_t value, Segment *target, Segment *reference) (defined in Linker::Resolution)Linker::Resolutioninline
targetLinker::Resolution
valueLinker::Resolution
+ + + + diff --git a/html/classLinker_1_1Resolution.html b/html/classLinker_1_1Resolution.html new file mode 100644 index 00000000..a8bd6e82 --- /dev/null +++ b/html/classLinker_1_1Resolution.html @@ -0,0 +1,142 @@ + + + + + + + +RetroLinker: Linker::Resolution Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Resolution Class Reference
+
+
+ +

Representing a resolved relocation. + More...

+ +

#include <resolution.h>

+ + + + +

+Public Member Functions

Resolution (uint64_t value, Segment *target, Segment *reference)
 
+ + + + + + + + + + +

+Public Attributes

+uint64_t value
 The resolved value.
 
+Segmenttarget
 The segment of the target.
 
Segmentreference
 The segment of the reference.
 
+

Detailed Description

+

Representing a resolved relocation.

+

When a relocation is resolved, it gives a value, but also the segment (ie. address space) of the target and reference frames.

+

Member Data Documentation

+ +

◆ reference

+ +
+
+ + + + +
Segment* Linker::Resolution::reference
+
+ +

The segment of the reference.

+

Typical values might have null, indicating an absolute address, or the same segment as target, representing an inter-segment offset

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classLinker_1_1Section-members.html b/html/classLinker_1_1Section-members.html new file mode 100644 index 00000000..81840938 --- /dev/null +++ b/html/classLinker_1_1Section-members.html @@ -0,0 +1,162 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Section Member List
+
+
+ +

This is the complete list of members for Linker::Section, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActualDataSize() overrideLinker::Buffervirtual
address (defined in Linker::Section)Linker::Section
align (defined in Linker::Section)Linker::Section
Append(const void *new_data, size_t length)Linker::Section
Append(const char *new_data)Linker::Section
Append(const Section &other)Linker::Section
Append(Buffer &buffer)Linker::Section
Base() constLinker::Section
biasLinker::Section
Buffer() (defined in Linker::Buffer)Linker::Bufferinline
Buffer(size_t size) (defined in Linker::Buffer)Linker::Bufferinline
collection_nameLinker::Section
CustomFlag enum valueLinker::Section
data (defined in Linker::Buffer)Linker::Bufferprotected
Execable enum valueLinker::Section
Expand(offset_t new_size)Linker::Section
Fixed enum valueLinker::Section
flags (defined in Linker::Section)Linker::Section
GetAlign() const (defined in Linker::Section)Linker::Section
GetByte(offset_t offset) overrideLinker::Sectionvirtual
GetFlags() const (defined in Linker::Section)Linker::Section
GetStartAddress() const (defined in Linker::Section)Linker::Section
Heap enum valueLinker::Section
IsExecable() const (defined in Linker::Section)Linker::Section
IsFixed() const (defined in Linker::Section)Linker::Section
IsMergeable() const (defined in Linker::Section)Linker::Section
IsReadable() const (defined in Linker::Section)Linker::Section
IsWritable() const (defined in Linker::Section)Linker::Section
IsZeroFilled() const (defined in Linker::Section)Linker::Section
Mergeable enum valueLinker::Section
nameLinker::Section
Optional enum valueLinker::Section
Readable enum valueLinker::Section
ReadFile(std::istream &in)Linker::Section
ReadFile(Reader &in)Linker::Section
ReadFile(Reader &rd, offset_t count) (defined in Linker::Buffer)Linker::Buffer
ReadSigned(size_t bytes, offset_t offset, EndianType endiantype) const (defined in Linker::Section)Linker::Section
ReadSigned(size_t bytes, offset_t offset) const (defined in Linker::Section)Linker::Section
ReadUnsigned(size_t bytes, offset_t offset, EndianType endiantype) const (defined in Linker::Section)Linker::Section
ReadUnsigned(size_t bytes, offset_t offset) const (defined in Linker::Section)Linker::Section
RealignEnd(offset_t align)Linker::Section
Reset()Linker::Section
ResetAddress(offset_t new_address)Linker::Section
Resource enum valueLinker::Section
resource_id (defined in Linker::Section)Linker::Section
resource_typeLinker::Section
Section(std::string name, int flags=Readable) (defined in Linker::Section)Linker::Sectioninline
section_flags enum nameLinker::Section
segmentLinker::Section
SetAddress(offset_t new_address)Linker::Section
SetAlign(offset_t new_align) (defined in Linker::Section)Linker::Section
SetExecable(bool state) (defined in Linker::Section)Linker::Section
SetFlag(unsigned newflags)Linker::Section
SetMergeable(bool state) (defined in Linker::Section)Linker::Section
SetReadable(bool state) (defined in Linker::Section)Linker::Section
SetWritable(bool state) (defined in Linker::Section)Linker::Section
SetZeroFilled(bool is_zero_filled) (defined in Linker::Section)Linker::Section
Size() const (defined in Linker::Section)Linker::Section
Stack enum valueLinker::Section
Start() constLinker::Section
Writable enum valueLinker::Section
WriteFile(std::ostream &out, offset_t size, offset_t offset=0) constLinker::Section
WriteFile(std::ostream &out) constLinker::Section
Linker::Buffer::WriteFile(Writer &wr, offset_t count, offset_t offset=0) overrideLinker::Buffervirtual
Linker::Buffer::WriteFile(Writer &wr)Linker::Bufferinline
WriteWord(size_t bytes, offset_t offset, uint64_t value, EndianType endiantype) (defined in Linker::Section)Linker::Section
WriteWord(size_t bytes, offset_t offset, uint64_t value) (defined in Linker::Section)Linker::Section
WriteWord(size_t bytes, uint64_t value, EndianType endiantype)Linker::Section
WriteWord(size_t bytes, uint64_t value)Linker::Section
ZeroFilled enum valueLinker::Section
~Writable() (defined in Linker::Writable)Linker::Writablevirtual
+ + + + diff --git a/html/classLinker_1_1Section.html b/html/classLinker_1_1Section.html new file mode 100644 index 00000000..2cc59e62 --- /dev/null +++ b/html/classLinker_1_1Section.html @@ -0,0 +1,665 @@ + + + + + + + +RetroLinker: Linker::Section Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Section Class Reference
+
+
+ +

A section of data as read from an object file. + More...

+ +

#include <section.h>

+
+Inheritance diagram for Linker::Section:
+
+
+ + +Linker::Buffer +Linker::Writable + +
+ + + + + +

+Public Types

enum  section_flags {
+  Readable = 1 << 0 +, Writable = 1 << 1 +, Execable = 1 << 2 +, Mergeable = 1 << 3 +,
+  ZeroFilled = 1 << 4 +, Fixed = 1 << 5 +, Resource = 1 << 6 +, Optional = 1 << 7 +,
+  Stack = 1 << 8 +, Heap = 1 << 9 +, CustomFlag = 1 << 10 +
+ }
 The type of the section. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Section (std::string name, int flags=Readable)
 
void SetFlag (unsigned newflags)
 Sets the flags of the section.
 
+unsigned GetFlags () const
 
+bool IsReadable () const
 
+void SetReadable (bool state)
 
+bool IsWritable () const
 
+void SetWritable (bool state)
 
+bool IsExecable () const
 
+void SetExecable (bool state)
 
+bool IsMergeable () const
 
+void SetMergeable (bool state)
 
+bool IsFixed () const
 
+bool IsZeroFilled () const
 
+offset_t SetZeroFilled (bool is_zero_filled)
 
+offset_t GetAlign () const
 
+void SetAlign (offset_t new_align)
 
+offset_t GetStartAddress () const
 
offset_t SetAddress (offset_t new_address)
 For non-fixed segments, sets the starting address and makes the fixed.
 
+void ResetAddress (offset_t new_address)
 Forcibly alters the starting address.
 
+offset_t Size () const
 
offset_t Expand (offset_t new_size)
 Increases the size of the section by the specified amount.
 
+offset_t RealignEnd (offset_t align)
 Expands the section to a size such that its end is at a specified alignment.
 
int GetByte (offset_t offset) override
 Retrieve byte at a certain offset (optional, might not be defined)
 
+uint64_t ReadUnsigned (size_t bytes, offset_t offset, EndianType endiantype) const
 
+uint64_t ReadUnsigned (size_t bytes, offset_t offset) const
 
+int64_t ReadSigned (size_t bytes, offset_t offset, EndianType endiantype) const
 
+uint64_t ReadSigned (size_t bytes, offset_t offset) const
 
+void WriteWord (size_t bytes, offset_t offset, uint64_t value, EndianType endiantype)
 
+void WriteWord (size_t bytes, offset_t offset, uint64_t value)
 
+void WriteWord (size_t bytes, uint64_t value, EndianType endiantype)
 Writes value at the current end of the section.
 
+void WriteWord (size_t bytes, uint64_t value)
 Writes value at the current end of the section.
 
+offset_t Append (const void *new_data, size_t length)
 Appends data at the end of a section.
 
+offset_t Append (const char *new_data)
 Appends data at the end of a section.
 
+offset_t Append (const Section &other)
 Appends (or merges) another section.
 
+offset_t Append (Buffer &buffer)
 Appends (or merges) another writable buffer.
 
+Position Start () const
 Retrieves the address of the first byte of the section.
 
Position Base () const
 Retrieves the address of the start of the segment of the section.
 
void ReadFile (std::istream &in)
 Overwrites section data with contents of input stream.
 
void ReadFile (Reader &in)
 Overwrites section data with contents of input stream.
 
offset_t WriteFile (std::ostream &out, offset_t size, offset_t offset=0) const
 Writes data into file.
 
offset_t WriteFile (std::ostream &out) const
 Writes data into file.
 
+void Reset ()
 Clear the section.
 
- Public Member Functions inherited from Linker::Buffer
Buffer (size_t size)
 
offset_t ActualDataSize () override
 Retrieves size of stored data.
 
+void ReadFile (Reader &rd)
 
+void ReadFile (Reader &rd, offset_t count)
 
offset_t WriteFile (Writer &wr, offset_t count, offset_t offset=0) override
 Writes data of non-zero filled sections.
 
virtual offset_t WriteFile (Writer &wr, offset_t count, offset_t offset=0)=0
 Writes data of non-zero filled sections.
 
+offset_t WriteFile (Writer &wr)
 Writes data of non-zero filled sections.
 
- Public Member Functions inherited from Linker::Writable
+offset_t WriteFile (Writer &wr)
 Writes data of non-zero filled sections.
 
+ + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string name
 Name of the section.
 
+enum Linker::Section::section_flags flags
 
offset_t bias
 Difference between the first byte of the section and the zero address associated with the section.
 
std::variant< std::string, uint16_t > resource_type
 The resource type and ID for a resource section.
 
+std::variant< std::string, uint16_t > resource_id
 
Segmentsegment
 The segment a section belongs to.
 
+std::string collection_name
 Section name that collects sections.
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::Buffer
+std::vector< uint8_t > data
 
+

Detailed Description

+

A section of data as read from an object file.

+

A section represents a series of bytes within an object file, executable or memory image. For segmented architectures such as the 8086, it also represents a segment group at the final stages of linking (once all similar sections have been combined), where each symbol belonging to the same segment will have the same preferred segment base.

+

Member Enumeration Documentation

+ +

◆ section_flags

+ +
+
+ +

The type of the section.

+ + + + + + + + + + + + +
Enumerator
Readable 

The data in the section can be read at runtime.

+
Writable 

The section can be written to at runtime.

+
Execable 

The section data can be used as instruction.

+
Mergeable 

Sections of the same name with this flag are overlayed instead of appended.

+

When the sections are zero filled, merged sections will have a size that is the maximum of the merged sections instead of their sum.

+

For sections with data, only the longer one is kept. They are assumed to have identical data.

+

TODO: unimplemented

+
ZeroFilled 

Section is filled with zeros.

+

Most formats do not require sections that are zero filled to be stored in the binary image. We keep track of which sections are zero filled using this flag.

+
Fixed 

Section resides at a fixed address and cannot be moved.

+

When generating code, all sections are assigned starting addresses and are converted to fixed sections.

+
Resource 

Section data represents a resource that has to be handled differently.

+

The NE, LE/LX, PE and classic Macintosh file formats support storing resources within their binary images. To ease usage, these resources can be stored in the object file instead of requiring a separate resource file.

+
Optional 

Section data may be unallocated if necessary.

+

Reserved for file formats such as MZFormat and CPM86Format where additional memory can be requested.

+
Stack 

Stack section.

+
Heap 

Heap section.

+
CustomFlag 

Other flags.

+
+ +
+
+

Member Function Documentation

+ +

◆ Base()

+ +
+
+ + + + + + + +
Position Section::Base () const
+
+ +

Retrieves the address of the start of the segment of the section.

+

For Intel 8086, it is expected that the data in a segment does not begin at the same location as the base of the segment.

+ +
+
+ +

◆ Expand()

+ +
+
+ + + + + + + +
offset_t Section::Expand (offset_t new_size)
+
+ +

Increases the size of the section by the specified amount.

+
Parameters
+ + +
new_sizeThe new size for the section. If it is smaller than the current size, nothing is changed.
+
+
+
Returns
The actual amount of bytes the section was increased by.
+ +
+
+ +

◆ GetByte()

+ +
+
+ + + + + +
+ + + + + + + +
int Section::GetByte (offset_t offset)
+
+overridevirtual
+
+ +

Retrieve byte at a certain offset (optional, might not be defined)

+ +

Reimplemented from Linker::Buffer.

+ +
+
+ +

◆ ReadFile() [1/2]

+ +
+
+ + + + + + + +
void Section::ReadFile (Reader & in)
+
+ +

Overwrites section data with contents of input stream.

+

Note that only as many bytes are read in as the size of the section.

+ +
+
+ +

◆ ReadFile() [2/2]

+ +
+
+ + + + + + + +
void Section::ReadFile (std::istream & in)
+
+ +

Overwrites section data with contents of input stream.

+

Note that only as many bytes are read in as the size of the section.

+ +
+
+ +

◆ SetAddress()

+ +
+
+ + + + + + + +
offset_t Section::SetAddress (offset_t new_address)
+
+ +

For non-fixed segments, sets the starting address and makes the fixed.

+

If the segment is already fixed, the address is not changed. Alignment requirements might cause the new address to be incremented.

+
Parameters
+ + +
new_addressAttempted starting address
+
+
+
Returns
The new starting address
+ +
+
+ +

◆ SetFlag()

+ +
+
+ + + + + + + +
void Section::SetFlag (unsigned newflags)
+
+ +

Sets the flags of the section.

+

Certain flags require special handling.

+ +
+
+ +

◆ WriteFile() [1/2]

+ +
+
+ + + + + + + +
offset_t Section::WriteFile (std::ostream & out) const
+
+ +

Writes data into file.

+

Note that zero filled sections do not write anything.

+
Parameters
+ + +
outOutput stream
+
+
+
Returns
Count of actual number of bytes written
+ +
+
+ +

◆ WriteFile() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + +
offset_t Section::WriteFile (std::ostream & out,
offset_t size,
offset_t offset = 0 ) const
+
+ +

Writes data into file.

+

Note that zero filled sections do not write anything.

+
Parameters
+ + + +
outOutput stream
sizeMaximum number of bytes to write
+
+
+
Returns
Count of actual number of bytes written
+ +
+
+

Member Data Documentation

+ +

◆ bias

+ +
+
+ + + + +
offset_t Linker::Section::bias
+
+ +

Difference between the first byte of the section and the zero address associated with the section.

+

On the Intel 8086, addresses consist of two parts: a segment address and an offset within that segment. The linker collects sections and assigns them to segments, which often map to hardware segments. On some platforms, the address of the first byte of a section will not be the same as the address of the beginning of the hardware segment it belongs to. The bias field stores this difference.

+

For example, the first byte of a .com file will have an address 0x100. This is represented by setting the bias to -0x100.

+ +
+
+ +

◆ resource_type

+ +
+
+ + + + +
std::variant<std::string, uint16_t> Linker::Section::resource_type
+
+ +

The resource type and ID for a resource section.

+

All resources can have a resource type and a resource ID that can usually be a string or an integer. Some platforms specify which one is which (for example, Macintosh resources have a 4-character type but a 16-bit ID). For others (for example, the NE format), they can be either.

+ +
+
+ +

◆ segment

+ +
+
+ + + + +
Segment* Linker::Section::segment
+
+ +

The segment a section belongs to.

+

This field is assigned as part of the linking process.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/section.h
  • +
  • src/linker/section.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Section.png b/html/classLinker_1_1Section.png new file mode 100644 index 0000000000000000000000000000000000000000..882283aaaed3aecc2e592ae9c30da576daa294d9 GIT binary patch literal 715 zcmV;+0yO=JP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~00073 zNkl#!H)_gj#T?HM{3N%ra)PldfR&ZP`SHIk2zhfLf3nTe8j2!sR=%?p)>JMdid-<8swrpj* zpU2f~SCTpxbw)b#eoI3(o-2}^BxjJMP0k=mn-(!*jB&02;5%&qFj)&2+cqDvfUzT{ zLsl?;X0Dt807f|j0Bmvw0NCUV0I5Y14W} zP>XsZ*<9iHsrMw3yy=ngVrcEUl#%PWkC4hbpU$$Ay(B7(Z5;jo6-j<8XON^#Kg5VJ#<>E3@3aBHWG!H9+kD6Z#*UZ{S;6?3xpD>o z808EAu*n$!V3RWdz$Rw^fKAQ-0Gpfv05<){j1WSYECdmesd9#hh)s(b`Jpn0^kY^; zM3i>RAmGkWQ6eHYop!VLppURuS}V&%@5Vk``Eo4Bt$ODSZ;X^Z2Ne}#daPgS(!8`g zH|XPXY#91PG^52di!f4%}8Kd(UF|O9TV0A8ecIrS~ xqon8RnIR%FMa~crvB?=CA~r2zgb>19{Q=cfW*o9>$wB}C002ovPDHLkV1hpMN}&J% literal 0 HcmV?d00001 diff --git a/html/classLinker_1_1Segment-members.html b/html/classLinker_1_1Segment-members.html new file mode 100644 index 00000000..53f0f187 --- /dev/null +++ b/html/classLinker_1_1Segment-members.html @@ -0,0 +1,117 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Segment Member List
+
+
+ +

This is the complete list of members for Linker::Segment, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActualDataSize() overrideLinker::Segmentvirtual
alignLinker::Segment
AlignEndAddress(offset_t align)Linker::Segment
Append(Section *section)Linker::Segment
base_addressLinker::Segment
data_sizeLinker::Segment
Fill()Linker::Segment
GetByte(offset_t offset) overrideLinker::Segmentvirtual
GetEndAddress()Linker::Segment
GetStartAddress()Linker::Segment
IsMissing()Linker::Segment
nameLinker::Segment
optional_extraLinker::Segment
RealignEnd(offset_t align)Linker::Segment
sectionsLinker::Segment
Segment(std::string name, offset_t base_address=0) (defined in Linker::Segment)Linker::Segmentinline
SetEndAddress(offset_t address)Linker::Segment
SetStartAddress(offset_t address)Linker::Segment
ShiftAddress(int64_t amount) (defined in Linker::Segment)Linker::Segmentprotected
TotalSize()Linker::Segment
WriteFile(std::ostream &out, offset_t size, offset_t offset=0)Linker::Segment
WriteFile(std::ostream &out)Linker::Segment
WriteFile(Writer &wr, offset_t count, offset_t offset=0) overrideLinker::Segmentvirtual
WriteFile(Writer &wr)Linker::Segment
zero_fillLinker::Segment
~Writable() (defined in Linker::Writable)Linker::Writablevirtual
+ + + + diff --git a/html/classLinker_1_1Segment.html b/html/classLinker_1_1Segment.html new file mode 100644 index 00000000..19b80038 --- /dev/null +++ b/html/classLinker_1_1Segment.html @@ -0,0 +1,394 @@ + + + + + + + +RetroLinker: Linker::Segment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

A class representing a sequence of sections that must be written to the output file as a group. + More...

+ +

#include <segment.h>

+
+Inheritance diagram for Linker::Segment:
+
+
+ + +Linker::Writable + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Segment (std::string name, offset_t base_address=0)
 
+bool IsMissing ()
 Segment that contains neither non zero filled, nor zero filled, nor optional extra data.
 
+void Fill ()
 Fills zero filled sections with zero data, making them non-zero filled in the sense that they have to be written to disk.
 
+void RealignEnd (offset_t align)
 Aligns end of segment by increasing size of last section.
 
void Append (Section *section)
 Appends section to segment.
 
+offset_t WriteFile (std::ostream &out, offset_t size, offset_t offset=0)
 Writes data of non-zero filled sections.
 
+offset_t WriteFile (std::ostream &out)
 Writes data of non-zero filled sections.
 
offset_t WriteFile (Writer &wr, offset_t count, offset_t offset=0) override
 Writes data of non-zero filled sections.
 
+offset_t WriteFile (Writer &wr)
 Writes data of non-zero filled sections.
 
int GetByte (offset_t offset) override
 Retrieve byte at a certain offset (optional, might not be defined)
 
+offset_t TotalSize ()
 Retrieves total size of segment.
 
offset_t ActualDataSize () override
 Retrieves size of all data in segment.
 
+offset_t GetStartAddress ()
 Returns starting address (base_address)
 
+offset_t GetEndAddress ()
 Returns end address (GetStartAddress() + TotalSize())
 
void SetEndAddress (offset_t address)
 Increases final section to end on specified address.
 
+void AlignEndAddress (offset_t align)
 Aligns the end of the segment.
 
+void SetStartAddress (offset_t address)
 Forcibly resets starting address of segment.
 
- Public Member Functions inherited from Linker::Writable
+offset_t WriteFile (Writer &wr)
 Writes data of non-zero filled sections.
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string name
 The name of the segment.
 
+std::vector< Section * > sections
 Sequence of sections belonging to the segment.
 
+offset_t base_address
 Address where segment starts.
 
+offset_t align
 Alignment requirements of segment.
 
offset_t data_size
 Cached value of the non-filled data for the entire segment.
 
offset_t zero_fill
 Extra zero filled space following filled data.
 
+offset_t optional_extra
 Optional extra space after zero filled data.
 
+ + + +

+Protected Member Functions

+void ShiftAddress (int64_t amount)
 
+

Detailed Description

+

A class representing a sequence of sections that must be written to the output file as a group.

+

A segment represents a collection of sections that appear within the same addressing space. It also makes it easier to write several sections into the output file consecutively.

+

Only sections that appear consecutively in memory (or with known displacements at linking time) may be stored in the same segment.

+

Member Function Documentation

+ +

◆ ActualDataSize()

+ +
+
+ + + + + +
+ + + + + + + +
offset_t Segment::ActualDataSize ()
+
+overridevirtual
+
+ +

Retrieves size of all data in segment.

+

This function should always return the same value as data_size. This is checked by an assert value.

+ +

Implements Linker::Writable.

+ +
+
+ +

◆ Append()

+ +
+
+ + + + + + + +
void Segment::Append (Section * section)
+
+ +

Appends section to segment.

+

This action might require aligning end of last section, possibly zero filling it, and setting the base address and bias of the new section.

+ +
+
+ +

◆ GetByte()

+ +
+
+ + + + + +
+ + + + + + + +
int Segment::GetByte (offset_t offset)
+
+overridevirtual
+
+ +

Retrieve byte at a certain offset (optional, might not be defined)

+ +

Reimplemented from Linker::Writable.

+ +
+
+ +

◆ SetEndAddress()

+ +
+
+ + + + + + + +
void Segment::SetEndAddress (offset_t address)
+
+ +

Increases final section to end on specified address.

+

Note that decreasing a segment is not possible

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
offset_t Segment::WriteFile (Writer & wr,
offset_t count,
offset_t offset = 0 )
+
+overridevirtual
+
+ +

Writes data of non-zero filled sections.

+ +

Implements Linker::Writable.

+ +
+
+

Member Data Documentation

+ +

◆ data_size

+ +
+
+ + + + +
offset_t Linker::Segment::data_size
+
+ +

Cached value of the non-filled data for the entire segment.

+

This should be equal to the sum of all sizes of sections are not zero filled. Note that a non zero filled section may not follow a zero filled one.

+ +
+
+ +

◆ zero_fill

+ +
+
+ + + + +
offset_t Linker::Segment::zero_fill
+
+ +

Extra zero filled space following filled data.

+

This should be equal to the sum of all sizes of sections are zero filled. Note that a non zero filled section may not follow a zero filled one.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/segment.h
  • +
  • src/linker/segment.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Segment.png b/html/classLinker_1_1Segment.png new file mode 100644 index 0000000000000000000000000000000000000000..33cc93f2d07fc831c78f71ef545fc8ae31c275f3 GIT binary patch literal 545 zcmV++0^a?JP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~00053 zNklET#Hap6F-arSqZi$FXEg}|p9s6x@ZS6Bf)^2)tW6OS zv1m2LshfHdk>(2aqWpde>S9k6olQifS5LXx+7l)2%;hZc7GHw#f)cF3J^1FJ5?caq zDJg%-TVpD>o>H}zh2HR?mLuTie9~WCImcQl;WI)>ehnoDK2iEfI`#iz>)nZtP};&r zDNlVlO76C$`lEWKbHBgRz1dab}L zp}ZjrFl#73HDj9s048k;09dps0ASIk0DwiC0st0m3IJHNDF9&6U#B?d+;qW_ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::SymbolName Member List
+
+
+ +

This is the complete list of members for Linker::SymbolName, including all inherited members.

+ + + + + + + + + + + + + + + + + +
GetImportedName(std::string &result_library, std::string &result_name) constLinker::SymbolName
GetImportedName(std::string &result_library, std::string &result_name, uint16_t &result_hint) constLinker::SymbolName
GetImportedOrdinal(std::string &result_library, uint16_t &result_ordinal) constLinker::SymbolName
GetLocalName(std::string &result) constLinker::SymbolName
hint (defined in Linker::SymbolName)Linker::SymbolNameprotected
library (defined in Linker::SymbolName)Linker::SymbolNameprotected
LoadLibraryName(std::string &result) constLinker::SymbolName
LoadName(std::string &result) constLinker::SymbolName
LoadOrdinalOrHint(uint16_t &result) constLinker::SymbolName
name (defined in Linker::SymbolName)Linker::SymbolNameprotected
operator!=(const SymbolName &other) constLinker::SymbolName
operator==(const SymbolName &other) constLinker::SymbolName
SymbolName(std::string name)Linker::SymbolNameinline
SymbolName(std::string library, std::string name)Linker::SymbolNameinline
SymbolName(std::string library, std::string name, uint16_t hint)Linker::SymbolNameinline
SymbolName(std::string library, uint16_t ordinal)Linker::SymbolNameinline
+ + + + diff --git a/html/classLinker_1_1SymbolName.html b/html/classLinker_1_1SymbolName.html new file mode 100644 index 00000000..6725ae03 --- /dev/null +++ b/html/classLinker_1_1SymbolName.html @@ -0,0 +1,240 @@ + + + + + + + +RetroLinker: Linker::SymbolName Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::SymbolName Class Reference
+
+
+ +

Represents an (imported or internal) symbol name, which can be more complex than a string. + More...

+ +

#include <symbol.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

SymbolName (std::string name)
 Creates an internal symbol with a name.
 
SymbolName (std::string library, std::string name)
 Creates a symbol imported via name, from a library.
 
 SymbolName (std::string library, std::string name, uint16_t hint)
 Creates a symbol imported via name and a hint, from a library.
 
 SymbolName (std::string library, uint16_t ordinal)
 Creates a symbol imported via ordinal, from a library.
 
+bool LoadName (std::string &result) const
 Retrieves the name of the symbol, if it has one.
 
+bool LoadLibraryName (std::string &result) const
 Retrieves the name of the library, if it is imported.
 
+bool LoadOrdinalOrHint (uint16_t &result) const
 Retrieves the ordinal of symbols imported by ordinal, or the hint for imported symbols with a hint.
 
+bool GetLocalName (std::string &result) const
 For local symbols, returns the name.
 
+bool GetImportedName (std::string &result_library, std::string &result_name) const
 For symbols imported by name, returns the library and name.
 
+bool GetImportedName (std::string &result_library, std::string &result_name, uint16_t &result_hint) const
 For symbols imported by name, returns the library, name and hint (or zero if no hint is present)
 
+bool GetImportedOrdinal (std::string &result_library, uint16_t &result_ordinal) const
 For symbols imported by ordinal, returns the library and ordinal.
 
+bool operator== (const SymbolName &other) const
 Compares two symbols for equality.
 
+bool operator!= (const SymbolName &other) const
 Compares two symbols for inequality.
 
+ + + + + + + +

+Protected Attributes

+std::optional< std::string > library
 
+std::optional< std::string > name
 
+std::optional< uint16_t > hint
 
+

Detailed Description

+

Represents an (imported or internal) symbol name, which can be more complex than a string.

+

When referencing symbols, usually a string identifier is sufficient. Some output formats, in particular the NE, LE and PE formats, need to store more information with the symbol, including the library it is imported from, and potentially a 16-bit integer ordinal or hint.

+

Constructor & Destructor Documentation

+ +

◆ SymbolName() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
Linker::SymbolName::SymbolName (std::string library,
std::string name,
uint16_t hint )
+
+inline
+
+ +

Creates a symbol imported via name and a hint, from a library.

+

This is expected to be used for the PE format.

+ +
+
+ +

◆ SymbolName() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
Linker::SymbolName::SymbolName (std::string library,
uint16_t ordinal )
+
+inline
+
+ +

Creates a symbol imported via ordinal, from a library.

+

This is used by formats like NE, LE, PE.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/symbol.h
  • +
  • src/linker/symbol.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Target-members.html b/html/classLinker_1_1Target-members.html new file mode 100644 index 00000000..19e81dfa --- /dev/null +++ b/html/classLinker_1_1Target-members.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Target Member List
+
+
+ +

This is the complete list of members for Linker::Target, including all inherited members.

+ + + + + + + + + + +
Displace(const Displacement &displacement)Linker::Target
GetSegment()Linker::Target
Lookup(Module &object, Position &position)Linker::Target
ResolveLocals(Module &object)Linker::Target
segment_ofLinker::Target
targetLinker::Target
Target(std::variant< Location, SymbolName > target=Location(), bool segment_of=false) (defined in Linker::Target)Linker::Targetinline
Target(Location location, bool segment_of=false) (defined in Linker::Target)Linker::Targetinline
Target(SymbolName symbol, bool segment_of=false) (defined in Linker::Target)Linker::Targetinline
+ + + + diff --git a/html/classLinker_1_1Target.html b/html/classLinker_1_1Target.html new file mode 100644 index 00000000..fa438006 --- /dev/null +++ b/html/classLinker_1_1Target.html @@ -0,0 +1,233 @@ + + + + + + + +RetroLinker: Linker::Target Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Target Class Reference
+
+
+ +

Represents a possible target or reference frame of a relocation. + More...

+ +

#include <target.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Target (std::variant< Location, SymbolName > target=Location(), bool segment_of=false)
 
Target (Location location, bool segment_of=false)
 
Target (SymbolName symbol, bool segment_of=false)
 
Target GetSegment ()
 Creates a new target that references the segment of this target.
 
bool Displace (const Displacement &displacement)
 Recalculates target after a section has moved.
 
bool ResolveLocals (Module &object)
 If the target refers to an internal symbol, it gets resolved to a location.
 
bool Lookup (Module &object, Position &position)
 Returns a Position object for locations and internal symbols, if possible.
 
+ + + + + + + +

+Public Attributes

+std::variant< Location, SymbolNametarget
 The actual target, either an internal/absolute location, or an imported symbol.
 
+bool segment_of
 Whether the target is the segment, rather than the offset, of the location or symbol.
 
+

Detailed Description

+

Represents a possible target or reference frame of a relocation.

+

When resolving a symbol as part of calculating a relocation, there are many possible outcomes. A symbol might reference an internal location, or an imported symbol. For segmented platforms, it might also reference the segment of a symbol, instead of an offset.

+

This class provides a representation for this structure.

+

Member Function Documentation

+ +

◆ Displace()

+ +
+
+ + + + + + + +
bool Target::Displace (const Displacement & displacement)
+
+ +

Recalculates target after a section has moved.

+

If the target references a location, this function displaces it. It does nothing for imported symbols.

+ +
+
+ +

◆ GetSegment()

+ +
+
+ + + + + + + +
Target Target::GetSegment ()
+
+ +

Creates a new target that references the segment of this target.

+

For segment targets, it returns an identical Target object.

+ +
+
+ +

◆ Lookup()

+ +
+
+ + + + + + + + + + + +
bool Target::Lookup (Module & object,
Position & position )
+
+ +

Returns a Position object for locations and internal symbols, if possible.

+
Parameters
+ + + +
objectThe Module object where the symbols are looked up
positionThe returned Position object
+
+
+
Returns
True if lookup succeeded. Targets with undefined symbols return false.
+ +
+
+ +

◆ ResolveLocals()

+ +
+
+ + + + + + + +
bool Target::ResolveLocals (Module & object)
+
+ +

If the target refers to an internal symbol, it gets resolved to a location.

+
Returns
True if target changed, when an internal symbol got resolved.
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/linker/target.h
  • +
  • src/linker/target.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Writable-members.html b/html/classLinker_1_1Writable-members.html new file mode 100644 index 00000000..3a1b8434 --- /dev/null +++ b/html/classLinker_1_1Writable-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Writable Member List
+
+
+ +

This is the complete list of members for Linker::Writable, including all inherited members.

+ + + + + + +
ActualDataSize()=0Linker::Writablepure virtual
GetByte(offset_t offset)Linker::Writablevirtual
WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0Linker::Writablepure virtual
WriteFile(Writer &wr)Linker::Writableinline
~Writable() (defined in Linker::Writable)Linker::Writablevirtual
+ + + + diff --git a/html/classLinker_1_1Writable.html b/html/classLinker_1_1Writable.html new file mode 100644 index 00000000..9b9bad6d --- /dev/null +++ b/html/classLinker_1_1Writable.html @@ -0,0 +1,227 @@ + + + + + + + +RetroLinker: Linker::Writable Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Linker::Writable Class Referenceabstract
+
+
+ +

Represents an abstract interface whose data can be written to a file. + More...

+ +

#include <writable.h>

+
+Inheritance diagram for Linker::Writable:
+
+
+ + +Linker::Buffer +Linker::Segment +Linker::Section + +
+ + + + + + + + + + + + + + +

+Public Member Functions

virtual offset_t ActualDataSize ()=0
 Retrieves size of stored data.
 
virtual offset_t WriteFile (Writer &wr, offset_t count, offset_t offset=0)=0
 Writes data of non-zero filled sections.
 
+offset_t WriteFile (Writer &wr)
 Writes data of non-zero filled sections.
 
virtual int GetByte (offset_t offset)
 Retrieve byte at a certain offset (optional, might not be defined)
 
+

Detailed Description

+

Represents an abstract interface whose data can be written to a file.

+

Member Function Documentation

+ +

◆ ActualDataSize()

+ +
+
+ + + + + +
+ + + + + + + +
virtual offset_t Linker::Writable::ActualDataSize ()
+
+pure virtual
+
+ +

Retrieves size of stored data.

+ +

Implemented in Linker::Buffer, and Linker::Segment.

+ +
+
+ +

◆ GetByte()

+ +
+
+ + + + + +
+ + + + + + + +
int Writable::GetByte (offset_t offset)
+
+virtual
+
+ +

Retrieve byte at a certain offset (optional, might not be defined)

+ +

Reimplemented in Linker::Buffer, Linker::Section, and Linker::Segment.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
virtual offset_t Linker::Writable::WriteFile (Writer & wr,
offset_t count,
offset_t offset = 0 )
+
+pure virtual
+
+ +

Writes data of non-zero filled sections.

+ +

Implemented in Linker::Buffer, Linker::Segment, and Linker::Buffer.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/html/classLinker_1_1Writable.png b/html/classLinker_1_1Writable.png new file mode 100644 index 0000000000000000000000000000000000000000..414eebe67b12b40776dfbdd25406b0cf0fb0ed46 GIT binary patch literal 1014 zcmeAS@N?(olHy`uVBq!ia0vp^SAe*KgBeJ!@G)Hmq@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEerqgP0pVT^vIy7~jr)J!!Rq0Nd<- zt?uvjkA$1W+cJ{2oasv6^lcRfA20Ji)*H?oigWl5=yPf=Eiuw#EfAURrMXmghsc3I zx0MfVtk>QA_Eh=sU+=}M-o|_1JhyyGkgx7m6Cv@*RejYGR)1}5^M4&;UAb?|`g_-9 zrFwIZw}nqUWfhtH?$H{{<#%GN>{f8EGY$^^A2vz%|5^XI+i@|g{^w3S^_6So!iPtf zys~|lx;kRU3@uxIjnK4~19x{U4!M5!!mGX@{^h?T?*^SJw{I{j&}JXW_)vKDMQ~wpmc_V)-j3wi@Obvz5h|VL&H-& z*vs?M$sJQv-X2=2@>1e|bBKX@vFb_-r~k&^B|WR2hGrEnNLTT^bts@P@|CY+WZv#C zYF}1ex!$OfId^-|-wn?j>*H+OwWs&5mrs6b_4jei)1{A&&%7m+F=L~mYSH42{LZiE zXzl#AD0TEvNlUiPP#e3;)Kflt{r@g6bvEDtERJM1UuYB5cUumo2gtLd9 zKFSU9t~J}(HPLEP-F)Vo74b{%o6HW)o&4$Zmh-zO-s~~+$mKPuUH+;fZMTVKjJM|{ z&OJbH$Jy0wjhg)H!_@rXtX~JbE=lPwo3FC>=u(wTaXnSf<2zP|^cc?bRTNF`NoW3` zN?dFp#|$?1ec|Mu`xlQ&JT7PWGYJ^{kAcx$sOfpD(VI~wbsE>Rlyxdo-7Eg6ocy2> znf>8=(6ZT+z8uOui*dr>umQt3<`=&fARE0#0>rC z>YrEcFg#f?aptV5Fpry|sY|`qKPrh`nHas|n$Ni%Np4XSjcQkyxh7wp5^{5Y>dLLA zrIIT(XRo?9Ypdy-g3sH`b1TZe@9vnQGPfD%7*H^ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Linker::Writer Member List
+
+
+ +

This is the complete list of members for Linker::Writer, including all inherited members.

+ + + + + + + + + + + + + + + + + +
AlignTo(offset_t align)Linker::Writer
endiantypeLinker::Writer
FillTo(offset_t position)Linker::Writer
ForceSeek(offset_t offset) (defined in Linker::Writer)Linker::Writerprotected
outLinker::Writer
Seek(offset_t offset)Linker::Writer
SeekEnd(offset_t offset=0)Linker::Writer
Skip(offset_t offset)Linker::Writer
Tell()Linker::Writer
WriteData(size_t count, const void *data)Linker::Writer
WriteData(size_t count, std::string text, char padding='\0')Linker::Writer
WriteData(std::string text)Linker::Writer
WriteData(size_t count, std::istream &in)Linker::Writer
Writer(EndianType endiantype, std::ostream *out=nullptr) (defined in Linker::Writer)Linker::Writerinline
WriteWord(size_t bytes, uint64_t value, EndianType endiantype)Linker::Writer
WriteWord(size_t bytes, uint64_t value)Linker::Writer
+ + + + diff --git a/html/classLinker_1_1Writer.html b/html/classLinker_1_1Writer.html new file mode 100644 index 00000000..45f85f0b --- /dev/null +++ b/html/classLinker_1_1Writer.html @@ -0,0 +1,186 @@ + + + + + + + +RetroLinker: Linker::Writer Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

A helper class, encapsulating functionality needed to export binary data. + More...

+ +

#include <writer.h>

+
+Inheritance diagram for Linker::Writer:
+
+
+ + +Microsoft::LEFormat::Entry +Microsoft::LEFormat::Page::Relocation + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Writer (EndianType endiantype, std::ostream *out=nullptr)
 
+void WriteData (size_t count, const void *data)
 Write out a sequence of bytes.
 
+void WriteData (size_t count, std::string text, char padding='\0')
 Write a string, possibly truncated or zero padded.
 
+void WriteData (std::string text)
 Write a string.
 
+void WriteData (size_t count, std::istream &in)
 Write data using an input stream as the source of data.
 
+void WriteWord (size_t bytes, uint64_t value, EndianType endiantype)
 Read a word.
 
+void WriteWord (size_t bytes, uint64_t value)
 Read a word.
 
+void Seek (offset_t offset)
 Jump to a specific location in the ouput stream.
 
+void Skip (offset_t offset)
 Jump to a distance in the output stream.
 
+void SeekEnd (offset_t offset=0)
 Jump to a specific offset from the end.
 
+offset_t Tell ()
 Retrieve the current location.
 
+void FillTo (offset_t position)
 Move to a specific offset, fill with zeroes if needed.
 
+void AlignTo (offset_t align)
 Align the current pointer.
 
+ + + + + + + +

+Public Attributes

+EndianType endiantype
 The default endianness of the binary format, used for reading multibyte numeric data.
 
+std::ostream * out
 The input stream.
 
+ + + +

+Protected Member Functions

+void ForceSeek (offset_t offset)
 
+

Detailed Description

+

A helper class, encapsulating functionality needed to export binary data.

+

The documentation for this class was generated from the following files:
    +
  • src/linker/writer.h
  • +
  • src/linker/writer.cc
  • +
+
+ + + + diff --git a/html/classLinker_1_1Writer.png b/html/classLinker_1_1Writer.png new file mode 100644 index 0000000000000000000000000000000000000000..faccc0dd311f46403e1a838b241e8e554c19b50c GIT binary patch literal 1034 zcmeAS@N?(olHy`uVBq!ia0y~yU_1k42XHV0$;H>US^z2O0G|-o|Ns93nJ?aaE$u(F z+`>S!Kw|ot7Y`mh0E(NQ4O;?~<17jC3uXZF!N8np_7w&O=Bb`8jv*C{Z|CL~EjAEf zo$WsL_1*tRcAH74?CUWsobyrTHn+xN$Hi`!;v2qSHt`jfYRF%>@$G>nKDYUtPHlOs zfXuLSn4j&lbK0LhoboH@sC)dq3V&waD*y#GU^QJR*8Zq`2 ztvZu8e@)7_-|1^}J=0{#}QquI+cm6#_m%sJ1h!1&|$5}yW% z7`;qk1r|+V1-AdO%X}L+fMNzqyc&Q(KoEc48KXBnpHaaiev3ztnu7p2_+EV0?QL(Z zcW%kOy>D{9*4C*@4oopp)ilryp42n}$l!o8cBh&>{#vK)nQd}b;@W+a?ejlsd1m+2 zzJ6f4ep<-C*{A=U4N}RR>veQ?2=w`?t|D>GL-t zSpC~VSa><--AMaA@37YUPrTo+%BSUW8wWhy!JE18u|Uic{d@YJ{1La(>eo-%RcrWn zOJTN->!j-`VWD?szuLY|-el6OSy`*n(x0ikKWTJ7+^hE0*-O`dzFM*BbyAah%Cx8Y zXB@WQ+Mbs1ws@Vp-HvFkd1rU1uOzrD7G%)!Ch zM!&DBdiGl=eePWvk~-z~o1iPl3_q+n^YhjHH4i4I*12hJzWo2f%%7XiysnbJfA79H z|KGS$`Og&xeE25bd|sCQ=YRCqSgW_+chzWou3b9iV65)r*WD9V70O&J*tuM%dEOLF z&-q8VjZ|M6--vBdv3<7w)E#@?`C6NA#jCz7{kP(bdfLO}@U;EKUY9)o+{_J|RQB=Y z?KLWMJx)zo0!%iZTuv~?q57G*x3^8yOxc!u+wGbBI-^f*?}9f?2j*G^Pgg&ebxsLQ E080k*OaK4? literal 0 HcmV?d00001 diff --git a/html/classMINIX_1_1MINIXFormat-members.html b/html/classMINIX_1_1MINIXFormat-members.html new file mode 100644 index 00000000..195e8f31 --- /dev/null +++ b/html/classMINIX_1_1MINIXFormat-members.html @@ -0,0 +1,175 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
MINIX::MINIXFormat Member List
+
+
+ +

This is the complete list of members for MINIX::MINIXFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
bss (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
CalculateValues() overrideMINIX::MINIXFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
code (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
code_base_address (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
cpu (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
cpu_type enum name (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
CreateDefaultSegments() (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
entry_address (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
format (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
format_type enum name (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatCombined enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
FormatIs16bit() const overrideMINIX::MINIXFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSeparate enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideMINIX::MINIXFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module) overrideMINIX::MINIXFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetEndianType(cpu_type cpu) (defined in MINIX::MINIXFormat)MINIX::MINIXFormatstatic
GetEndianType() const (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
GetScript(Linker::Module &module) (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
heap_top_address (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
I386 enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
I86 enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
M68K enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
MINIXFormat(format_type format, cpu_type cpu=cpu_type(0)) (defined in MINIX::MINIXFormat)MINIX::MINIXFormatinline
NS16K enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
OnNewSegment(Linker::Segment *segment) overrideMINIX::MINIXFormatvirtual
PAGE_SIZE (defined in MINIX::MINIXFormat)MINIX::MINIXFormatstatic
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideMINIX::MINIXFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideMINIX::MINIXFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideMINIX::MINIXFormatvirtual
SPARC enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
UnmappedZeroPage enum value (defined in MINIX::MINIXFormat)MINIX::MINIXFormat
WriteFile(Linker::Writer &wr) overrideMINIX::MINIXFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classMINIX_1_1MINIXFormat.html b/html/classMINIX_1_1MINIXFormat.html new file mode 100644 index 00000000..5c374d3c --- /dev/null +++ b/html/classMINIX_1_1MINIXFormat.html @@ -0,0 +1,663 @@ + + + + + + + +RetroLinker: MINIX::MINIXFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

MINIX/ELKS a.out file format. + More...

+ +

#include <minix.h>

+
+Inheritance diagram for MINIX::MINIXFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + +

+Public Types

enum  format_type { FormatCombined = 0x10 +, FormatSeparate = 0x20 +, UnmappedZeroPage = 0x01 + }
 
enum  cpu_type {
+  I86 = 0x04 +, M68K = 0x0B +, NS16K = 0x0C +, I386 = 0x10 +,
+  SPARC = 0x17 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
+::EndianType GetEndianType () const
 
MINIXFormat (format_type format, cpu_type cpu=cpu_type(0))
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module) override
 Provides a default filename for the output file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + +

+Static Public Member Functions

+::EndianType GetEndianType (cpu_type cpu)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+enum MINIX::MINIXFormat::format_type format
 
+enum MINIX::MINIXFormat::cpu_type cpu
 
+uint32_t code_base_address
 
+uint32_t heap_top_address
 
+Linker::Segmentcode
 
+Linker::Segmentdata
 
+Linker::Segmentbss
 
+uint32_t entry_address
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + +

+Static Public Attributes

+static constexpr size_t PAGE_SIZE = 0x1000
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

MINIX/ELKS a.out file format.

+

This is the native executable format for MINX and ELKS (Linux for 8086)

+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void MINIXFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatIs16bit()

+ +
+
+ + + + + +
+ + + + + + + +
bool MINIXFormat::FormatIs16bit () const
+
+overridevirtual
+
+ +

Whether the format is 16-bit or not.

+

This is needed for the ELF parser which can not distinguish between the 8086 and 80386 backends.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void MINIXFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + +
std::string MINIXFormat::GetDefaultExtension (Linker::Module & module)
+
+overridevirtual
+
+ +

Provides a default filename for the output file.

+

Typically a.out or some other extension, such as a.exe.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void MINIXFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void MINIXFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MINIXFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void MINIXFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MINIXFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/minix.h
  • +
  • src/format/minix.cc
  • +
+
+ + + + diff --git a/html/classMINIX_1_1MINIXFormat.png b/html/classMINIX_1_1MINIXFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..6222bfe9b23d46e769dd65497a627859aacdf17b GIT binary patch literal 1598 zcmb_cdol6y$gb*LhW*zV&qTaopYAmD9P8YeZ^$wUwFSrEf}l=XgAxybka4 ztCIKjCVFAK0lEGX2ypou0D!!5LEHNzgG6_P@sG?@_h^|H4Q|3%D{(q$3%ArsD>Ky0(VTZssUFNW&}?E9eiA zQ+_KoYb7|#sB-uIu^nIQgED2_nai7myaq7c>PJ#Y=C}eu=Cgl*egUAAEv=4d3fgO~ z+EuuUZbzmxtvw3NoR^t!F|{+;om4J1Ljx1kLKJujO-<_jD&W*jBvG7}4+>d&-dL=C zq2Ca3+uVa-7b^(rI_^=79q9IFlY6C`X`_a^tYs)bm9%$>&6l#NSQK(28Dg0>buXWq zqLaZf*Oh}2jj(XGTBmu>#=TU~&%o;gWPq`j3OP)6h3Jwak09-pc&9;1Z9Y7ZnFbk9 zh3Enfa_I?x|4+H91C$AqC7aFVDHQ?=Z_N#?oL8INy+dI1auyWfKBv{?9Az+(RhI$=>9BhhjUvBQC7w1i()Agv+Mk8h=GFDVs ztk|b~dzgtsS{v^UuZ*)XmWw!ld{O|jm0}s76~oSq8VWjZyoKjV8gQf%&0?(jLpSEr z4?e{cwITVkcU!^J$Kv?O7R+|T30wB)V2`0xy<* z!UZ$`Hw)}pmzihlcZ<>^*_kQ>0S71JVHWd~s(3g+h#T9s8FfWgJ|lVeF!)YLh6Gw5 zG?Px*3^to0a!BViyA`?XBn(hH&Q^)IXdV>Ciu-tj9y>F;&8a+ph{jM)?^yq|?z*nz zjOHVn?(=Pi9*}bT2V&XbRQEtMpJ_Q7r9Ma5Q2jg;fU13huG-Z=*}V{Kt%srX^qg>i zTe}~DhZf%HF<;7}W_!D#!>hsF5FI9Yp?KjebEA!@c(Fn-P61l$w8)4Qjt>BC9u>|O z6jZx^cKiL>jqmw*@6UF(#QzJQ4+z&%W&7JIhq=Ef^C + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
MachO::MachOFormat Member List
+
+
+ +

This is the complete list of members for MachO::MachOFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideMachO::MachOFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideMachO::MachOFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classMachO_1_1MachOFormat.html b/html/classMachO_1_1MachOFormat.html new file mode 100644 index 00000000..0aebc48c --- /dev/null +++ b/html/classMachO_1_1MachOFormat.html @@ -0,0 +1,378 @@ + + + + + + + +RetroLinker: MachO::MachOFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
MachO::MachOFormat Class Reference
+
+
+ +

Mach/NeXTSTEP/Mac OS X (macOS) file format. + More...

+ +

#include <macho.h>

+
+Inheritance diagram for MachO::MachOFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Mach/NeXTSTEP/Mac OS X (macOS) file format.

+

Originally developed for the Mach kernel, it has been adopted by other UNIX systems based on the Mach kernel, including NeXTSTEP and macOS.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MachOFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MachOFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/macho.h
  • +
  • src/format/macho.cc
  • +
+
+ + + + diff --git a/html/classMachO_1_1MachOFormat.png b/html/classMachO_1_1MachOFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..51adeefc4a9de9387141b13d6b6e9c9468a8970a GIT binary patch literal 1615 zcmb_cdr;B|5dQfpALWIUhG|}?>1kQosgRnLfMAIaP_s<&HFj2jW@?!N*MwwsMv`Ju z)}4r_DRy;$PjGyfikFFok2I}(g5kcQgHSGq->2e&6oQ&hG4dn-dg(+HAPp z5CDM9erN<10JLm1_?o_s#$U=!P-}ukkbekLt^Nm2e^930YA%C0J0yWw-P7aasY!>nUH_)zU9Wb#F8jlcb`XEQ*_fO0sq`$s%!Bz@Zb$&wPg*)%ZFk?)ruxa#zu{H<08%Adp!uDu;Zua(5<|F)Q4XIZU4{`{!Y5Y4GJArV1Cyx& zQc5k8H<|sUy7k1!Hg!b16BSb>rYH{{uxNCubgXZ7?EMLeDQ~rAqp&jXeM=)*DsO;& zatf_%Yzs^lJ${rdoyBao;h0gXibK(lNZQf3TW1JLw<-Ug^4xeH6n9U#@(dYS6#>}s z4^{Bt&zE3#RiSefCsFQdXo?HwC_y+f8a9?L$)8=c+}9?OvT@JzR}P#fnG3lPCrPoQ z;*-adqq4N?tdo-wV-|%8ic@W@SbQo9?(Y0}8+;rZ*`I%u! zv{@gK9=saw3z5adTVM~(g}sMKpOQ#fLla=0uxo9l&}-lvHw(>=T|IXj`(!bXo+9 z^B~C8q_RyjFa_;d+wzY`P7hV1>UC$1eD+tphSz0m_bDWQvq`aW4yOTNBPc58v_QN#|AcIK zEB}pt`5qxZA;c=3oHkEnEfnEOf2-)Cg%&F^ddnq_#Key;Z!a7L*$McF+PVg-#*@n z!DO6;9WKHITJ-ix7`YzF%7cUXvjj!eYGzEIdB4&Hib6Z_&O}=+sCCf%UDJ#WEoT01 zrQC<+yuH1-w9A#HP?7MIIoN7#p*cQQTF9++;W4;1a|`%1;fo%&ud*qL>bkKfwW#=h z{qPI?>lN?!-LE#%laBctt8AjS4@a?x6FjlnoHKmqVk`{VzvfCC+*GcLvXK{gx~0)Q zuydFM=3F4*TB$pWCh?XomAA7jC4}UQ>K&Y71A96*FU2+|7H0PMMYl$HarN2SawOG4QokJLM`-1gL4_ zlJ;Z!h>r7U;A~@*orBDy0InUr+p67q*Oz2PLz2#Sn&Nd!6RI^`_hBbQ>uWTsda&yk zfLubZiUS_x{Z~0GbwLQjg1aCpl3;D^`<8(~Xp{v4A&vbIh}&=zP;mSXY+P#0z&7l1 z?cTY+N=Z4_8jgGFQjvT`{-@a<#AJM*W%KNC^m-8vFKDx=1fEY!!2vV#blxGA&S7y!fPDGaOIGp@&J|J`lX6YR{Cf z?aH%5E24lKbv|{mC*ar*EC%^xUF7vH*T}lzIMtYe1C;$b#h89M-Q#JHJaANghgby} tqT5<8rv7{MuWhrfPe5RsYGoc(>y#Xq3-5z}r)yq6;D-!A@O+}L{0-Ax_wxV% literal 0 HcmV?d00001 diff --git a/html/classMicrosoft_1_1LEFormat-members.html b/html/classMicrosoft_1_1LEFormat-members.html new file mode 100644 index 00000000..4df4c94e --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat-members.html @@ -0,0 +1,257 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::LEFormat Member List
+
+
+ +

This is the complete list of members for Microsoft::LEFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddObject(const Object &object) (defined in Microsoft::LEFormat)Microsoft::LEFormat
AddRelocation(Object &object, unsigned type, unsigned flags, size_t offset, uint16_t module, uint32_t target=0, uint32_t addition=0) (defined in Microsoft::LEFormat)Microsoft::LEFormat
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
automatic_data (defined in Microsoft::LEFormat)Microsoft::LEFormat
CalculateValues() overrideMicrosoft::LEFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
compatibility (defined in Microsoft::LEFormat)Microsoft::LEFormat
compatibility_type enum name (defined in Microsoft::LEFormat)Microsoft::LEFormat
CompatibleGNU enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
CompatibleMicrosoft enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
CompatibleNone enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
CompatibleWatcom enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
CountBundles(size_t entry_index) (defined in Microsoft::LEFormat)Microsoft::LEFormat
cpu (defined in Microsoft::LEFormat)Microsoft::LEFormat
cpu_type enum name (defined in Microsoft::LEFormat)Microsoft::LEFormat
CreateConsoleApplication(system_type system=OS2) (defined in Microsoft::LEFormat)Microsoft::LEFormatstatic
CreateGUIApplication(system_type system=OS2) (defined in Microsoft::LEFormat)Microsoft::LEFormatstatic
CreateLibraryModule(system_type system=OS2) (defined in Microsoft::LEFormat)Microsoft::LEFormatstatic
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data_pages_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
DOS4G enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
eip_object (defined in Microsoft::LEFormat)Microsoft::LEFormat
eip_value (defined in Microsoft::LEFormat)Microsoft::LEFormat
endiantype (defined in Microsoft::LEFormat)Microsoft::LEFormat
entries (defined in Microsoft::LEFormat)Microsoft::LEFormat
entry_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
ErrorInImage enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
esp_object (defined in Microsoft::LEFormat)Microsoft::LEFormat
esp_value (defined in Microsoft::LEFormat)Microsoft::LEFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extended_format (defined in Microsoft::LEFormat)Microsoft::LEFormat
FetchImportedModuleName(std::string name) (defined in Microsoft::LEFormat)Microsoft::LEFormat
FetchImportedProcedureName(std::string name) (defined in Microsoft::LEFormat)Microsoft::LEFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
fixup_page_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
fixup_record_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
fixup_section_size (defined in Microsoft::LEFormat)Microsoft::LEFormat
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Microsoft::LEFormat)Microsoft::LEFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() const overrideMicrosoft::LEFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideMicrosoft::LEFormatvirtual
FullScreen enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
GenerateFile(std::string filename, Linker::Module &module) overrideMicrosoft::LEFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideMicrosoft::LEFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetDefaultObjectFlags() const (defined in Microsoft::LEFormat)Microsoft::LEFormat
GetScript(Linker::Module &module) (defined in Microsoft::LEFormat)Microsoft::LEFormat
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
GUI enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
GUIAware enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
heap (defined in Microsoft::LEFormat)Microsoft::LEFormat
heap_size (defined in Microsoft::LEFormat)Microsoft::LEFormat
I386 enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
imported_module_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
imported_modules (defined in Microsoft::LEFormat)Microsoft::LEFormat
imported_procedure_name_offsets (defined in Microsoft::LEFormat)Microsoft::LEFormat
imported_procedure_names_length (defined in Microsoft::LEFormat)Microsoft::LEFormat
imported_procedure_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
imported_procedures (defined in Microsoft::LEFormat)Microsoft::LEFormat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
IsDriver() const (defined in Microsoft::LEFormat)Microsoft::LEFormat
IsLibrary() const (defined in Microsoft::LEFormat)Microsoft::LEFormat
IsOS2() const (defined in Microsoft::LEFormat)Microsoft::LEFormat
last_page_size (defined in Microsoft::LEFormat)Microsoft::LEFormat
LEFormat(unsigned system, unsigned module_flags, bool extended_format) (defined in Microsoft::LEFormat)Microsoft::LEFormatinlineprotected
Library enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
Link(Linker::Module &module) (defined in Microsoft::LEFormat)Microsoft::LEFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
loader_section_size (defined in Microsoft::LEFormat)Microsoft::LEFormat
MakeEntry(Linker::Position value) (defined in Microsoft::LEFormat)Microsoft::LEFormat
MakeEntry(uint16_t index, Linker::Position value) (defined in Microsoft::LEFormat)Microsoft::LEFormat
module_flags (defined in Microsoft::LEFormat)Microsoft::LEFormat
module_name (defined in Microsoft::LEFormat)Microsoft::LEFormat
MSDOS4 enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
NoExternalFixup enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
NoInternalFixup enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
nonresident_name_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
nonresident_name_table_size (defined in Microsoft::LEFormat)Microsoft::LEFormat
nonresident_names (defined in Microsoft::LEFormat)Microsoft::LEFormat
object_index (defined in Microsoft::LEFormat)Microsoft::LEFormat
object_iterated_pages_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
object_page_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
object_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
objects (defined in Microsoft::LEFormat)Microsoft::LEFormat
OnNewSegment(Linker::Segment *segment) overrideMicrosoft::LEFormatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
OS2 enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
page_count (defined in Microsoft::LEFormat)Microsoft::LEFormat
page_offset_shift (defined in Microsoft::LEFormat)Microsoft::LEFormat
page_size (defined in Microsoft::LEFormat)Microsoft::LEFormatstatic
pages (defined in Microsoft::LEFormat)Microsoft::LEFormat
PerProcessTermination enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
PhysicalDriver enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
PreProcessInitialization enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideMicrosoft::LEFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
program_name (defined in Microsoft::LEFormat)Microsoft::LEFormat
ProtectedMemoryLibrary enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
ReadFile(Linker::Reader &rd) overrideMicrosoft::LEFormatvirtual
resident_name_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
resident_names (defined in Microsoft::LEFormat)Microsoft::LEFormat
resource_table_entry_count (defined in Microsoft::LEFormat)Microsoft::LEFormat
resource_table_offset (defined in Microsoft::LEFormat)Microsoft::LEFormat
resources (defined in Microsoft::LEFormat)Microsoft::LEFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideMicrosoft::LEFormatvirtual
SimulateLinker(compatibility_type compatibility) (defined in Microsoft::LEFormat)Microsoft::LEFormat
stack (defined in Microsoft::LEFormat)Microsoft::LEFormat
stack_size (defined in Microsoft::LEFormat)Microsoft::LEFormat
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
system (defined in Microsoft::LEFormat)Microsoft::LEFormat
system_type enum name (defined in Microsoft::LEFormat)Microsoft::LEFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
VirtualDriver enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
Windows enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
Windows386 enum value (defined in Microsoft::LEFormat)Microsoft::LEFormat
WriteFile(Linker::Writer &wr) overrideMicrosoft::LEFormatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat.html b/html/classMicrosoft_1_1LEFormat.html new file mode 100644 index 00000000..2c6aa2e0 --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat.html @@ -0,0 +1,979 @@ + + + + + + + +RetroLinker: Microsoft::LEFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

LE/LX .EXE linear executable file format. + More...

+ +

#include <leexe.h>

+
+Inheritance diagram for Microsoft::LEFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZStubWriter +Linker::Format + +
+ + + + + + + + + + + + +

+Classes

class  Entry
 
struct  Name
 
class  Object
 
class  Page
 
class  Resource
 
+ + + + + + + + + +

+Public Types

enum  system_type {
+  OS2 = 1 +, Windows +, MSDOS4 +, Windows386 +,
+  DOS4G = -1 +
+ }
 
enum  {
+  PreProcessInitialization = 0x00000004 +, NoInternalFixup = 0x00000010 +, NoExternalFixup = 0x00000020 +, FullScreen = 0x00000100 +,
+  GUIAware = 0x00000200 +, GUI = 0x00000300 +, ErrorInImage = 0x00002000 +, Library = 0x00008000 +,
+  ProtectedMemoryLibrary = 0x00018000 +, PhysicalDriver = 0x00020000 +, VirtualDriver = 0x00028000 +, PerProcessTermination = 0x40000000 +
+ }
 
enum  cpu_type { I386 = 2 + }
 
enum  compatibility_type { CompatibleNone +, CompatibleWatcom +, CompatibleMicrosoft +, CompatibleGNU + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatSupportsLibraries () const override
 Whether the format supports libraries.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
+bool IsOS2 () const
 
+bool IsLibrary () const
 
+bool IsDriver () const
 
+LEFormatSimulateLinker (compatibility_type compatibility)
 
+void AddRelocation (Object &object, unsigned type, unsigned flags, size_t offset, uint16_t module, uint32_t target=0, uint32_t addition=0)
 
+unsigned GetDefaultObjectFlags () const
 
+void AddObject (const Object &object)
 
+uint16_t FetchImportedModuleName (std::string name)
 
+uint16_t FetchImportedProcedureName (std::string name)
 
+uint16_t MakeEntry (Linker::Position value)
 
+uint16_t MakeEntry (uint16_t index, Linker::Position value)
 
+uint8_t CountBundles (size_t entry_index)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + +

+Static Public Member Functions

+static LEFormatCreateConsoleApplication (system_type system=OS2)
 
+static LEFormatCreateGUIApplication (system_type system=OS2)
 
+static LEFormatCreateLibraryModule (system_type system=OS2)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+::EndianType endiantype
 
+enum Microsoft::LEFormat::system_type system
 
+uint32_t module_flags
 
+bool extended_format
 
+enum Microsoft::LEFormat::cpu_type cpu
 
+enum Microsoft::LEFormat::compatibility_type compatibility
 
+std::string program_name
 
+std::string module_name
 
+uint32_t page_count
 
+uint32_t eip_object
 
+uint32_t eip_value
 
+uint32_t esp_object
 
+uint32_t esp_value
 
+union { 
 
+   uint32_t   last_page_size 
 
+   uint32_t   page_offset_shift 
 
};  
 
+uint32_t fixup_section_size
 
+uint32_t loader_section_size
 
+uint32_t object_table_offset
 
+uint32_t object_page_table_offset
 
+uint32_t object_iterated_pages_offset
 
+uint32_t resource_table_offset
 
+uint32_t resource_table_entry_count
 
+uint32_t resident_name_table_offset
 
+uint32_t entry_table_offset
 
+uint32_t fixup_page_table_offset
 
+uint32_t fixup_record_table_offset
 
+uint32_t imported_module_table_offset
 
+uint32_t imported_procedure_table_offset
 
+uint32_t data_pages_offset
 
+uint32_t nonresident_name_table_offset
 
+uint32_t nonresident_name_table_size
 
+uint32_t automatic_data
 
+uint32_t stack_size
 
+uint32_t heap_size
 
+Linker::Segmentstack
 
+Linker::Segmentheap
 
+std::vector< Objectobjects
 
+std::map< Linker::Segment *, size_t > object_index
 
+std::vector< Pagepages
 
+std::vector< Resourceresources
 
+std::vector< Nameresident_names
 
+std::vector< Namenonresident_names
 
+std::vector< Entryentries
 
+std::vector< std::string > imported_modules
 
+std::vector< std::string > imported_procedures
 
+std::map< std::string, uint32_t > imported_procedure_name_offsets
 
+offset_t imported_procedure_names_length
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + +

+Static Public Attributes

+static const uint32_t page_size = 0x1000
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

LEFormat (unsigned system, unsigned module_flags, bool extended_format)
 
- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Detailed Description

+

LE/LX .EXE linear executable file format.

+

Introduced first for 32-bit virtual device drivers for 16-bit versions of Windows, it was adopted and extended for 32-bit versions of OS/2 as well as a few DOS extenders. It has two main variants, the LE and the LX executable formats.

+

The following platforms are supported:

    +
  • Windows/386 device drivers, LE format (not tested or fully supported)
  • +
  • LE executables for the DOS/4G DOS extender
  • +
  • LX executables for 32-bit versions of OS/2
  • +
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void LEFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned LEFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsLibraries()

+ +
+
+ + + + + +
+ + + + + + + +
bool LEFormat::FormatSupportsLibraries () const
+
+overridevirtual
+
+ +

Whether the format supports libraries.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool LEFormat::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void LEFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string LEFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void LEFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void LEFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void LEFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void LEFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void LEFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/leexe.h
  • +
  • src/format/leexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat.png b/html/classMicrosoft_1_1LEFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6bcb8a13167f3b99acd4683cae601156030b57 GIT binary patch literal 2011 zcmcIlYc!kL8vbz9y&cnW8I-Bh*0nCpVB(UDmKsxH+){#~b&pUKHE2>bgBHDNi!x3t zl!y!wkyOYaE+r_rxYTg8bqk?2af{1*^w0Tqew?+=x7Pc;?|$~)>v{IO)_!)*PY5R^ zc@2300F<16aPR;C2_9Hy%SwTNjFq(?m^6QK@p9bT+XKtFMN#72w#x6!46dp_>6@FH zngVePHnJR?le^}D@C3l|!Dl5|%mDzIFlPsQuj>*^B})&;HD3bbb){deV_8{l(j6Uh zrOBgJal;o*WPi7$h&_G`4f`}t`b|n5u!`IL0^7%tR0pVqgVn(26e)eZ!}?#|b*ELQ zWS0m;>Gk9+9mpn9!ILoa{U8Wze!zbhas0G($@VCrg%iQVh*&y%IcY^F1D^#YG z)t*1Yq`bOgd^|k8Q`+V@KMfxDArFSI!b7gMhbTX9@c~0Q(ktz=SxM)Qu=%S3|(v z-OB!}b%}cmv`FcvnQAzRGPz;-vOIoov!s4|gJeXzp9Kk^gEaEyRlow6|KH(RH*@9j zYI_?mF<>@$R|Lgo!^5J`L|t97J6c7#Ft0q(l5iR2=pZ~wL4YXgXTj!B!c4NinDP8Vt8*?bZ@|Wyx zgD#Qxa6sXkE{rBJuqfZIAxlrcWO-SQ(&%pIV|zZG+Q^U|Pq8zJVB9Nq5-d|%=9^$< zjC*)x<;{$nJW>TZ_n67)YK>4mRG0mVz@~0)$ppra@5is}iPRKmO7O}X@Nc#UsLLncsIBB>P#t-y}zotp$;v(Q|O_(S# z;4qd~)JCSU}As03NQX9kCF&7(H*5hxn*eD^%D2YgUAA{J9(cADqrzEy~ z?K5=ZN#9HX3G&Wty^uFH|2^9CoDEU@W05%b%WVfV^>qP-gp=~aXCQg2%=@g)m=uMx zet+Jsq4X>@hH14YT_(s4+7PpD60@kTI>Jqcye^?o#kqi0h(qPE2o$$a1kJNY^2#dni~Fyl%U@4 zLxQzJoN;&{8dGaHNqFf0=m=t(KAb(YC^h^KDdN&C3`*>uGKi#Ym)pHD)cq7VL{B4l zJA`O&Z`~M*s+w|}9euHe4z@x5*@_qG5j$URNv*n+Q8*UL_ocAs1b2ORs*(+ToAMJeieT zHD*U&OA8iQ4Ms@_A(cEnTG+$}fxU{qq7D$G4yEdyrFg5E`!%Boi4(h2b7c+(T@DMJ zeB=R|%TX62Ccm!*hLbb@>;mg`x{50nptqo1jBwVUgPC34D^$Ke_Mag|#P?D!mYep%jIqAcb<}=n za_3z5u>4BqeI94M#|i(TOq6$K)_)aL4riwl-}qYJh5EM4?$N>rx*@(F>B8!(3lxnl6^8Gp?32r5~t@sH1^UUfXG{AaG}(OZ+F4Y zxIs85n`05KjvFOBax|tPOwUb~`ECN&j`RI;*Sy24^ z6T`a45lX0D&VZqIE#qx2 R27HDAXGerX?b)D=zX5wP>j(e< literal 0 HcmV?d00001 diff --git a/html/classMicrosoft_1_1LEFormat_1_1Entry-members.html b/html/classMicrosoft_1_1LEFormat_1_1Entry-members.html new file mode 100644 index 00000000..75ff4787 --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat_1_1Entry-members.html @@ -0,0 +1,127 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::LEFormat::Entry Member List
+
+
+ +

This is the complete list of members for Microsoft::LEFormat::Entry, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AlignTo(offset_t align)Linker::Writer
CallGate286 enum value (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
endiantypeLinker::Writer
Entry() (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entryinline
Entry(unsigned type, uint16_t object, unsigned flags, uint32_t offset) (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entryinline
Entry16 enum value (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
Entry32 enum value (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
entry_type enum name (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
Exported enum value (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
FillTo(offset_t position)Linker::Writer
flag_type enum name (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
flags (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
ForceSeek(offset_t offset) (defined in Linker::Writer)Linker::Writerprotected
Forwarder enum value (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
GetEntryBodySize() const (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
GetEntryHeadSize() const (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
object (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
offset (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
outLinker::Writer
SameBundle(const Entry &other) const (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
Seek(offset_t offset)Linker::Writer
SeekEnd(offset_t offset=0)Linker::Writer
SharedData enum value (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
Skip(offset_t offset)Linker::Writer
Tell()Linker::Writer
type (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
Unused enum value (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
WriteData(size_t count, const void *data)Linker::Writer
WriteData(size_t count, std::string text, char padding='\0')Linker::Writer
WriteData(std::string text)Linker::Writer
WriteData(size_t count, std::istream &in)Linker::Writer
WriteEntryBody(Linker::Writer &wr) (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
WriteEntryHead(Linker::Writer &wr) (defined in Microsoft::LEFormat::Entry)Microsoft::LEFormat::Entry
Writer(EndianType endiantype, std::ostream *out=nullptr) (defined in Linker::Writer)Linker::Writerinline
WriteWord(size_t bytes, uint64_t value, EndianType endiantype)Linker::Writer
WriteWord(size_t bytes, uint64_t value)Linker::Writer
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Entry.html b/html/classMicrosoft_1_1LEFormat_1_1Entry.html new file mode 100644 index 00000000..b4c05858 --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat_1_1Entry.html @@ -0,0 +1,228 @@ + + + + + + + +RetroLinker: Microsoft::LEFormat::Entry Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::LEFormat::Entry Class Reference
+
+
+
+Inheritance diagram for Microsoft::LEFormat::Entry:
+
+
+ + +Linker::Writer + +
+ + + + + + +

+Public Types

enum  entry_type {
+  Unused +, Entry16 +, CallGate286 +, Entry32 +,
+  Forwarder +
+ }
 
enum  flag_type { Exported = 1 +, SharedData = 2 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Entry (unsigned type, uint16_t object, unsigned flags, uint32_t offset)
 
+bool SameBundle (const Entry &other) const
 
+offset_t GetEntryHeadSize () const
 
+offset_t GetEntryBodySize () const
 
+void WriteEntryHead (Linker::Writer &wr)
 
+void WriteEntryBody (Linker::Writer &wr)
 
- Public Member Functions inherited from Linker::Writer
Writer (EndianType endiantype, std::ostream *out=nullptr)
 
+void WriteData (size_t count, const void *data)
 Write out a sequence of bytes.
 
+void WriteData (size_t count, std::string text, char padding='\0')
 Write a string, possibly truncated or zero padded.
 
+void WriteData (std::string text)
 Write a string.
 
+void WriteData (size_t count, std::istream &in)
 Write data using an input stream as the source of data.
 
+void WriteWord (size_t bytes, uint64_t value, EndianType endiantype)
 Read a word.
 
+void WriteWord (size_t bytes, uint64_t value)
 Read a word.
 
+void Seek (offset_t offset)
 Jump to a specific location in the ouput stream.
 
+void Skip (offset_t offset)
 Jump to a distance in the output stream.
 
+void SeekEnd (offset_t offset=0)
 Jump to a specific offset from the end.
 
+offset_t Tell ()
 Retrieve the current location.
 
+void FillTo (offset_t position)
 Move to a specific offset, fill with zeroes if needed.
 
+void AlignTo (offset_t align)
 Align the current pointer.
 
+ + + + + + + + + + + + + + + + +

+Public Attributes

+enum Microsoft::LEFormat::Entry::entry_type type
 
+uint16_t object
 
+enum Microsoft::LEFormat::Entry::flag_type flags
 
+uint32_t offset
 
- Public Attributes inherited from Linker::Writer
+EndianType endiantype
 The default endianness of the binary format, used for reading multibyte numeric data.
 
+std::ostream * out
 The input stream.
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Linker::Writer
+void ForceSeek (offset_t offset)
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/leexe.h
  • +
  • src/format/leexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Entry.png b/html/classMicrosoft_1_1LEFormat_1_1Entry.png new file mode 100644 index 0000000000000000000000000000000000000000..4f64690d4540109f0edaa6c4c6920e5e78ffb65d GIT binary patch literal 631 zcmV--0*L*IP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~00064 zNklXH^iSS7{2BE}e(29YEe#tli* zh8vQkjrR;g(=@)n=3VG*6wG`;ID+K?pg@*TtNb;q!eBgt#5hUXpI z?Uk4L2l78*WIFHr$XTZ9ENQjB#ZE z;Hx|UU}=^&d^}cHT;A|0xVYl_hQ5~pz=|6JfDJbU02^)y05;qZ0BpD+0N8Lt0I=bP z0ARxn0lh06cMpe3=h#~d&fD18g^vZ zU$qqxnNi2K!GmGdFtx8zt4y8Yd=?RrhV$4r4fpBO`My%easJLd_0ngCDo4uGj6V-5 z{W-d%tyNCFDbo>Agw>~Q>Rr)Ks&ecGgMlSjrC0M`8#c2XU9I8#J`|DA(p*Y+AD;4# z4Yl6DFje`=aJGhxVHFw$cPsLi;h@Uz8=j`08Rn99|2C(qeKEuD8rFTNj@3!7dY-lY zAME$?smf{Ns + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::LEFormat::Object Member List
+
+
+ +

This is the complete list of members for Microsoft::LEFormat::Object, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
Alias16_16 enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
BigSegment enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Conforming enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
data_pages_offset (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Discardable enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Execable enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
flag_type enum name (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
flags (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
image (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
InvalidPages enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
IOPrivilege enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Object(Linker::Segment *segment, unsigned flags) (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Objectinline
page_entry_count (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
page_table_index (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
PreloadPages enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Readable enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Resident enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
ResidentContiguous enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
ResidentLongLockable enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Resource enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Shared enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
Writable enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
ZeroFilledPages enum value (defined in Microsoft::LEFormat::Object)Microsoft::LEFormat::Object
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Object.html b/html/classMicrosoft_1_1LEFormat_1_1Object.html new file mode 100644 index 00000000..288a2177 --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat_1_1Object.html @@ -0,0 +1,147 @@ + + + + + + + +RetroLinker: Microsoft::LEFormat::Object Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::LEFormat::Object Class Reference
+
+
+ + + + +

+Public Types

enum  flag_type {
+  Readable = 0x0001 +, Writable = 0x0002 +, Execable = 0x0004 +, Resource = 0x0008 +,
+  Discardable = 0x0010 +, Shared = 0x0020 +, PreloadPages = 0x0040 +, InvalidPages = 0x0080 +,
+  ZeroFilledPages = 0x0100 +, Resident = 0x0200 +, ResidentContiguous = 0x0300 +, ResidentLongLockable = 0x0400 +,
+  Alias16_16 = 0x1000 +, BigSegment = 0x2000 +, Conforming = 0x4000 +, IOPrivilege = 0x8000 +
+ }
 
+ + + +

+Public Member Functions

Object (Linker::Segment *segment, unsigned flags)
 
+ + + + + + + + + + + +

+Public Attributes

+Linker::Segmentimage
 
+enum Microsoft::LEFormat::Object::flag_type flags
 
+uint32_t page_table_index
 
+uint32_t page_entry_count
 
+uint32_t data_pages_offset
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Page-members.html b/html/classMicrosoft_1_1LEFormat_1_1Page-members.html new file mode 100644 index 00000000..d16df137 --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat_1_1Page-members.html @@ -0,0 +1,112 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::LEFormat::Page Member List
+
+
+ +

This is the complete list of members for Microsoft::LEFormat::Page, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
fixup_offset (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
fixup_table_index (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
flags (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
Invalid enum value (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
Iterated enum value (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
le (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
LEPage(uint16_t fixup_table_index, uint8_t type) (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Pagestatic
lx (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
LXPage(uint32_t offset, uint16_t size, uint8_t flags) (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Pagestatic
NoRelocations enum value (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
offset (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
Page() (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Pageinline
Page(uint16_t fixup_table_index, uint8_t type) (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Pageinlineprotected
Page(uint32_t offset, uint16_t size, uint8_t flags) (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Pageinlineprotected
Preload enum value (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
Range enum value (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
Relocations enum value (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
relocations (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
size (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
type (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
ZeroFilled enum value (defined in Microsoft::LEFormat::Page)Microsoft::LEFormat::Page
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Page.html b/html/classMicrosoft_1_1LEFormat_1_1Page.html new file mode 100644 index 00000000..62687d69 --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat_1_1Page.html @@ -0,0 +1,177 @@ + + + + + + + +RetroLinker: Microsoft::LEFormat::Page Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ + + + +

+Classes

class  Relocation
 
+ + + +

+Public Types

enum  {
+  NoRelocations = 0 +, Relocations = 3 +, Preload = 0 +, Iterated +,
+  Invalid +, ZeroFilled +, Range +
+ }
 
+ + + + + +

+Static Public Member Functions

+static Page LEPage (uint16_t fixup_table_index, uint8_t type)
 
+static Page LXPage (uint32_t offset, uint16_t size, uint8_t flags)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+union { 
 
+   struct { 
 
+      uint32_t   fixup_table_index 
 
+      uint8_t   type 
 
   }   le 
 
+   struct { 
 
+      uint32_t   offset 
 
+      uint16_t   size 
 
+      uint16_t   flags 
 
   }   lx 
 
};  
 
+uint32_t fixup_offset
 
+std::map< uint16_t, Relocationrelocations
 
+ + + + + +

+Protected Member Functions

Page (uint16_t fixup_table_index, uint8_t type)
 
Page (uint32_t offset, uint16_t size, uint8_t flags)
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/leexe.h
  • +
  • src/format/leexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation-members.html b/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation-members.html new file mode 100644 index 00000000..e1d91811 --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation-members.html @@ -0,0 +1,151 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::LEFormat::Page::Relocation Member List
+
+
+ +

This is the complete list of members for Microsoft::LEFormat::Page::Relocation, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addition (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Additive enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Additive32 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Alias enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
AlignTo(offset_t align)Linker::Writer
CalculateSizes(compatibility_type compatibility) (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
ComesBefore() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
DecrementSingleSourceOffset(size_t amount) (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
endiantypeLinker::Writer
Entry enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
FillTo(offset_t position)Linker::Writer
flag_type enum name (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
flags (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
FlagTypeMask enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
ForceSeek(offset_t offset) (defined in Linker::Writer)Linker::Writerprotected
GetAdditiveSize() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
GetModuleSize() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
GetOrdinalSize() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
GetSize() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
GetSourceSize() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
GetTargetSize() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
GetType(Linker::Relocation &rel) (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocationstatic
ImportName enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
ImportOrdinal enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Internal enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
IsAdditive() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
IsExternal() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
IsSelector() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
IsSelectorOrOffset() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
IsSourceList() const (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Module16 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Offset16 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Offset32 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Offset8 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Ordinal8 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
outLinker::Writer
Pointer32 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Pointer48 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Relative32 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Relocation() (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocationinline
Relocation(unsigned type, unsigned flags, uint16_t offset, uint16_t module, uint32_t target=0, uint32_t addition=0) (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocationinline
Seek(offset_t offset)Linker::Writer
SeekEnd(offset_t offset=0)Linker::Writer
Selector16 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Skip(offset_t offset)Linker::Writer
source_type enum name (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
SourceList enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
SourceTypeMask enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
target (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Target32 enum value (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Tell()Linker::Writer
type (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
WriteData(size_t count, const void *data)Linker::Writer
WriteData(size_t count, std::string text, char padding='\0')Linker::Writer
WriteData(std::string text)Linker::Writer
WriteData(size_t count, std::istream &in)Linker::Writer
WriteFile(Linker::Writer &wr, compatibility_type compatibility) (defined in Microsoft::LEFormat::Page::Relocation)Microsoft::LEFormat::Page::Relocation
Writer(EndianType endiantype, std::ostream *out=nullptr) (defined in Linker::Writer)Linker::Writerinline
WriteWord(size_t bytes, uint64_t value, EndianType endiantype)Linker::Writer
WriteWord(size_t bytes, uint64_t value)Linker::Writer
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.html b/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.html new file mode 100644 index 00000000..4c32575e --- /dev/null +++ b/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.html @@ -0,0 +1,283 @@ + + + + + + + +RetroLinker: Microsoft::LEFormat::Page::Relocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::LEFormat::Page::Relocation Class Reference
+
+
+
+Inheritance diagram for Microsoft::LEFormat::Page::Relocation:
+
+
+ + +Linker::Writer + +
+ + + + + + +

+Public Types

enum  source_type {
+  Offset8 = 0 +, Selector16 = 2 +, Pointer32 = 3 +, Offset16 = 5 +,
+  Pointer48 = 6 +, Offset32 = 7 +, Relative32 = 8 +, SourceTypeMask = 0x0F +,
+  Alias = 0x10 +, SourceList = 0x20 +
+ }
 
enum  flag_type {
+  Internal = 0 +, ImportOrdinal = 1 +, ImportName = 2 +, Entry = 3 +,
+  FlagTypeMask = 3 +, Additive = 4 +, Target32 = 0x10 +, Additive32 = 0x20 +,
+  Module16 = 0x40 +, Ordinal8 = 0x80 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Relocation (unsigned type, unsigned flags, uint16_t offset, uint16_t module, uint32_t target=0, uint32_t addition=0)
 
+bool IsExternal () const
 
+bool IsSelectorOrOffset () const
 
+bool ComesBefore () const
 
+size_t GetSourceSize () const
 
+void DecrementSingleSourceOffset (size_t amount)
 
+bool IsSelector () const
 
+bool IsSourceList () const
 
+bool IsAdditive () const
 
+size_t GetTargetSize () const
 
+size_t GetAdditiveSize () const
 
+size_t GetModuleSize () const
 
+size_t GetOrdinalSize () const
 
+void CalculateSizes (compatibility_type compatibility)
 
+size_t GetSize () const
 
+void WriteFile (Linker::Writer &wr, compatibility_type compatibility)
 
- Public Member Functions inherited from Linker::Writer
Writer (EndianType endiantype, std::ostream *out=nullptr)
 
+void WriteData (size_t count, const void *data)
 Write out a sequence of bytes.
 
+void WriteData (size_t count, std::string text, char padding='\0')
 Write a string, possibly truncated or zero padded.
 
+void WriteData (std::string text)
 Write a string.
 
+void WriteData (size_t count, std::istream &in)
 Write data using an input stream as the source of data.
 
+void WriteWord (size_t bytes, uint64_t value, EndianType endiantype)
 Read a word.
 
+void WriteWord (size_t bytes, uint64_t value)
 Read a word.
 
+void Seek (offset_t offset)
 Jump to a specific location in the ouput stream.
 
+void Skip (offset_t offset)
 Jump to a distance in the output stream.
 
+void SeekEnd (offset_t offset=0)
 Jump to a specific offset from the end.
 
+offset_t Tell ()
 Retrieve the current location.
 
+void FillTo (offset_t position)
 Move to a specific offset, fill with zeroes if needed.
 
+void AlignTo (offset_t align)
 Align the current pointer.
 
+ + + +

+Static Public Member Functions

+static source_type GetType (Linker::Relocation &rel)
 
+ + + + + + + + + + + + + + + + +

+Public Attributes

+enum Microsoft::LEFormat::Page::Relocation::source_type type
 
+enum Microsoft::LEFormat::Page::Relocation::flag_type flags
 
+uint16_t uint32_t target
 
+uint32_t addition
 
- Public Attributes inherited from Linker::Writer
+EndianType endiantype
 The default endianness of the binary format, used for reading multibyte numeric data.
 
+std::ostream * out
 The input stream.
 
+ + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Linker::Writer
+void ForceSeek (offset_t offset)
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/leexe.h
  • +
  • src/format/leexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.png b/html/classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a701c6818c6a5847b75b5625538a873dd3f3fd GIT binary patch literal 729 zcmV;~0w(>5P)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0007H zNklvFR&3`Ez_=@4lM91(Xlq9e4tvw73tHClXC-Y>(aGssR z=h!liBrozc!{`=s-PtC$A^PmcX&g!3!uR%Y7wyz!{5?KN4N3AY{>E_r`NXh}Bgt!g z+pz4IRj;Xv)|_Fl`g(>>-@{mDnc-S~xl7A1k0Z%jxYv**pN1Qfq;1@gByHn{Bx#%f z!f=|VX=DK4Pk8~r&$o8R*v1V3z&36O0Jd>M0I-c4 z0)TDY5CClBh5%q2Hv|CNxFG=8#ti|$Hf{(2wsAuMxR($@7#ajg8W=Z}B-^;5B-v&+ z+(duIPn<(I!nPHbpJSAy9>=vG#O5Kr=w9N7VI1GxF1bx*_$Gz6;rlC!kP|~ms%RN5 z>BsYBr?%tu|2lI#*q&jsMqDSmzDWPLNpjW-$%2cNlAz-bN0qLh?E4+#_v7q?YOZ0J zt+Cv)ap9JJGT&UjoIJ}VS>)U>%W|8_SM9%tl0r`QD4OqKm2@7`G|Vn-E|7MbM6Y2O z_x;SUw}*LV@hLQ0PO=3_nI@&Vh7^YB{3XNwL;i(f`S^?AdUx_FZAG2DMb)=ORR^aT ze#tP|%G&Vb_wcRZ(Fe0OS2VOer|f&M?xjVQ#!i + + + + + + +RetroLinker: Microsoft::LEFormat::Resource Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::LEFormat::Resource Class Reference
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classMicrosoft_1_1MZFormat-members.html b/html/classMicrosoft_1_1MZFormat-members.html new file mode 100644 index 00000000..30b142ab --- /dev/null +++ b/html/classMicrosoft_1_1MZFormat-members.html @@ -0,0 +1,195 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::MZFormat Member List
+
+
+ +

This is the complete list of members for Microsoft::MZFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues() overrideMicrosoft::MZFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
checksumMicrosoft::MZFormat
Clear() overrideMicrosoft::MZFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
CreateDefaultSegments()Microsoft::MZFormat
csMicrosoft::MZFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data_segmentMicrosoft::MZFormat
Dump(Dumper::Dumper &dump) overrideMicrosoft::MZFormatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extra_parasMicrosoft::MZFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
file_size_blocksMicrosoft::MZFormat
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Microsoft::MZFormat)Microsoft::MZFormatvirtual
FormatIs16bit() const overrideMicrosoft::MZFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideMicrosoft::MZFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideMicrosoft::MZFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDataSize() const (defined in Microsoft::MZFormat)Microsoft::MZFormat
GetDefaultExtension(Linker::Module &module, std::string filename) overrideMicrosoft::MZFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetFileSize() const (defined in Microsoft::MZFormat)Microsoft::MZFormat
GetHeaderSize() (defined in Microsoft::MZFormat)Microsoft::MZFormat
GetPifOffset() const (defined in Microsoft::MZFormat)Microsoft::MZFormat
GetScript(Linker::Module &module) (defined in Microsoft::MZFormat)Microsoft::MZFormat
GetSignature() const (defined in Microsoft::MZFormat)Microsoft::MZFormat
header_size_parasMicrosoft::MZFormat
imageMicrosoft::MZFormat
Initialize() overrideMicrosoft::MZFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
ipMicrosoft::MZFormat
last_block_sizeMicrosoft::MZFormat
Link(Linker::Module &module)Microsoft::MZFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
MAGIC_DL enum valueMicrosoft::MZFormat
MAGIC_MZ enum valueMicrosoft::MZFormat
magic_type enum nameMicrosoft::MZFormat
MAGIC_ZM enum valueMicrosoft::MZFormat
max_extra_parasMicrosoft::MZFormat
memory_modelMicrosoft::MZFormat
memory_model_t enum nameMicrosoft::MZFormat
min_extra_parasMicrosoft::MZFormat
MODEL_COMPACT enum valueMicrosoft::MZFormat
MODEL_DEFAULT enum valueMicrosoft::MZFormat
MODEL_LARGE enum valueMicrosoft::MZFormat
MODEL_SMALL enum valueMicrosoft::MZFormat
MODEL_TINY enum valueMicrosoft::MZFormat
MZFormat() (defined in Microsoft::MZFormat)Microsoft::MZFormatinline
OnNewSegment(Linker::Segment *segment) overrideMicrosoft::MZFormatvirtual
option_file_alignMicrosoft::MZFormat
option_header_alignMicrosoft::MZFormat
overlay_numberMicrosoft::MZFormat
pifMicrosoft::MZFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideMicrosoft::MZFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideMicrosoft::MZFormatvirtual
relocation_countMicrosoft::MZFormat
relocation_offsetMicrosoft::MZFormat
relocationsMicrosoft::MZFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetFileSize(uint32_t size) (defined in Microsoft::MZFormat)Microsoft::MZFormat
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideMicrosoft::MZFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideMicrosoft::MZFormatvirtual
SetSignature(magic_type magic) (defined in Microsoft::MZFormat)Microsoft::MZFormat
signatureMicrosoft::MZFormat
spMicrosoft::MZFormat
ssMicrosoft::MZFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideMicrosoft::MZFormatvirtual
zero_fillMicrosoft::MZFormat
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZFormat() (defined in Microsoft::MZFormat)Microsoft::MZFormatinline
+ + + + diff --git a/html/classMicrosoft_1_1MZFormat.html b/html/classMicrosoft_1_1MZFormat.html new file mode 100644 index 00000000..71291b01 --- /dev/null +++ b/html/classMicrosoft_1_1MZFormat.html @@ -0,0 +1,983 @@ + + + + + + + +RetroLinker: Microsoft::MZFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::MZFormat Class Reference
+
+
+ +

MZ .EXE format for MS-DOS. + More...

+ +

#include <mzexe.h>

+
+Inheritance diagram for Microsoft::MZFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + +

+Classes

struct  PIF
 Concurrent DOS embedded program information, produced by PIFED. More...
 
struct  Relocation
 Represents a relocation entry in the header, as a pair of 16-bit words. More...
 
+ + + + + + + +

+Public Types

enum  magic_type { MAGIC_MZ = 1 +, MAGIC_ZM +, MAGIC_DL + }
 Type of magic number, usually "MZ". More...
 
enum  memory_model_t {
+  MODEL_DEFAULT +, MODEL_TINY +, MODEL_SMALL +, MODEL_COMPACT +,
+  MODEL_LARGE +
+ }
 Represents the memory model of the running executable, which is the way in which the segments are set up during execution. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+uint32_t GetFileSize () const
 
+magic_type GetSignature () const
 
+void SetSignature (magic_type magic)
 
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
+void SetFileSize (uint32_t size)
 
+uint32_t GetHeaderSize ()
 
+uint32_t GetPifOffset () const
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 Create the required segments, if they have not already been allocated. The MZ format uses a single segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 Link application according to script or memory model ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
+uint32_t GetDataSize () const
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+char signature [2]
 The magic number at the start of the executable file, usually "MZ".
 
+uint16_t last_block_size
 Size of last 512 byte block, 0 if full. Set by CalculateValues.
 
+uint16_t file_size_blocks
 Size of MZ image in 512 blocks, rounded up. Set by CalculateValues.
 
+uint16_t relocation_count
 Number of relocations. Updated by CalculateValues.
 
+uint16_t header_size_paras
 Size of MZ header. Updated by CalculateValues.
 
+uint16_t min_extra_paras
 Minimum required extra memory, in paragraphs.
 
+uint16_t max_extra_paras
 Maximum required extra memory, in paragraphs. Set by CalculateValues using extra_paras.
 
+uint16_t ss
 Initial value for the stack segment (SS)
 
+uint16_t sp
 Initial value for the stack (SP)
 
+uint16_t checksum
 Checksum.
 
+uint16_t ip
 Entry point initial value for IP.
 
+uint16_t cs
 Initial value for the code segment (CS)
 
+uint16_t relocation_offset
 Offset to first relocation. Updated by CalculateValues.
 
+uint16_t overlay_number
 Overlay number, should be 0 for main programs, not used for .exm files.
 
+uint16_t data_segment
 Starting paragraph of program data, only required for .exm files.
 
+std::vector< Relocationrelocations
 Address relocation offsets to paragraph fixups.
 
+PIFpif
 Concurrent DOS program information entry, allocated only if present.
 
+Linker::Writableimage
 The program image, placed after the MZ header.
 
+memory_model_t memory_model
 Memory model of generated executable.
 
+uint16_t extra_paras
 Required maximum extra paragraphs after bss.
 
+uint32_t zero_fill
 Total size of bss and stack.
 
+uint32_t option_header_align
 User provided alignment value for header size.
 
+uint32_t option_file_align
 User provided alignment value for file align.
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

MZ .EXE format for MS-DOS.

+

The native .exe file format for MS-DOS, developed as an upgrade from the earlier flat binary .com file format. They are named after their identification code "MZ" that appears as the first two bytes of executables.

+

HP 100LX/200LX System Manager modules (file extension .exm) use a variant of this format, with "MZ" replaced with "DL", executable and non-executable parts separated into separate segments, and the field at offset 0x1A storing the segment of the data segment.

+

First appeared probably around MS-DOS 1.0 (they were absent from PC DOS 0.9), they were initially identified by the new file extension ".exe". Since MS-DOS 2.0, MZ executables may also have the extension ".com", as DOS only looks at the first two bytes to determine the file format.

+

Member Enumeration Documentation

+ +

◆ magic_type

+ +
+
+ +

Type of magic number, usually "MZ".

+ + + + +
Enumerator
MAGIC_MZ 

The most common magic number "MZ".

+
MAGIC_ZM 

According to some sources such as Ralf Brown's interrupt list, some early excutables started with the sequence "ZM" instead.

+
MAGIC_DL 

HP 100LX/200LX System Manager modules (.exm) use the magic number "DL".

+
+ +
+
+ +

◆ memory_model_t

+ +
+
+ +

Represents the memory model of the running executable, which is the way in which the segments are set up during execution.

+ + + + + + +
Enumerator
MODEL_DEFAULT 

Default model, same as small.

+
MODEL_TINY 

Tiny model, code and data segment are the same.

+
MODEL_SMALL 

Small model, separate code and data segments.

+
MODEL_COMPACT 

Compact model, separate code and multiple data segments.

+
MODEL_LARGE 

Large model, every section is a separate segment.

+
+ +
+
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Clear()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::Clear ()
+
+overridevirtual
+
+ +

Resets all fields to their default values, deallocate memory.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ Dump()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::Dump (Dumper::Dumper & dump)
+
+overridevirtual
+
+ +

Display file contents in a nice manner.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned MZFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatIs16bit()

+ +
+
+ + + + + +
+ + + + + + + +
bool MZFormat::FormatIs16bit () const
+
+overridevirtual
+
+ +

Whether the format is 16-bit or not.

+

This is needed for the ELF parser which can not distinguish between the 8086 and 80386 backends.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool MZFormat::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void MZFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string MZFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ Initialize()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::Initialize ()
+
+overridevirtual
+
+ +

Sets all fields to their default values.

+ +

Reimplemented from Linker::Format.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::SetModel (std::string model)
+
+overridevirtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MZFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/mzexe.h
  • +
  • src/format/mzexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1MZFormat.png b/html/classMicrosoft_1_1MZFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..c35f80557eca418e8207d435d1cc9386e50c7804 GIT binary patch literal 1625 zcmb_dX;6~~5dFSDL@5v%Zk5Zc1Z|ZY10<1xXgH(h4If_V93%hLV$3Eqp{OJow5JAKX&)MeX}#Wvoo9Q>|`e|dq5Td z0Qn2&ZCn5V)RE*#d!-~k*rzi=5)L{$xZ3XS?n=^`c~LmIy~O-9JXk%mcZSVoOL&v_ zmkTAeePJ$6SU`gRHZw>L69Ax77i`YDMuPmjxu6w&Ia{|R<0Uals5^2!G^C*FQr8D> zLm+Vx({oQQ0{z3J^n4Rb9>5hfo*g zI+045sz0$jytwq+qzwD}=?HwR+8Uyyvm#W#_V(a0ulLWv(^2Hf1#m2;m(1lblAJ6MfmRXz0h4W+SR$)XzNqqQY3%p4Def z$6PQxYbe8toHpLG+je_oF61CpCZvEn3PHqVxnxU3A1@9#V&GOTW6UhO)xh6Rn3&b= zybN3r>=@^CacLDO*x=6cmf@T5u!V59h6s;3V&ce<>Vg2J#Df9d z6>8MXwaIIINcUnB^YJ9FuWBP^(qId}jnEdaNUj>Y;iVr-k@D}@4M6*Q!JcQF!~Rm* z#2IclPiu^th@itd@F=d6<#DGxt|G%=Y*So;b!dtV(Xmo51>U!Xnnv@Zd*deR`jm)c zWtJy3OgaT2{S7IIFh%_KHW|2D)K(CWJ$f|<{^B@#RG^CE65!mlax)XYKOvn{eh54U zv)2sL%oDGAm2<=6Ll^nuTnHm+=bjNZc}R)#Fdk7BrcuRZ36-%VSIzbN1EN*RyoNId zzFoYUdgvScY~s4ZXR6_RNqRrtug_h6<{u^o6pdiuJREdIiSPzLE~i(N-ltC@EDB|P zMeTNDxI!$3M~&`nVsqHa_VA*6`Z{Wa5s1Hs|E)lw{F*GIv62P@3Aj@LeyO?)kPfb5 zz0=jbm?Mh@)_OdIcHJL}A^S;Xdi}tCNz4bNz4QQ3T~hrLWX*||z9ykcT6ik0F!+D# zzT9Q=9Vx@dJ$G*_MO9HzO%{Fl@O?;XQc^x}^zd~(AUR2W308``A(sC0<^04h(RuY6-<`)Jh?oh_V}4P(?6DOiqg(-SMDn>DZxVqP_DQ2dlg7ihdB$HW|c2 z%}l)MC$r*|R`d39n=3cUZIK#`DV!i1%qvb=@Vu)qoVkNWXZJy=+14yl*lMoq8kBmu zdsm(MP}xGNUkMKqeIMi@m(|`lc5VH^ZBg(=5tucNe(;Fr?ihMH(mx;GQA-t + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::MZSimpleStubWriter Member List
+
+
+ +

This is the complete list of members for Microsoft::MZSimpleStubWriter, including all inherited members.

+ + + + + + + + + + + +
GetStubImageSize() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
MZSimpleStubWriter(std::string stub_file="") (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinline
OpenAndCheckValidFile() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
stub (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
stub_file (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
stub_file_valid (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
stub_size (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
WriteStubImage(std::ostream &out) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriter
~MZSimpleStubWriter() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinline
+ + + + diff --git a/html/classMicrosoft_1_1MZSimpleStubWriter.html b/html/classMicrosoft_1_1MZSimpleStubWriter.html new file mode 100644 index 00000000..e1aa1c90 --- /dev/null +++ b/html/classMicrosoft_1_1MZSimpleStubWriter.html @@ -0,0 +1,141 @@ + + + + + + + +RetroLinker: Microsoft::MZSimpleStubWriter Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::MZSimpleStubWriter Class Reference
+
+
+
+Inheritance diagram for Microsoft::MZSimpleStubWriter:
+
+
+ + +AOut::AOutFormat +COFF::COFFFormat +Microsoft::PEFormat + +
+ + + + + + + + + + + + +

+Public Member Functions

MZSimpleStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
+ + + + + + + + + +

+Public Attributes

+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+offset_t stub_size
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/mzexe.h
  • +
  • src/format/mzexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1MZSimpleStubWriter.png b/html/classMicrosoft_1_1MZSimpleStubWriter.png new file mode 100644 index 0000000000000000000000000000000000000000..328b1e174b0e41c08bebaf1d1abbf581ee704ea3 GIT binary patch literal 1409 zcmeAS@N?(olHy`uVBq!ia0y~yU~B-gJ2;qu3f*F8(FfeDDeT9L6mB-V?F{Fa=?cB(+R|W#C zr?0D9?)@)n-=uz0SdIUMgkFH4VJ>fM(QEMsCrx}W&kp$NZ7qwd)G0>3JV4X$3(G+PS&iCn15w9=ZjnWIy-JG z_PYJ(nqvIx+OwBpRm+_Zw0Sms-Yjw<|3Ti(yW8d|t^5Dy&&&1eI3nKMU3gwEqMjck^sp76V0a&?usAuo!^q*{boJKimt;x2SU^0;Try*XbkK{rslw61Vpo(*I7f>qsF7p8jdUE0vQy!JWIjTOPsOxLPr z{*AHo$Y#3ti*v=M+fzIKNyzvgemH-himp)cTA|n@5)pFOF7I_te;j!KyV=~+#*DG= z-~VQDaj}`{-k-uKC|I7r$iS_`pfK?|XGcecikN`l#12*$7nLNSTxW!Xi;L2Gr3IO@ zp3Py9Xz<;~z~jIt#xUXd_369}OA;9wDq}w7Gc!a+FgR%W**hqSF(feXG%!{u>NzrW zMldum8ZfXuXx+iW2sDnNx+XSGJ)aRMzoUKo4V(117FGrc2Id5YxDIat0(yUM$-O;q z%J&EtZO`RPL=-%iA7N6_6y%<;#6`zplF&v5Pp>C&jAt*z#c5Cf?p(Jn+dcJJARAP(r9rym&Edr`pCX2>kosUVC?r;objLjE8$xb=4^V4c{5;VEATQ!`ul+x2>#u z>2L07bu3=P@&Dc_yIFdczuwkxcf#Gs|D8f#BpCg*9h1wJ7jM(9)n>ZpG>J7Ncoo;v znk%;(Z!-OAUt?YS>+^Dn66=&T!As|T+_`s)tLC&Nw(rCO{4!@9{3Ku}_G8ABQ$ouZ^se46FOKKKv4;dTTp~i zk-NeF_O`c|f8^cXRx8EueEHNR!AXphrgX4+1SyFrcy>lKsHlGOWSX^7cAwWJF<;|W zQ~UJ`|L&~cq2MVkBl-9+ONr*rsXLVFCpXO8;moA^QcYfK!Tqzb^LEMFy7E-l?AWEg z;Kh>HD_%KF%KH$hy5jcL*m-TTcE2?2N{yeDYA$&7%$~QNZ)Od#l+nA&RCbQR z)A#I^wX7bOda{FF`P!a;c*d=kEoX~2<6afdU7f5`EMqhs_X|7_Qt{MYlXF%2=Vpcm z4g)BJ}DFjAi5kCc0^4#0r0{K@Y3 X{PE$)^WO!5g(ZWhtDnm{r-UW|#(q_| literal 0 HcmV?d00001 diff --git a/html/classMicrosoft_1_1MZStubWriter-members.html b/html/classMicrosoft_1_1MZStubWriter-members.html new file mode 100644 index 00000000..4df8fa9a --- /dev/null +++ b/html/classMicrosoft_1_1MZStubWriter-members.html @@ -0,0 +1,107 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::MZStubWriter Member List
+
+
+ +

This is the complete list of members for Microsoft::MZStubWriter, including all inherited members.

+ + + + + + + + + + + + + + + + + +
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinline
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriter
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinline
+ + + + diff --git a/html/classMicrosoft_1_1MZStubWriter.html b/html/classMicrosoft_1_1MZStubWriter.html new file mode 100644 index 00000000..a2ab24d0 --- /dev/null +++ b/html/classMicrosoft_1_1MZStubWriter.html @@ -0,0 +1,164 @@ + + + + + + + +RetroLinker: Microsoft::MZStubWriter Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::MZStubWriter Class Reference
+
+
+
+Inheritance diagram for Microsoft::MZStubWriter:
+
+
+ + +DOS16M::BWFormat +Microsoft::LEFormat +Microsoft::NEFormat +Microsoft::PEFormat +PharLap::MPFormat +PharLap::P3Format +PharLap::P3Format::Flat +PharLap::P3Format::MultiSegmented + +
+ + + + + + + + + + + + +

+Public Member Functions

MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/mzexe.h
  • +
  • src/format/mzexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1MZStubWriter.png b/html/classMicrosoft_1_1MZStubWriter.png new file mode 100644 index 0000000000000000000000000000000000000000..9eeb8eaa67cc8f16559c6933d6eece5d3bb10ff3 GIT binary patch literal 2910 zcmb_edsLEX8rQL`%yK6?nwnZiCY^IiYi&legsx*$YPM}*C7R+r(=-L;*4o8dH4;lB zQf#_7Gcg)5rip->*Tl?BND(17yo88?h=Ra=d^&sfoIShEAN&0Ay_e^F&+~hJ&-*^l zd*f(Oz$z<8D>E~*Rq%uRkC~Y*r33Tp%PoNKuB&IR1B27iBgYRIjYeQPI<8J9HJ1Bs z{WfJ?F>h2NkpTPOb)I+x=vG`j7W5Z0U=51TSJd}rW>#bH{dWF(E>C;UGRG5m_ZPq$5!>7`<_NgpG676F2!y%Y~ZV?fUmTI7Dp>9D@%^sMKXM)op@%&W`r3pJ;^y!35_nR(4 zMQx(`fg~r1gciasPG_0oc)V!)9|%R`&N0;mdT>UGKW@#8K0}x^A}@7L1I$6e=m2v! z)xW)ujbxJ)6odj@GLm68)D@-I3P5MJFGJ~FcQg=wk8@XR7NO3&vKojcJc0h8tSlm> zxK-;>8t|rAb5W4SK+17;vc7FT)XrgVkSObk00sdrgVJ@v!kr50{h}FZpMa~8zi^WK z;9&I>1Xoc*WOv3e=MI5XiQmAc-CxvyCutMBD@o zS`|sfT)v5OE4#;xYuSKAXU3-|f~h_Xa=WKtXnXI!r`nY6MX?@o1!tQB766zI$f8`H zT?WoNx&h7_lC>J8K!()R3edHnm+b5SZ2`AoMM2_X?Ea1GG-FOdWo z8r)=;wmx6I+zmTx{?UFq_p8PA@19H}Oljj1y6j3p`tEgouWXic%fi>LTUdk9E`DYU zh?8x88}jHDjcqQ3-Lp&eKh`g0dGuoj|F`RU{{m9cxtfSFD0ZH|dGKNCX8s6VcEYsyk<(KVSDqtIxgE`=>l8fHxwi^ zv~wE2mb9Ah>c0rc-@IG%xjT5Ul=|j>Yu3|k?o{UJw%8zIKrxNoyr-XnmfOwQg5b! ziRF?06jXKXST@=T=OAFTwZy(Hh+ZmB3i)H?4jGMS0HufgG3IsSv!Bd&^GDL z5ziit6!qrx8}us#F|A2ofwtzgF`)A?!Gs!jah{$e?Cug89=I_ddTr!0yRb@^^~TZh zVz%>mkV;e+Ev6)6Un;H;eI(~g4-m86JN!<49PhbD$jZ?~`^A!b2YOYa4Sbl>1$#3YJC~)xB7O+@-B8a@{5ry_jXv4w zqdRU7WYB2tId8iwj1T{?DUoV?U&{Gbb5~)>FpOPq-N^00ylTlB9IK4NW3Vv1m;1;u zGVYZq3SY-@ZPt#cMC@qV8+0b!_}RA3U~y*F9aBet*jti09AHW&wNkza1uDZW(+LBfKLN9MG(F6{AbHX|~`+Q0iPqyd=aV(30%tn|?${0-& ze`UsEJeVo(A3TXxGSk<~PIsYI2x3&z!{wsrx^0mqki%%T{WtI;@WK!h>uFa#;1$zY zn#48#1H!#so%M@*dz)Vbd0=-`2}JYu3tM^P6w52&Z@mtYt;M|Y<{w+5XjVRev&LUk~Dt9@`|YdW-|?!!BHA#s_11Ap$1)L z6ueFl7;E z!A9zVxVuon?Vc>u?W>E}{x9m9CV&wm*=VYY#k;yM0YD~ifwd4II>*!`8@%J_g(zQB zQ`>d9#Seb%e{9y&L_Za91u_U_r|Rt#veG954eP^Y{3dG2k#j$&m3 zzLeHG^I0zT3|53tHSw-@%u@jTj*pL_czUnwMy0(GiugmDvvV^)Vhk70bYW$CIb` z+uwmeEn)fUkjgi^RNY8d{zM!#wD%?$o`XyrY5<-X!r^D~zH$=LYB)CuII|LmfsK6E zCFt7-aq3**suS(gsq3fy`e*ii2;q5{>2!4sl`{zKEeYZR0aw4z%Q#HQ6enpU(-Rj+ zgBr0jdgkw}a`LCd@D^=x5fM|h?;P4|hyNQCO;j+b1P>eE5@MF2azY7M)x~2n7z9pyGNud2=`jsSG%4 vA5Hgb(%Ml5aR~bFn-OeerR&>QHnT94r&MPPznTfWgw5awg7#PJjmZ8dVF|;@ literal 0 HcmV?d00001 diff --git a/html/classMicrosoft_1_1NEFormat-members.html b/html/classMicrosoft_1_1NEFormat-members.html new file mode 100644 index 00000000..ed51b76c --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat-members.html @@ -0,0 +1,267 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::NEFormat Member List
+
+
+ +

This is the complete list of members for Microsoft::NEFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
additional_flag_type enum name (defined in Microsoft::NEFormat)Microsoft::NEFormat
additional_flags (defined in Microsoft::NEFormat)Microsoft::NEFormat
AddSegment(const Segment &segment) (defined in Microsoft::NEFormat)Microsoft::NEFormat
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
application_flag_type enum name (defined in Microsoft::NEFormat)Microsoft::NEFormat
application_flags (defined in Microsoft::NEFormat)Microsoft::NEFormat
automatic_data (defined in Microsoft::NEFormat)Microsoft::NEFormat
BorlandOSS enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CalculateValues() overrideMicrosoft::NEFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
code_swap_area_length (defined in Microsoft::NEFormat)Microsoft::NEFormat
compatibility (defined in Microsoft::NEFormat)Microsoft::NEFormat
compatibility_type enum name (defined in Microsoft::NEFormat)Microsoft::NEFormat
CompatibleGNU enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CompatibleMicrosoft enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CompatibleNone enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CompatibleWatcom enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CountBundles(size_t entry_index) (defined in Microsoft::NEFormat)Microsoft::NEFormat
CPU_80286 enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CPU_80386 enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CPU_8086 enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CPU_8087 enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
CreateConsoleApplication(system_type system=Windows) (defined in Microsoft::NEFormat)Microsoft::NEFormatstatic
CreateGUIApplication(system_type system=Windows) (defined in Microsoft::NEFormat)Microsoft::NEFormatstatic
CreateLibraryModule(system_type system=Windows) (defined in Microsoft::NEFormat)Microsoft::NEFormatstatic
cs (defined in Microsoft::NEFormat)Microsoft::NEFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
entries (defined in Microsoft::NEFormat)Microsoft::NEFormat
entry_table_length (defined in Microsoft::NEFormat)Microsoft::NEFormat
entry_table_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
ERROR_IN_IMAGE enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FAMILY_APPLICATION enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
FAST_LOAD_AREA enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
fast_load_area_length (defined in Microsoft::NEFormat)Microsoft::NEFormat
fast_load_area_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
FetchImportedName(std::string name) (defined in Microsoft::NEFormat)Microsoft::NEFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchModule(std::string name) (defined in Microsoft::NEFormat)Microsoft::NEFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in Microsoft::NEFormat)Microsoft::NEFormatvirtual
FormatIs16bit() const overrideMicrosoft::NEFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() const overrideMicrosoft::NEFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overrideMicrosoft::NEFormatvirtual
FULLSCREEN enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
GenerateFile(std::string filename, Linker::Module &module) overrideMicrosoft::NEFormatvirtual
GetCodeSegmentFlags() const (defined in Microsoft::NEFormat)Microsoft::NEFormat
GetCurrentAddress() constLinker::LinkerManager
GetDataSegmentFlags() const (defined in Microsoft::NEFormat)Microsoft::NEFormat
GetDefaultExtension(Linker::Module &module, std::string filename) overrideMicrosoft::NEFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in Microsoft::NEFormat)Microsoft::NEFormat
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
GLOBAL_INITIALIZATION enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
GUI enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
GUI_AWARE enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
heap (defined in Microsoft::NEFormat)Microsoft::NEFormat
heap_size (defined in Microsoft::NEFormat)Microsoft::NEFormat
imported_name_offsets (defined in Microsoft::NEFormat)Microsoft::NEFormat
imported_names (defined in Microsoft::NEFormat)Microsoft::NEFormat
imported_names_length (defined in Microsoft::NEFormat)Microsoft::NEFormat
imported_names_table_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
ip (defined in Microsoft::NEFormat)Microsoft::NEFormat
IsLibrary() const (defined in Microsoft::NEFormat)Microsoft::NEFormat
LIBRARY enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
Link(Linker::Module &module) (defined in Microsoft::NEFormat)Microsoft::NEFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
linker_version (defined in Microsoft::NEFormat)Microsoft::NEFormat
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
MakeEntry(Linker::Position value) (defined in Microsoft::NEFormat)Microsoft::NEFormat
MakeEntry(uint16_t ordinal, Linker::Position value) (defined in Microsoft::NEFormat)Microsoft::NEFormat
MakeProcedureName(std::string name) (defined in Microsoft::NEFormat)Microsoft::NEFormat
memory_model (defined in Microsoft::NEFormat)Microsoft::NEFormat
memory_model_t enum name (defined in Microsoft::NEFormat)Microsoft::NEFormat
MODEL_LARGE enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
MODEL_SMALL enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
module_name (defined in Microsoft::NEFormat)Microsoft::NEFormat
module_reference_offsets (defined in Microsoft::NEFormat)Microsoft::NEFormat
module_reference_table_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
module_references (defined in Microsoft::NEFormat)Microsoft::NEFormat
movable_entry_count (defined in Microsoft::NEFormat)Microsoft::NEFormat
MSDOS4 enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
MULTIPLEDATA enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
NEFormat(system_type system, unsigned program_flags, unsigned application_flags) (defined in Microsoft::NEFormat)Microsoft::NEFormatinline
NODATA enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
nonresident_name_table_length (defined in Microsoft::NEFormat)Microsoft::NEFormat
nonresident_name_table_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
nonresident_names (defined in Microsoft::NEFormat)Microsoft::NEFormat
OnNewSegment(Linker::Segment *segment) overrideMicrosoft::NEFormatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
option_capitalize_names (defined in Microsoft::NEFormat)Microsoft::NEFormat
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
OS2 enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
PharLap enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideMicrosoft::NEFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
program_flag_type enum name (defined in Microsoft::NEFormat)Microsoft::NEFormat
program_flags (defined in Microsoft::NEFormat)Microsoft::NEFormat
program_name (defined in Microsoft::NEFormat)Microsoft::NEFormat
PROTECTED_MODE_ONLY enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
ReadFile(Linker::Reader &rd) overrideMicrosoft::NEFormatvirtual
resident_name_table_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
resident_names (defined in Microsoft::NEFormat)Microsoft::NEFormat
resource_table_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
resources (defined in Microsoft::NEFormat)Microsoft::NEFormat
return_thunks_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
sector_shift (defined in Microsoft::NEFormat)Microsoft::NEFormat
segment_index (defined in Microsoft::NEFormat)Microsoft::NEFormat
segment_mapLinker::LinkerManager
segment_reference_thunks_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
segment_table_offset (defined in Microsoft::NEFormat)Microsoft::NEFormat
segment_vectorLinker::LinkerManager
segments (defined in Microsoft::NEFormat)Microsoft::NEFormat
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model) overrideMicrosoft::NEFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideMicrosoft::NEFormatvirtual
SimulateLinker(compatibility_type compatibility) (defined in Microsoft::NEFormat)Microsoft::NEFormat
SINGLEDATA enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
sp (defined in Microsoft::NEFormat)Microsoft::NEFormat
ss (defined in Microsoft::NEFormat)Microsoft::NEFormat
stack (defined in Microsoft::NEFormat)Microsoft::NEFormat
stack_size (defined in Microsoft::NEFormat)Microsoft::NEFormat
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
SUPPORT_LONGFILENAME enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
system (defined in Microsoft::NEFormat)Microsoft::NEFormat
system_type enum name (defined in Microsoft::NEFormat)Microsoft::NEFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WIN20_PROPORTIONAL_FONTS enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
WIN20_PROTECTED_MODE enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
Windows enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
Windows386 enum value (defined in Microsoft::NEFormat)Microsoft::NEFormat
windows_version (defined in Microsoft::NEFormat)Microsoft::NEFormat
WriteFile(Linker::Writer &wr) overrideMicrosoft::NEFormatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat.html b/html/classMicrosoft_1_1NEFormat.html new file mode 100644 index 00000000..3f24747c --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat.html @@ -0,0 +1,1045 @@ + + + + + + + +RetroLinker: Microsoft::NEFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

NE .EXE new executable file format. + More...

+ +

#include <neexe.h>

+
+Inheritance diagram for Microsoft::NEFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZStubWriter +Linker::Format + +
+ + + + + + + + + + + + + +

+Classes

class  Entry
 
struct  Name
 
class  Resource
 
class  Segment
 
struct  version
 Version number. More...
 
+ + + + + + + + + + + + + +

+Public Types

enum  system_type {
+  OS2 = 1 +, Windows +, MSDOS4 +, Windows386 +,
+  BorlandOSS +, PharLap = 0x80 +
+ }
 
enum  program_flag_type {
+  NODATA = 0 +, SINGLEDATA = 1 +, MULTIPLEDATA = 2 +, GLOBAL_INITIALIZATION = 4 +,
+  PROTECTED_MODE_ONLY = 8 +, CPU_8086 = 0x10 +, CPU_80286 = 0x20 +, CPU_80386 = 0x40 +,
+  CPU_8087 = 0x80 +
+ }
 
enum  application_flag_type {
+  FULLSCREEN = 1 +, GUI_AWARE = 2 +, GUI = 3 +, FAMILY_APPLICATION = 8 +,
+  ERROR_IN_IMAGE = 0x20 +, LIBRARY = 0x80 +
+ }
 
enum  additional_flag_type { SUPPORT_LONGFILENAME = 1 +, WIN20_PROTECTED_MODE = 2 +, WIN20_PROPORTIONAL_FONTS = 4 +, FAST_LOAD_AREA = 8 + }
 
enum  compatibility_type { CompatibleNone +, CompatibleWatcom +, CompatibleMicrosoft +, CompatibleGNU + }
 
enum  memory_model_t { MODEL_SMALL +, MODEL_LARGE + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
bool FormatIs16bit () const override
 Whether the format is 16-bit or not.
 
bool FormatSupportsLibraries () const override
 Whether the format supports libraries.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
+bool IsLibrary () const
 
NEFormat (system_type system, unsigned program_flags, unsigned application_flags)
 
+NEFormatSimulateLinker (compatibility_type compatibility)
 
+unsigned GetCodeSegmentFlags () const
 
+unsigned GetDataSegmentFlags () const
 
+void AddSegment (const Segment &segment)
 
+uint16_t FetchModule (std::string name)
 
+uint16_t FetchImportedName (std::string name)
 
+std::string MakeProcedureName (std::string name)
 
+uint16_t MakeEntry (Linker::Position value)
 
+uint16_t MakeEntry (uint16_t ordinal, Linker::Position value)
 
+uint8_t CountBundles (size_t entry_index)
 
void SetModel (std::string model) override
 Sets the way memory is organized, typically modifying a built-in script.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + +

+Static Public Member Functions

+static NEFormatCreateConsoleApplication (system_type system=Windows)
 
+static NEFormatCreateGUIApplication (system_type system=Windows)
 
+static NEFormatCreateLibraryModule (system_type system=Windows)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+enum Microsoft::NEFormat::system_type system
 
+enum Microsoft::NEFormat::program_flag_type program_flags
 
+enum Microsoft::NEFormat::application_flag_type application_flags
 
+enum Microsoft::NEFormat::additional_flag_type additional_flags
 
+enum Microsoft::NEFormat::compatibility_type compatibility
 
+struct Microsoft::NEFormat::version linker_version
 
+struct Microsoft::NEFormat::version windows_version
 
+uint16_t automatic_data
 
+uint16_t heap_size
 
+uint16_t stack_size
 
+uint16_t ss
 
+uint16_t sp
 
+uint16_t cs
 
+uint16_t ip
 
+uint16_t sector_shift
 
+uint32_t segment_table_offset
 
+uint32_t resource_table_offset
 
+uint32_t resident_name_table_offset
 
+uint32_t module_reference_table_offset
 
+uint32_t imported_names_table_offset
 
+uint32_t entry_table_offset
 
+uint32_t entry_table_length
 
+uint16_t movable_entry_count
 
+uint32_t nonresident_name_table_length
 
+uint32_t nonresident_name_table_offset
 
+union { 
 
+   uint16_t   fast_load_area_offset 
 
+   uint16_t   return_thunks_offset 
 
};  
 
+union { 
 
+   uint16_t   fast_load_area_length 
 
+   uint16_t   segment_reference_thunks_offset 
 
};  
 
+uint16_t code_swap_area_length
 
+Linker::Segmentstack
 
+Linker::Segmentheap
 
+std::vector< Segmentsegments
 
+std::map< Linker::Segment *, size_t > segment_index
 
+std::vector< Resourceresources
 
+std::vector< Nameresident_names
 
+std::vector< Namenonresident_names
 
+std::vector< uint16_t > module_references
 
+std::map< std::string, uint16_t > module_reference_offsets
 
+std::vector< std::string > imported_names
 
+std::map< std::string, uint16_t > imported_name_offsets
 
+uint16_t imported_names_length
 
+std::vector< Entryentries
 
+std::string module_name
 
+std::string program_name
 
+bool option_capitalize_names
 
+enum Microsoft::NEFormat::memory_model_t memory_model
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Detailed Description

+

NE .EXE new executable file format.

+

A segmented 16-bit format First introduced for Windows, it supported multiple segments, resources, dynamic libraries among others. It was later also adopted for the following targets:

    +
  • 16-bit Windows applications
  • +
  • 16-bit OS/2 applications
  • +
  • a Multitasking variant of MS-DOS referred to as European MS-DOS 4.0
  • +
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void NEFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned NEFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatIs16bit()

+ +
+
+ + + + + +
+ + + + + + + +
bool NEFormat::FormatIs16bit () const
+
+overridevirtual
+
+ +

Whether the format is 16-bit or not.

+

This is needed for the ELF parser which can not distinguish between the 8086 and 80386 backends.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsLibraries()

+ +
+
+ + + + + +
+ + + + + + + +
bool NEFormat::FormatSupportsLibraries () const
+
+overridevirtual
+
+ +

Whether the format supports libraries.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool NEFormat::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void NEFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string NEFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void NEFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void NEFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void NEFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetModel()

+ +
+
+ + + + + +
+ + + + + + + +
void NEFormat::SetModel (std::string model)
+
+overridevirtual
+
+ +

Sets the way memory is organized, typically modifying a built-in script.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void NEFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void NEFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/neexe.h
  • +
  • src/format/neexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat.png b/html/classMicrosoft_1_1NEFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..2de0a7662356ad78d674b3675040a5c79189e326 GIT binary patch literal 2026 zcmb_dYdD)}8vbaFqKZ*!C|&G!i<&rWXj-%-sya$hp>arwaXwTf8K+cs(4kH)v#PtUV};Z^VzE9+PE6vk!ZbgoVB{`jXO>;ML!%t6P&1%ezT zdfMDM2j)_UZ|$8audb9-NDrNnOX|I0+&hG*gbG7~?PuenaswPpF)~8!PKK~LG zF!rM!soo(m!Q!%&sJei{Tg%Tkgm#PY0S*$lV4%zIZ}y1r!GUXrl1zk;8Ash+6obf* zQqVCxcdgKcy+aX#>0bwdEnIknAdDn+44ZL6KB32m5i<@FL<*kuKwl+Nj_5>}KmJpc zg5QA=<;RD?EZAi;&UJ9Z3|PzmXG3jBA@{hjE=w$74|eT{tT)tC`-h20XLwlku&I%i z-dV7AXZo#dJ8pEv069uaHZICUjtZv4J?{=Gz! zOvPUI&>r+W-7v%a6X}k$oUhlG%#a0%%2YN_-8^IkH8Mi+hPFpACC#sRHDoVbCH=@= z7F#8kzZ8~eJ{ypf-nkxX$XF6yo5Wq)MUz=WvWmR5ta5BuAaiBoqwh=U%Q1&4+%ME6 z2W|$pDj}4UU+}$!ci3+z?^h&AH6J%@iQ0aucr-eOuFVhGD^fJsr{* zDVj`z9Uo)LQW|N3M*Z8@|F+o&<&3MXwR^xCpT8SKI(_`76W8x(I`d@hvkx47^fYt2 z!L=($wd1jMN$ z)ud2k^L(zJ)T-RZ0y#@Kh= zE2S(piS&;YRwHe8d+gXF#z6Hk{G1Pg)%amO+4~wPaf+*AHqpX`md5YHFLd0SRf@OUf4}cDS}+ zd{NYj2>+dol)G>6`G@fTAd@?S zAT#SJ9R~6bfV7O8s{gxBlxD<^GqwQGom;*^_s4)IYW%0=OgBISo5lLVaU4bkHE|~W zFx9drU})U5GLd zQ?mB4)4EqZ0wgt9pJTZjKF~RY?Qk(Ue zsT9jF3Tzgg*10biDfGzW@m__xk_< literal 0 HcmV?d00001 diff --git a/html/classMicrosoft_1_1NEFormat_1_1Entry-members.html b/html/classMicrosoft_1_1NEFormat_1_1Entry-members.html new file mode 100644 index 00000000..99bd305e --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat_1_1Entry-members.html @@ -0,0 +1,109 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::NEFormat::Entry Member List
+
+
+ +

This is the complete list of members for Microsoft::NEFormat::Entry, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
Entry() (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entryinline
Entry(unsigned type, uint8_t segment, unsigned flags, uint16_t offset) (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entryinline
entry_type enum name (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
Exported enum value (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
Fixed enum value (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
flag_type enum name (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
flags (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
GetEntrySize() const (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
GetIndicatorByte() const (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
INT_3Fh enum value (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
Movable enum value (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
offset (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
segment (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
SharedData enum value (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
type (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
Unused enum value (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
WordCountShift enum value (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
WriteEntry(Linker::Writer &wr) (defined in Microsoft::NEFormat::Entry)Microsoft::NEFormat::Entry
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat_1_1Entry.html b/html/classMicrosoft_1_1NEFormat_1_1Entry.html new file mode 100644 index 00000000..5b241061 --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat_1_1Entry.html @@ -0,0 +1,144 @@ + + + + + + + +RetroLinker: Microsoft::NEFormat::Entry Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::NEFormat::Entry Class Reference
+
+
+ + + + + + + + +

+Public Types

enum  entry_type { Unused +, Fixed +, Movable + }
 
enum  flag_type { Exported = 1 +, SharedData = 2 + }
 
enum  { WordCountShift = 3 +, INT_3Fh = 0x3FCD + }
 
+ + + + + + + + + +

+Public Member Functions

Entry (unsigned type, uint8_t segment, unsigned flags, uint16_t offset)
 
+offset_t GetEntrySize () const
 
+uint8_t GetIndicatorByte () const
 
+void WriteEntry (Linker::Writer &wr)
 
+ + + + + + + + + +

+Public Attributes

+enum Microsoft::NEFormat::Entry::entry_type type
 
+uint8_t segment
 
+enum Microsoft::NEFormat::Entry::flag_type flags
 
+uint16_t offset
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/neexe.h
  • +
  • src/format/neexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat_1_1Resource.html b/html/classMicrosoft_1_1NEFormat_1_1Resource.html new file mode 100644 index 00000000..24cf2c11 --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat_1_1Resource.html @@ -0,0 +1,91 @@ + + + + + + + +RetroLinker: Microsoft::NEFormat::Resource Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::NEFormat::Resource Class Reference
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat_1_1Segment-members.html b/html/classMicrosoft_1_1NEFormat_1_1Segment-members.html new file mode 100644 index 00000000..1c386554 --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat_1_1Segment-members.html @@ -0,0 +1,115 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::NEFormat::Segment Member List
+
+
+ +

This is the complete list of members for Microsoft::NEFormat::Segment, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
AddRelocation(const Relocation &rel) (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Allocated enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Code enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Data enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
data_offset (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
DebugInfo enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Discardable enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
ExecuteOnly enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Fixed enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
flag_type enum name (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
flags (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
image (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Iterated enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Loaded enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
LoadOnCall enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Movable enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
movable_entry_index (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Preload enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
PrivilegeLevelShift enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
ReadOnly enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
relocations (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Relocations enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
Segment(Linker::Segment *segment, unsigned flags) (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segmentinline
Shareable enum value (defined in Microsoft::NEFormat::Segment)Microsoft::NEFormat::Segment
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat_1_1Segment.html b/html/classMicrosoft_1_1NEFormat_1_1Segment.html new file mode 100644 index 00000000..b713da44 --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat_1_1Segment.html @@ -0,0 +1,159 @@ + + + + + + + +RetroLinker: Microsoft::NEFormat::Segment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::NEFormat::Segment Class Reference
+
+
+ + + + +

+Classes

class  Relocation
 
+ + + + + +

+Public Types

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

+Public Member Functions

Segment (Linker::Segment *segment, unsigned flags)
 
+void AddRelocation (const Relocation &rel)
 
+ + + + + + + + + + + +

+Public Attributes

+Linker::Segmentimage
 
+offset_t data_offset
 
+enum Microsoft::NEFormat::Segment::flag_type flags
 
+uint16_t movable_entry_index
 
+std::map< uint16_t, Relocationrelocations
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/neexe.h
  • +
  • src/format/neexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation-members.html b/html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation-members.html new file mode 100644 index 00000000..1d8db8b7 --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation-members.html @@ -0,0 +1,121 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::NEFormat::Segment::Relocation Member List
+
+
+ +

This is the complete list of members for Microsoft::NEFormat::Segment::Relocation, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Additive enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FIARQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FICRQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FIDRQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FIERQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FISRQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FIWRQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FJARQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FJCRQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
FJSRQQ enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
flag_type enum name (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
flags (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
GetType(Linker::Relocation &rel) (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocationstatic
ImportName enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
ImportOrdinal enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Internal enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
offset (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Offset16 enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Offset32 enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Offset8 enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
OSFixup enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Pointer32 enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Pointer48 enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Relocation() (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocationinline
Relocation(unsigned type, unsigned flags, uint16_t offset, uint16_t module, uint16_t target) (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocationinline
segment (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
Selector16 enum value (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
source_type enum name (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
target (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
type (defined in Microsoft::NEFormat::Segment::Relocation)Microsoft::NEFormat::Segment::Relocation
+ + + + diff --git a/html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation.html b/html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation.html new file mode 100644 index 00000000..3801526e --- /dev/null +++ b/html/classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation.html @@ -0,0 +1,173 @@ + + + + + + + +RetroLinker: Microsoft::NEFormat::Segment::Relocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::NEFormat::Segment::Relocation Class Reference
+
+
+ + + + + + + + +

+Public Types

enum  source_type {
+  Offset8 = 0 +, Selector16 = 2 +, Pointer32 = 3 +, Offset16 = 5 +,
+  Pointer48 = 11 +, Offset32 = 13 +
+ }
 
enum  flag_type {
+  Internal = 0 +, ImportOrdinal = 1 +, ImportName = 2 +, OSFixup = 3 +,
+  Additive = 4 +
+ }
 
enum  {
+  FIARQQ = 1 +, FJARQQ = 1 +, FISRQQ = 2 +, FJSRQQ = 2 +,
+  FICRQQ = 3 +, FJCRQQ = 3 +, FIERQQ = 4 +, FIDRQQ = 5 +,
+  FIWRQQ = 6 +
+ }
 
+ + + +

+Public Member Functions

Relocation (unsigned type, unsigned flags, uint16_t offset, uint16_t module, uint16_t target)
 
+ + + +

+Static Public Member Functions

+static source_type GetType (Linker::Relocation &rel)
 
+ + + + + + + + + + + + + + + +

+Public Attributes

+enum Microsoft::NEFormat::Segment::Relocation::source_type type
 
+enum Microsoft::NEFormat::Segment::Relocation::flag_type flags
 
+uint16_t offset
 
+union { 
 
+   uint16_t uint8_t   segment 
 
};  
 
+uint16_t target
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/neexe.h
  • +
  • src/format/neexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1PEFormat-members.html b/html/classMicrosoft_1_1PEFormat-members.html new file mode 100644 index 00000000..16d8c8c7 --- /dev/null +++ b/html/classMicrosoft_1_1PEFormat-members.html @@ -0,0 +1,243 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Microsoft::PEFormat Member List
+
+
+ +

This is the complete list of members for Microsoft::PEFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
AssignMagicValue() (defined in COFF::COFFFormat)COFF::COFFFormat
CalculateValues() overrideCOFF::COFFFormatvirtual
CDOS386 enum valueCOFF::COFFFormat
CDOS68K enum valueCOFF::COFFFormat
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear() overrideCOFF::COFFFormatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
COFFFormat(format_type type=GENERIC) (defined in COFF::COFFFormat)COFF::COFFFormatinline
cpu enum nameCOFF::COFFFormat
CPU_ALPHA enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_AM29K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_I370 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_I386 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_I86 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_M68K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_M88K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_MIPS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_NS32K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_PPC enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_PPC64 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_SHARC enum value (defined in COFF::COFFFormat)COFF::COFFFormat
cpu_typeCOFF::COFFFormat
CPU_UNKNOWN enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_VAX enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_WE32K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_Z80 enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CPU_Z8K enum value (defined in COFF::COFFFormat)COFF::COFFFormat
CreateDefaultSegments() (defined in COFF::COFFFormat)COFF::COFFFormat
CreateWriter(format_type type) (defined in COFF::COFFFormat)COFF::COFFFormatstatic
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
DetectCpuType(::EndianType expected) (defined in COFF::COFFFormat)COFF::COFFFormat
DetectCpuType() (defined in COFF::COFFFormat)COFF::COFFFormat
DJGPP enum valueCOFF::COFFFormat
Dump(Dumper::Dumper &dump) overrideCOFF::COFFFormatvirtual
endiantypeCOFF::COFFFormat
entry_addressCOFF::COFFFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
FLAG_32BIT_BIG_ENDIAN enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_32BIT_LITTLE_ENDIAN enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_EXECUTABLE enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_NO_LINE_NUMBERS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_NO_RELOCATIONS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
FLAG_NO_SYMBOLS enum value (defined in COFF::COFFFormat)COFF::COFFFormat
flagsCOFF::COFFFormat
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
format_type enum nameCOFF::COFFFormat
FormatAdditionalSectionFlags(std::string section_name) const override (defined in COFF::COFFFormat)COFF::COFFFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideCOFF::COFFFormatvirtual
GENERIC enum valueCOFF::COFFFormat
GetBssSegment() (defined in COFF::COFFFormat)COFF::COFFFormat
GetCodeSegment() (defined in COFF::COFFFormat)COFF::COFFFormat
GetCurrentAddress() constLinker::LinkerManager
GetDataSegment() (defined in COFF::COFFFormat)COFF::COFFFormat
GetDefaultExtension(Linker::Module &module, std::string filename) overrideMicrosoft::PEFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetEndianType() constCOFF::COFFFormat
GetScript(Linker::Module &module) (defined in COFF::COFFFormat)COFF::COFFFormat
GetSegment(Section *section)COFF::COFFFormat
GetStubImageSize() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
Initialize() overrideCOFF::COFFFormatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in COFF::COFFFormat)COFF::COFFFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
MACHINE_TYPES (defined in COFF::COFFFormat)COFF::COFFFormatstatic
MZSimpleStubWriter(std::string stub_file="") (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinlineprotected
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
OnNewSegment(Linker::Segment *segment) overrideCOFF::COFFFormatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
option_no_relocationCOFF::COFFFormat
option_segmentation (defined in COFF::COFFFormat)COFF::COFFFormat
optional_headerCOFF::COFFFormat
optional_header_sizeCOFF::COFFFormat
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideCOFF::COFFFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ProduceModule(Linker::Module &module, Linker::Reader &rd) overrideCOFF::COFFFormatvirtual
ReadFile(Linker::Reader &rd) overrideMicrosoft::PEFormatvirtual
relocationsCOFF::COFFFormat
relocations_offsetCOFF::COFFFormat
section_countCOFF::COFFFormat
sectionsCOFF::COFFFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideCOFF::COFFFormatvirtual
SetupOptions(char special_char, Linker::OutputFormat *format) overrideCOFF::COFFFormatvirtual
signatureCOFF::COFFFormat
special_prefix_char (defined in COFF::COFFFormat)COFF::COFFFormat
stackCOFF::COFFFormat
stub (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_sizeCOFF::COFFFormat
symbol_countCOFF::COFFFormat
symbol_table_offsetCOFF::COFFFormat
symbolsCOFF::COFFFormat
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
timestampCOFF::COFFFormat
typeCOFF::COFFFormat
WriteFile(Linker::Writer &wr) overrideMicrosoft::PEFormatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterprotected
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
ZMAGIC enum valueCOFF::COFFFormat
~COFFFormat() (defined in COFF::COFFFormat)COFF::COFFFormatinline
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZSimpleStubWriter() (defined in Microsoft::MZSimpleStubWriter)Microsoft::MZSimpleStubWriterinlineprotected
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classMicrosoft_1_1PEFormat.html b/html/classMicrosoft_1_1PEFormat.html new file mode 100644 index 00000000..7972c57a --- /dev/null +++ b/html/classMicrosoft_1_1PEFormat.html @@ -0,0 +1,673 @@ + + + + + + + +RetroLinker: Microsoft::PEFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Microsoft::PEFormat Class Reference
+
+
+ +

Microsoft PE .EXE portable executable file format. + More...

+ +

#include <peexe.h>

+
+Inheritance diagram for Microsoft::PEFormat:
+
+
+ + +COFF::COFFFormat +Microsoft::MZStubWriter +Linker::InputFormat +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZSimpleStubWriter +Linker::Format +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from COFF::COFFFormat
+::EndianType GetEndianType () const
 Retrieves the natural byte order for the architecture.
 
void Initialize () override
 Sets all fields to their default values.
 
void Clear () override
 Resets all fields to their default values, deallocate memory.
 
+void AssignMagicValue ()
 
+bool DetectCpuType (::EndianType expected)
 
+void DetectCpuType ()
 
void Dump (Dumper::Dumper &dump) override
 Display file contents in a nice manner.
 
void SetupOptions (char special_char, Linker::OutputFormat *format) override
 Initializes the reader for linking purposes.
 
void ProduceModule (Linker::Module &module, Linker::Reader &rd) override
 Reads a file and loads the information into a module object.
 
COFFFormat (format_type type=GENERIC)
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
+Linker::SegmentGetSegment (Section *section)
 Return the segment stored inside the section, note that this only works for binary generation.
 
+Linker::SegmentGetCodeSegment ()
 
+Linker::SegmentGetDataSegment ()
 
+Linker::SegmentGetBssSegment ()
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from COFF::COFFFormat
enum  cpu {
+  CPU_UNKNOWN = 0 +, CPU_I386 = 0x014C +, CPU_M68K = 0x0150 +, CPU_Z80 = 0x805A +,
+  CPU_Z8K = 0x8000 +, CPU_I86 = 0x0148 +, CPU_NS32K = 0x0154 +, CPU_I370 = 0x0158 +,
+  CPU_MIPS = 0x0160 +, CPU_M88K = 0x016D +, CPU_WE32K = 0x0170 +, CPU_VAX = 0x0178 +,
+  CPU_AM29K = 0x017A +, CPU_ALPHA = 0x0183 +, CPU_PPC = 0x01DF +, CPU_PPC64 = 0x01F7 +,
+  CPU_SHARC = 0x521C +
+ }
 Represents the first 16-bit word of a COFF file.
 
enum  format_type { GENERIC +, DJGPP +, CDOS68K +, CDOS386 + }
 Represents the type of target system, which will determine the CPU type and several other fields. More...
 
enum  {
+  FLAG_NO_RELOCATIONS = 0x0001 +, FLAG_EXECUTABLE = 0x0002 +, FLAG_NO_LINE_NUMBERS = 0x0004 +, FLAG_NO_SYMBOLS = 0x0008 +,
+  FLAG_32BIT_LITTLE_ENDIAN = 0x0100 +, FLAG_32BIT_BIG_ENDIAN = 0x0200 +, ZMAGIC = 0x010B +
+ }
 COFF file header flags, most of these are obsolete, we only use them as precombined flag sets. More...
 
- Static Public Member Functions inherited from COFF::COFFFormat
+static COFFFormatCreateWriter (format_type type)
 
- Public Attributes inherited from COFF::COFFFormat
+char signature [2]
 The actual value of the magic number (COFF name: f_magic)
 
+std::vector< Section * > sections
 The list of COFF sections.
 
+uint16_t section_count
 Section count (COFF name: f_nscns)
 
+uint32_t timestamp
 Time stamp, unused (COFF name: f_timdat)
 
+uint32_t symbol_table_offset
 Offset to the first symbol (COFF name: f_symptr)
 
+uint32_t symbol_count
 The number of symbols (COFF name: f_nsyms)
 
+std::vector< Symbol * > symbols
 The symbols stored inside the COFF file.
 
+uint32_t optional_header_size
 The size of the optional header (COFF: f_opthdr)
 
+uint16_t flags
 COFF flags, such as whether the file is executable (f_flags)
 
+OptionalHeaderoptional_header
 The optional header instance used for reading/writing the COFF file.
 
+std::map< uint32_t, size_t > relocations
 Concurrent DOS 68K requires a special block of data to represent "crunched" relocations (see CPM68KWriter for more details)
 
cpu cpu_type
 The CPU type, reflected by the first 16-bit word of a COFF file.
 
+::EndianType endiantype
 The byte order.
 
+char special_prefix_char
 
+bool option_segmentation
 
+format_type type
 A representation of the format to generate.
 
+bool option_no_relocation
 Suppress relocation generation, only relevant for Concurrent DOS 68K, since the other target formats do not store relocations.
 
+uint32_t stub_size
 Size of MZ stub, only used for DJGPP COFF executables.
 
+Linker::Segmentstack
 Concurrent DOS 68K and FlexOS 386: The stack segment, not stored as part of any section.
 
+uint32_t entry_address
 Entry address, gets stored in optional header later.
 
+uint32_t relocations_offset
 Concurrent DOS 68K: Offset to relocations.
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Static Public Attributes inherited from COFF::COFFFormat
+static const std::map< uint32_t, MachineTypeMACHINE_TYPES
 
- Protected Member Functions inherited from Microsoft::MZSimpleStubWriter
MZSimpleStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZSimpleStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+offset_t stub_size
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Detailed Description

+

Microsoft PE .EXE portable executable file format.

+

Member Function Documentation

+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string PEFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from COFF::COFFFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void PEFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Reimplemented from COFF::COFFFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void PEFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Reimplemented from COFF::COFFFormat.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/peexe.h
  • +
  • src/format/peexe.cc
  • +
+
+ + + + diff --git a/html/classMicrosoft_1_1PEFormat.png b/html/classMicrosoft_1_1PEFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..b3175aa47e69ae74f3a2f778874f0ff9be0c2b57 GIT binary patch literal 3610 zcmcIndpK0<9(Ik!rAEfsBpH`76ElPqyr--u3HA*W*ec z4UmL{gp#8J5+xxaEgrYZO9SU@V!&zOqIuF8V=oekfZ@#C_o$4vQcF|AaP^#5Gi){+ zcy8Y7@d%jP9Eoy8O91y9hlNz$AmH<{Bl0Nbsw8K0_D)fg+OhGjsUSHXsZ-PHr>#zr zp2Yk+KED_5J8~!H!q*&b6vub8%O~yzIBB<(%1S@=i|1g~=(D6fQYv1*Hs1)MwFy(= zWjxMS>D(&|kB99{hmPdx2jI+J1_2kLD;hg&ZfJ|%8@>dEmU3!svlD>^;p2+;I~`VJz!BF{ka z`}BJ*qabgI=$&z~4MjqSwf9DiE>7o}*sA`>s!Ew_yxnCJ-!y9cV*6kX(Q96Z#w2*% z8|O_%u`GH$b!f_-GJ4f2XSC*gEcu}|F2^-1aRkmwM&pzX>SL-ogVhyf$cH1*5bhbV z9V@YHvz=y%u^CS_>TXP8h30VG`D8xl88d?}KY%1ls{%Q;e=on@tZ-cW1|gT9s;V6!sbH9vzu6^&zNG(XL{9GZjvE?})`VVI1oDc!NVuOQs z00+tK5FnWjUptIerM!cmK3AiN3R*MyH&;b%l0Xvg#v2%0v5e~*mQlbO6j@hXLWhlg zqv8ODJSxTz=g*UQ1jt7{dB1E6Fb*dGRUMo6j3 z?qaN{QhMRB$~OyDB~?})U?f#6t;A2Rh|MM+fihdW9U(gtva{hwq;~BBT)Dc^BsS;g z|6dG;l^FBSO8ZUEvg}V+F=kz@9KcvXGXGg)?Jc&v{b^ko-jQmH>@W_-4xgu#z~@>h z7#-MIa}5ahr=nj0&|p{!#Vf6R769|MLO2BmgWrs&hq~Z_;~dAYv>j_^HH#aYGHKIe2Y0+T^91K}-z4rNza&JENc2Fi!-7!6rdF z4w@B5gWcDS)Q5RZ4feRs1Vf*Yk$!Xme*bdsL$ynHBXTCt$#GLLoTg&r$+KN^Yb*z>?+Aq|93 z3elg>qfkUCKS2)1w(f3q%i(t4r!(|cigW2F{e`|!V5e+`k&qZxRo81g@+2jcr2U|T z{@#O`;3B_Z^Sw*QnNv$(DSjE7uLypG!_@^GURn`AAp`pKJRj%`frNfVto$g$_{i*L z$$bzlm~jrpwvU)MdS0$7F|RZ%TAjWQQ!4=VRvoH{MI?Oo5WQ{Pj}v%|5SbRsymZRd z>EndP_tuZ(1Y0vsfKkQ3z#VK6yclAxFBF8fOpK<;CV))XcAXl?*wdeX ze)%qKalYtNVzk`b;v4w59Cqm>RIB$6ODnEj5a_~xNZH~__AmV8Dw35h_~?Nve@khx z+IEL(dbcfeq`SQ|f)MGZrE#IjdOC2LCDgRJ{EyScZBHjhp@jU!zyYT7t<5{aQgn6s z;m)>$Nfk?v2z_he8Q80YfrvIu!Ow@1q%Y-8TCQ$!X-uD}FvMSPnc>O^D<~$|pn_*d z$Y=fNtF?_2D-yfw-jouKBdrgV+J1hK3bMO+0dw_L=(kCyj>#~~){)@!P0gPEs1HL? z!CxCXO}35gYA`+Da6dh5rrmvqetWHVzK+v0`nE##L(1Jmo*df$gax&JG9z`S_b$!U z#_q5o3^rkYfPk;hLQogY!t)2U^MZHk!b;+b+fD}*VANgMD*IM7S=X$CB2xzJE*K0^ ztIc9QUMCIr^z5}JbHM3cV=U`yMQz^{Pwg)#mAx7I`L%+K(n!x?UulRFlIlF9rsn zF*f(PqGJg!Q(KBH=7gOAgrGlWQ$%GH3I+OYnUoyL({ytaT1acxOr;$*kHQyRJ4zlP z@_C&}_G$)WsnbnY4dxYIuFUbv@_prp@XNBky{ zw0k19*_YQ1><+ByO@v)3@kWbV@Fz;-Ymd+*W-m8t`N=+&AC?jcISjHhI3xih`L0+f z;L)W{$%G_~B#t&@8vbIG32&usXJh(cewuThiGbO4jHHJiTE-j5rq#Dw^@W-P#Ls@e zeYLEzdk13J@GfjviYis%07L2o&cqd#P)2MzF zS0{oxu*)V@?EbbLhgM|6* z_lXWRKCRk;{MqBwBmbreg-vRwX0wKbvsd0}Z3lzHR!)*}=ml-7CT#?FX@&~2f0LI$ zjB4Mv^l;Tv6_sxe-p6->_-U@+0fjQ;;ELVBu(#_<_vz7a#qquKLet`WZUig*^SO~` z?Tp{v_S~rKUWUN}0fIE+p0o*u<}*7_n5bLUoZBI_{sg3}kd&A)A&C6EvN!J{dWY=C zyxaQ6kgov353W2xk7s{8cdu)|RoX6k8PI{|ig)?mf+)%j1=&W(bt^zXv${VVhd7Z3 ze6_$!(sZD6R05r&m*_!W5(GYgg7?`0;QHMJWe;6D(X~rjbO}<@)tA?m9`L~RLWOO_ zwcDRw=7VD3t;Sv@wh`|##$M?)a?Y5BKc8~G@}-Z@Qh^@!ER366Y*~4&9MiYdd<%zU zS#RP_9j3na%`KIh`-Kb;7?P?lKHvK<_BJ#EN_KdYSUX&N1gcgNvp*!p;SmT7F2DJg zuK^qQSfc;`751w;U-A%u)$})@Jftg59u$M~E%fY~56QH6MbpBrtpKY&Iyv7rxe1HKBE&M2-j)MTee)qY z4Xb`o6qp@0g6|1KAVwcH>H+do=&eRO8EaZ>`+I$V`J&xgg>9)57CW@Tgy)Jrm3=daHl$B#z%thoSg z+%~GH4w0**(MB`?Vix!OFA^BQ^?YgT{Hk`|`%|=|6xUARFHXYI-W6GC>-WpQ01VB? Ax&QzG literal 0 HcmV?d00001 diff --git a/html/classO65_1_1O65Format-members.html b/html/classO65_1_1O65Format-members.html new file mode 100644 index 00000000..eb16090f --- /dev/null +++ b/html/classO65_1_1O65Format-members.html @@ -0,0 +1,101 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
O65::O65Format Member List
+
+
+ +

This is the complete list of members for O65::O65Format, including all inherited members.

+ + + + + + + + + + + +
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
Initialize()Linker::Formatvirtual
ProduceModule(Linker::Module &module, Linker::Reader &rd) overrideO65::O65Formatvirtual
ReadFile(Linker::Reader &in) overrideO65::O65Formatvirtual
SetupOptions(char special_char, OutputFormat *format)Linker::InputFormatvirtual
WriteFile(Linker::Writer &out) overrideO65::O65Formatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classO65_1_1O65Format.html b/html/classO65_1_1O65Format.html new file mode 100644 index 00000000..84aa249b --- /dev/null +++ b/html/classO65_1_1O65Format.html @@ -0,0 +1,241 @@ + + + + + + + +RetroLinker: O65::O65Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
O65::O65Format Class Reference
+
+
+ +

Output format for the 6502 assembler xa. + More...

+ +

#include <o65.h>

+
+Inheritance diagram for O65::O65Format:
+
+
+ + +Linker::InputFormat +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &in) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
void ProduceModule (Linker::Module &module, Linker::Reader &rd) override
 Reads a file and loads the information into a module object.
 
- Public Member Functions inherited from Linker::InputFormat
virtual void SetupOptions (char special_char, OutputFormat *format)
 Initializes the reader for linking purposes.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

Output format for the 6502 assembler xa.

+

Member Function Documentation

+ +

◆ ProduceModule()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void O65Format::ProduceModule (Linker::Module & module,
Linker::Reader & rd )
+
+overridevirtual
+
+ +

Reads a file and loads the information into a module object.

+ +

Implements Linker::InputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void O65Format::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void O65Format::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/o65.h
  • +
  • src/format/o65.cc
  • +
+
+ + + + diff --git a/html/classO65_1_1O65Format.png b/html/classO65_1_1O65Format.png new file mode 100644 index 0000000000000000000000000000000000000000..f2444ee52f5edd12dddc1302e0e700a684d47f85 GIT binary patch literal 981 zcmeAS@N?(olHy`uVBq!ia0vp^^@Z7o9az&rl+dtvoD<*vG;k4adV1IY(?L!CNo``$>ZtITu$KFZE_X#Y1W_|pz zq1i@v(eLWI+D6aiZI|DCQ2c1YUcdeIXJsERwmy2hR7Bru=XT~Idq&r#uMJPyzFAOz zHnuD1IPsR3yzN^wHJ}-OY@sXX(-lv{M z1{9w-eer_zw*-Epc^i)j=3SSS-gR95%|q8M#~#-0+Bx~MqMIxq-@Larg4XAs?zo}4 zYE8<_???a6GVPtEyJzm&NvR-RqE0#J}ba#K+@)X6lt2bA^kFTD6D%Q)-Z<$+gVRX%^iPL5; zn*L+-d+0m>Q<8~?|TuM8SNG-rT-VJ1xA)xN-_4Kn|M~WO zxnEO%diL+{*Z1#le*gZ_ikYYV&ph6;aP!O0IqVJjPnjBcH+5FWRv(zXqvtNuy`z6i zzrKlKh)}>8z~Hc-F66`^&C=MBvD0FDN5;NC^*c7+xFm13cH5WmtuCD%$BN?rJvbE- zv&!W5@74K5-_GdvRq45}uAJ;D`{ww&OwG#EXJ?*S(SEfi>a5bo@+mtEw+nyHFtyEB zKI?n``On7Nr++nMZ*_Nh`n~^-Rqx@e?(bIHlxuIxkzDhSIq&wum4V*5-@<2C<$ap- u>cW42AwgY{=R$&Kr^lb*Rc!hCN&auoy5jE=Yn*@?kipZ{&t;ucLK6V9a0l}M literal 0 HcmV?d00001 diff --git a/html/classOMF_1_1OMFFormat-members.html b/html/classOMF_1_1OMFFormat-members.html new file mode 100644 index 00000000..1c91e784 --- /dev/null +++ b/html/classOMF_1_1OMFFormat-members.html @@ -0,0 +1,101 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
OMF::OMFFormat Member List
+
+
+ +

This is the complete list of members for OMF::OMFFormat, including all inherited members.

+ + + + + + + + + + + +
Clear()Linker::Formatvirtual
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
file_offset (defined in Linker::Format)Linker::Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
Initialize()Linker::Formatvirtual
ProduceModule(Linker::Module &module, Linker::Reader &rd) overrideOMF::OMFFormatvirtual
ReadFile(Linker::Reader &in) overrideOMF::OMFFormatvirtual
SetupOptions(char special_char, OutputFormat *format)Linker::InputFormatvirtual
WriteFile(Linker::Writer &out) overrideOMF::OMFFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classOMF_1_1OMFFormat.html b/html/classOMF_1_1OMFFormat.html new file mode 100644 index 00000000..ffed6ab2 --- /dev/null +++ b/html/classOMF_1_1OMFFormat.html @@ -0,0 +1,241 @@ + + + + + + + +RetroLinker: OMF::OMFFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
OMF::OMFFormat Class Reference
+
+
+ +

Intel Relocatable Object Module format, used by various 16/32-bit DOS based compilers and linkers, including 16-bit Microsoft compilers, Borland and Watcom compilers. + More...

+ +

#include <omf.h>

+
+Inheritance diagram for OMF::OMFFormat:
+
+
+ + +Linker::InputFormat +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &in) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
void ProduceModule (Linker::Module &module, Linker::Reader &rd) override
 Reads a file and loads the information into a module object.
 
- Public Member Functions inherited from Linker::InputFormat
virtual void SetupOptions (char special_char, OutputFormat *format)
 Initializes the reader for linking purposes.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

Intel Relocatable Object Module format, used by various 16/32-bit DOS based compilers and linkers, including 16-bit Microsoft compilers, Borland and Watcom compilers.

+

Member Function Documentation

+ +

◆ ProduceModule()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void OMFFormat::ProduceModule (Linker::Module & module,
Linker::Reader & rd )
+
+overridevirtual
+
+ +

Reads a file and loads the information into a module object.

+ +

Implements Linker::InputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void OMFFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void OMFFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/omf.h
  • +
  • src/format/omf.cc
  • +
+
+ + + + diff --git a/html/classOMF_1_1OMFFormat.png b/html/classOMF_1_1OMFFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..4147d84dd739f9b92ab78b90b2c2a0ac15c773fe GIT binary patch literal 988 zcmV<210(#2P)LY}70000RP)t-s|Ns90 z008Lh^>vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~000AL zNkly$$%OmA;)8&S)^;!Xb5I?X+WD{U_8{vX6MA;xp2M|n;Uesn-RthLc%H7q zF+RLP%$m;}x5wPX9#!;DTHeSr|L8ug2Je#q?Q#0^YvC9l!ztd5qj=FNyls&42`DOk zAB)_>Ud*qBOIa%3MK5<3m))V$M$=<Dq?%f{f&##4Z z+?-9_p{e83X-Y5HC760RzjcumUyANJG~HdxOI z4#ea69k2WIJ6`Ya@BaSI`~HsC%;hWQb=cCU;m_F)0N=_R02at1?)$w4yok%#CE!)u zKiAKj3jh;ja{*wyY%Tzdm(2x$@v^x9FkUtn0LIJa0>F6LTmbk^4qLOH0pj)IHB~Ej zI##*!vCKVIU|$E061;!H$Gh2?vAC|Tk%i$)N=W9vR_>tKfiW2Rk%{b(lYt<)t#5D+RMp3 z;Hp#2uini$n^>Htn7Ku)2c!krFJDFsRch@f!$!c(?+^cV%AJ3&^Zfp>{mH+HEB!Cu z-*V^s`@6rt7vJB>Su>ZfnAc%TpN2nYI{zi@5Li8t@`6W0!zeasOODZ!Q2# zkj({v@v^x9FkUtn0LIJa0>F6LTmTp^n+pKrWpe@Gp@a~^0zn`mnl775L^NLh7u?uq zqSLdQ)cDb*btNKdCBOFE9ME=4Fd}llcP>u~*W=nBa`FrAtxE}%N}@k@SS!gbS5wM+ zlJ%oY)~O^c@i!Yk%H0Bn>xE@t# + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PMODE::PMW1Format Member List
+
+
+ +

This is the complete list of members for PMODE::PMW1Format, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overridePMODE::PMW1Formatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &in) overridePMODE::PMW1Formatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &out) overridePMODE::PMW1Formatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classPMODE_1_1PMW1Format.html b/html/classPMODE_1_1PMW1Format.html new file mode 100644 index 00000000..2ab02eb8 --- /dev/null +++ b/html/classPMODE_1_1PMW1Format.html @@ -0,0 +1,411 @@ + + + + + + + +RetroLinker: PMODE::PMW1Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PMODE::PMW1Format Class Reference
+
+
+ +

PMODE/W linear executable format (https://github.com/amindlost/pmodew/blob/main/docs/pmw1fmt.txt) + More...

+ +

#include <pmode.h>

+
+Inheritance diagram for PMODE::PMW1Format:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &in) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &out) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Member Function Documentation

+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string PMW1Format::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void PMW1Format::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void PMW1Format::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pmode.h
  • +
  • src/format/pmode.cc
  • +
+
+ + + + diff --git a/html/classPMODE_1_1PMW1Format.png b/html/classPMODE_1_1PMW1Format.png new file mode 100644 index 0000000000000000000000000000000000000000..08c6686189abb81c635f23516484dd0e90d8b180 GIT binary patch literal 1606 zcmb_cYc$je6#viA5~-OKyWaC}B|Wx`M3@cz5yKRt)~h(gOw?$FG)p5}%;YhQiBdC_ zcEot4LdGLKL{b`zyvLqo%nZpeW6NW9PUq}?+5NKT?EP@>{oQ*%+*(s4O@k5tC+ke8pUQmItAlT-3|`qR61yDU$CThKW>(rPuuc_=W*_Gmtf3B7fTY=IMHg%kaT_ntfD^qU`VTFovGP}WC!;>A-+q2$kD9J>B zu}_+J>W2QLeO7hj4-|iOSa8Sr1;N~F!BiQ8JI?eI8`28B3~6EPy&D(N{0EAG8Q3Ex z%UCd{=OE!R%B%#E&OSG2ha%9pjGAc+AM>r-dQ$%IIQDh%+T)eh_)K}fC1>ey6Z}(& z{KzF^2B)n($-Ty*sp3f-rsN+D=LK)wk*R6TSH0_NXwF%{WzW)+yCujK?3 z!;vYaPU@js5wNSOs{a$Nz>8{X>DgUv0q^3MA3DWi>yw*Jh5nwFpL0N&bGtQYad8+7 z96=0@794~~n)PnII3DqFJXy9hO>@VRo+a+ZbPX{h^RD%=kXHmv*PA)aG^JtMsfhtS zOHLdob#iZRo=EKi?jha1L5H8!f2|MW8mF-4>|Pe`>a7#-n7+KbNnGpPsUb!kH=8sU zA#@Zva+7Pjgtebf-bIN;%gE)94bwqFh+S^DAlz3V#n{!V)x<&cyuXeQt-4hQ%3ixV(=v^_>_&-U<^7rY_K8F^8u z_o#Kb|CjmZ#_9WX1rZPJPcU-aDK9R+dcTOA0HVE!^@WvW!#~e>h5+0ISzSdc_9YH^Gb6_!|y(N7EgRlEfm?bzX`y9Bl%2?AmX!^E zV{V9bt<=q0QiO7+c+U0e>9%nfN<=MBSf#yF;@PLCy(+42NslHp^4*|t%pd3W9Ue86 z6Cg{@{LY&652LcuQHWUCxKGmc!JflhxiZnoLNw9d2A`w!QuKUY-D7soS5ZfuCv}$7 zksN0CC9S{65qqc-?8HCYLhs!0!Jx&@48Ch474TXG0{9D>{|4oWjwWkYebSZ(EyEM@ z{_{v|?H`dnYX~TVB=XPm$SB zx#@erWpZ_75_*&56H}~stT9|50Co9!fx9V^x@tXIJ6am1tfCg7wva3a8z5rAuh)pQuasegFUf literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1MPFormat-members.html b/html/classPharLap_1_1MPFormat-members.html new file mode 100644 index 00000000..38f406d6 --- /dev/null +++ b/html/classPharLap_1_1MPFormat-members.html @@ -0,0 +1,180 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::MPFormat Member List
+
+
+ +

This is the complete list of members for PharLap::MPFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
bss_pages (defined in PharLap::MPFormat)PharLap::MPFormat
CalculateValues() overridePharLap::MPFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
eip (defined in PharLap::MPFormat)PharLap::MPFormat
esp (defined in PharLap::MPFormat)PharLap::MPFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
extra_pages (defined in PharLap::MPFormat)PharLap::MPFormat
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const override (defined in PharLap::MPFormat)PharLap::MPFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overridePharLap::MPFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in PharLap::MPFormat)PharLap::MPFormat
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
has_relocations (defined in PharLap::MPFormat)PharLap::MPFormat
header_size (defined in PharLap::MPFormat)PharLap::MPFormat
image (defined in PharLap::MPFormat)PharLap::MPFormat
image_size (defined in PharLap::MPFormat)PharLap::MPFormat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in PharLap::MPFormat)PharLap::MPFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
MPFormat(bool has_relocations=false) (defined in PharLap::MPFormat)PharLap::MPFormatinline
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
OnNewSegment(Linker::Segment *segment) overridePharLap::MPFormatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overridePharLap::MPFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overridePharLap::MPFormatvirtual
REL32 (defined in PharLap::MPFormat)PharLap::MPFormatstatic
relocation_offset (defined in PharLap::MPFormat)PharLap::MPFormat
relocations (defined in PharLap::MPFormat)PharLap::MPFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overridePharLap::MPFormatvirtual
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in PharLap::MPFormat)PharLap::MPFormat
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overridePharLap::MPFormatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classPharLap_1_1MPFormat.html b/html/classPharLap_1_1MPFormat.html new file mode 100644 index 00000000..bdf3256f --- /dev/null +++ b/html/classPharLap_1_1MPFormat.html @@ -0,0 +1,660 @@ + + + + + + + +RetroLinker: PharLap::MPFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

Phar Lap "MP" .exp and "MQ" .rex file. + More...

+ +

#include <pharlap.h>

+
+Inheritance diagram for PharLap::MPFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZStubWriter +Linker::Format + +
+ + + + +

+Classes

union  Relocation
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
unsigned FormatAdditionalSectionFlags (std::string section_name) const override
 
MPFormat (bool has_relocations=false)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+bool has_relocations
 
+std::string stub_file
 
+Linker::Segmentimage
 
+offset_t image_size
 
+std::set< Relocationrelocations
 
+offset_t header_size
 
+offset_t bss_pages
 
+offset_t extra_pages
 
+uint32_t esp
 
+uint32_t eip
 
+offset_t relocation_offset
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + +

+Static Public Attributes

+static const uint32_t REL32 = 0x80000000
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Detailed Description

+

Phar Lap "MP" .exp and "MQ" .rex file.

+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void MPFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ FormatAdditionalSectionFlags()

+ +
+
+ + + + + +
+ + + + + + + +
unsigned MPFormat::FormatAdditionalSectionFlags (std::string section_name) const
+
+overridevirtual
+
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string MPFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void MPFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void MPFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MPFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void MPFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void MPFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1MPFormat.png b/html/classPharLap_1_1MPFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3579a68e0d2f01bac299a4951936621e69a3d2 GIT binary patch literal 2029 zcmb`IX;4#H7JwhnG)p6nWkps)iMFf}5RtV76pSDsAVhe8s2LCwAPR;cLlngZ6aj6P zAfV8)NytkOlCVTJDa0WJ*%Fqp$`X3QqR0|tn@4v|byfeI>i6T`bI-YT?>*<8^PNZT zZsWTmW>~T8h;0XXy0$5Ixmx0GHb1Of1(r|b2a@^V3fyLRm6=K@EQVV0fo2rzK z+41plSZ~I|6u~xy+n#P00eJoUXD*%F2LN)>P7d~7(Ngm-#1UWhm4N=G6D=FIUnatv zC>BS@^n#|M&bt~P1&?f>t`S7H3IiME+yUgZxgS^6%Vc56w7^^HkBP6?)oNAX-F^5# zK_bzvoQf#;p>!o6gVI%ZbXmBg+-9_0_mWV1^%6^Z`3kEcWvTO1#PMxfW9XRA8ibRb z{d6{?5QQf_Yn`U?EUvc&l`N7{H1ffnM~&6C6SYsdtCqIS8XJIO6E-}L)Sbl=hstug zqbkJ0e;S<{U-?%WT_K;N7~4XHkD7#!f-(x5!w(Ux%|{R)KfX#i-g3;sn!-I`Cl%e1 zqHAsKfe(FKtZO2gjS9!q=0%=RYK+{L)&(y35*#dt^qDjMhP1X}*RW??zn@cioUgIF zu2zmFMFiN#k3iZY&5=$X2H!rov{@g+fNyNRK~@P03`>8}Lq}1=+!92al3*3d#CaPE z1OIT>jw5SK@6>xkK!8#RAJ7HT)Vg+GinS}3E&yzTe-BqO9JNaL5qo{*m{d@z?k0$? z!g(3k?KOFTe;cvJ7%j)d*+)z10;a!$Qo)leo(v#;S84&h89*c~9d#&{c1gs^W-Id* zjSo^0SFF4Ynr^?w#Qo+D0ln~sk~6HoX@lxxv&)6UiwD?rv6b>98A5Ie3(qrERIuaG2uxmRJ>RYXs zTem7VhTSF^_+*Z#!)aiX8*y<qRT5{_wMiXRelN}Y~katKeY z7-J%qz+=RB7)`FqBH1?>wOK;u5s`!~Q0&;Yb^q#_lCus|GRn-mCjx>(*FrqK^{l&N zG{56C>`xXfT#H1__z&3rYU`T>ZCES|r4|S-#5Lwv`mKhiRSUPw4d;-JKaS|6%%gBR zgZ~+=B7gBY!B(mbH}aGGImj;*Qe5aler90BcEhxOynr2XlKoE8QlVE8g1z27$lF?{ z=^|~15JXa4+Bm0(w1`A}vbYdz%9L}?B!ptv7I6A9e> zwC)R)`%v?S!T2|gw1Hwl2FGMQH+}pJbVD3_+_>1u@Hs!r$P{b7_FT~O+kF8w;Urj{ z>9uI-{CPjb)4wEOOCtxI5zGpt9MYFIR}wHj#58y%(61KfyxA*!1nJvd0!cFXy%blC zh3jCN<~$R_u~?1`j}qi;oh+1~bb7--h{X2c{brL5g2~f&u;Zsl ztD;e~qlBh=IS^HUWKG5vN8Q7sM^WtZ zXqy?jmPm&l)&E@JucaZ&@2*7@o6B%3{iY&oB5%2nwD8bN=N%REH@b^?5@O=Mvcc~Y z6qK2QKtp_3WN{%XqPFy>Za8)Cd2-(N>1!WXjv|jSbM&JZZT$M~qCz*?H>#O;d#Mas zVD@zYDx*J2nv-aNjlnB^^YWmhL#Jdvm{>)HB`Y7elE0}`UcC*;fZmX{_QBn^A6R#pCIIba`o_vvq>~5`L-Lq;jW<>;dVM2WXa2H z9{$G60&xWRNA%bDKIFcuB@X77(2@9+mbAw=bDC8zZc||=Q<>`64pbfTB<#s9s{aSw uO#{>Ss$W&%o*4gE9vgBipU5?R*pwSdMHXmPm!aXt3^+NuInYmEdGKF`_u5PV literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1P3Format-members.html b/html/classPharLap_1_1P3Format-members.html new file mode 100644 index 00000000..3979923f --- /dev/null +++ b/html/classPharLap_1_1P3Format-members.html @@ -0,0 +1,204 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format Member List
+
+
+ +

This is the complete list of members for PharLap::P3Format, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_load_offset (defined in PharLap::P3Format)PharLap::P3Format
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
cs (defined in PharLap::P3Format)PharLap::P3Format
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
eip (defined in PharLap::P3Format)PharLap::P3Format
esp (defined in PharLap::P3Format)PharLap::P3Format
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
file_size (defined in PharLap::P3Format)PharLap::P3Format
FinishCurrentSegment()Linker::LinkerManager
flags (defined in PharLap::P3Format)PharLap::P3Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overridePharLap::P3Formatvirtual
gdt_address (defined in PharLap::P3Format)PharLap::P3Format
gdt_size (defined in PharLap::P3Format)PharLap::P3Format
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overridePharLap::P3Formatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
header_size (defined in PharLap::P3Format)PharLap::P3Format
idt_address (defined in PharLap::P3Format)PharLap::P3Format
idt_size (defined in PharLap::P3Format)PharLap::P3Format
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
is_32bit (defined in PharLap::P3Format)PharLap::P3Format
is_multisegmented (defined in PharLap::P3Format)PharLap::P3Format
ldt_address (defined in PharLap::P3Format)PharLap::P3Format
ldt_size (defined in PharLap::P3Format)PharLap::P3Format
ldtr (defined in PharLap::P3Format)PharLap::P3Format
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
load_image_offset (defined in PharLap::P3Format)PharLap::P3Format
load_image_size (defined in PharLap::P3Format)PharLap::P3Format
maximum_extra (defined in PharLap::P3Format)PharLap::P3Format
memory_requirements (defined in PharLap::P3Format)PharLap::P3Format
minimum_extra (defined in PharLap::P3Format)PharLap::P3Format
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
P3Format(bool is_multisegmented, bool is_32bit=true) (defined in PharLap::P3Format)PharLap::P3Formatinline
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overridePharLap::P3Formatvirtual
relocation_table_offset (defined in PharLap::P3Format)PharLap::P3Format
relocation_table_size (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters_offset (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters_size (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_entry_size (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_offset (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_size (defined in PharLap::P3Format)PharLap::P3Format
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overridePharLap::P3Formatvirtual
ss (defined in PharLap::P3Format)PharLap::P3Format
stack_size (defined in PharLap::P3Format)PharLap::P3Format
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
symbol_table_offset (defined in PharLap::P3Format)PharLap::P3Format
symbol_table_size (defined in PharLap::P3Format)PharLap::P3Format
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
tr (defined in PharLap::P3Format)PharLap::P3Format
tss_address (defined in PharLap::P3Format)PharLap::P3Format
tss_size (defined in PharLap::P3Format)PharLap::P3Format
WriteFile(Linker::Writer &wr) overridePharLap::P3Formatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classPharLap_1_1P3Format.html b/html/classPharLap_1_1P3Format.html new file mode 100644 index 00000000..10fcdba9 --- /dev/null +++ b/html/classPharLap_1_1P3Format.html @@ -0,0 +1,651 @@ + + + + + + + +RetroLinker: PharLap::P3Format Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format Class Reference
+
+
+ +

Phar Lap "P2"/"P3" .exp file. + More...

+ +

#include <pharlap.h>

+
+Inheritance diagram for PharLap::P3Format:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZStubWriter +Linker::Format +PharLap::P3Format::Flat +PharLap::P3Format::MultiSegmented + +
+ + + + + + + + +

+Classes

class  Flat
 
class  MultiSegmented
 
class  RunTimeParameterBlock
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
P3Format (bool is_multisegmented, bool is_32bit=true)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+const bool is_multisegmented
 
+bool is_32bit
 
+uint16_t header_size
 
+uint32_t file_size
 
+uint32_t runtime_parameters_offset
 
+uint32_t runtime_parameters_size
 
+uint32_t relocation_table_offset
 
+uint32_t relocation_table_size
 
+uint32_t segment_information_table_offset
 
+uint32_t segment_information_table_size
 
+uint16_t segment_information_table_entry_size
 
+uint32_t load_image_offset
 
+uint32_t load_image_size
 
+uint32_t symbol_table_offset
 
+uint32_t symbol_table_size
 
+uint32_t gdt_address
 
+uint32_t gdt_size
 
+uint32_t ldt_address
 
+uint32_t ldt_size
 
+uint32_t idt_address
 
+uint32_t idt_size
 
+uint32_t tss_address
 
+uint32_t tss_size
 
+uint32_t minimum_extra
 
+uint32_t maximum_extra
 
+uint32_t base_load_offset
 
+uint32_t esp
 
+uint16_t ss
 
+uint32_t eip
 
+uint16_t cs
 
+uint16_t ldtr
 
+uint16_t tr
 
+uint16_t flags
 
+uint32_t memory_requirements
 
+uint32_t stack_size
 
+RunTimeParameterBlock runtime_parameters
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Detailed Description

+

Phar Lap "P2"/"P3" .exp file.

+

Member Function Documentation

+ +

◆ FormatSupportsSegmentation()

+ +
+
+ + + + + +
+ + + + + + + +
bool P3Format::FormatSupportsSegmentation () const
+
+overridevirtual
+
+ +

Whether the format supports multiple segments.

+

This is typically true for Intel 8086 targets and false for non-Intel targets. The ELF parser uses this to provide extended relocations, including the following:

    +
  • $$SEG$<section name>
  • +
  • $$SEGOF$<symbol name>
  • +
  • $$SEGAT$<symbol name>
  • +
  • $$WRTSEG$<symbol name>$<section name>
  • +
  • $$SEGDIF$<section name>$<section name>
  • +
+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string P3Format::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format.png b/html/classPharLap_1_1P3Format.png new file mode 100644 index 0000000000000000000000000000000000000000..2e0f3561dae62202c4f2b0c11e76a3ecdf9969d5 GIT binary patch literal 2782 zcmc&$c~lc=5=TZwL9MgfSZ~8UQwl%RPWaZ_Ujtshzw9*WFEuo_Ud9|h8gOI7oM0|VTCv-G zyvy-|<8`G+lj5H7mGUzM%|BMY4BEC~<11(a*%pHeWev?siqcc}CZA2}`|C;5!V9lV zv7k1m#{F=Y*EA#Ihe&L?W@yuMysn@^u`CG)BW`UoGq-c!H1$!I~w?`oRJ0Sn~?Q^1W zd;bHi`JH%or|8ZLvX2(_&(yKm0W!vC(GyIo=>VS9>&d^k?2_CAH*B5G9slGj^Q?)I zLTZVEVV0%Kx{ed)*qa<3-Gw&?isF{A%?F>3_cJ%rbs8M=s{r9IqeY4b?HOXaK(*Wo zTi}zh%}7^#6sVmKAEn2Kb1h6K2bIvGj2C(P-rL-<`QQsaWiqVgjzIjoL0H!*MkI<+ ziBB9|jxyf4urb)QFdb_O6s4E-<2+B978-SWnHHKQMds%D9yyi+`W}hNq52*PR!jdU zc(P;LGs}t}&y87bJJ!92axoG5go-E^>X|>%q#^`cj^~H9(wKjJY`%yyPj>W^!`^1S;YqHPVrmEW+b6{arGrE_6b#J6G z=-fu8&}P?i?M3BS$0+=AQ-pZOguwxbIbs9Ama|xA<&4Qb=184KRVby2rw0))JLt^d z8oc9!pG$Orv=v-46-ch)U;dOuoeoTUU|!aiv6*Tyb!LP4!q3;`&v@KZeka5C^c5>)ns=2{tvYH;mm~ns$Y$8t6 zdNyUC6w^1$=h|Ijha-QM3K#_D3yyhe9~69=MXVlke}f<}eMFFcUsCUaEmIbP=j=jS zNOxevPOV%WD7FmULfyD$C?3rRh0~ON@-Q(`8+( z32EaB=K3+x%mSKypLD)9{IUZetERM~C9R7(KzQh6G!#-H%*HCIEO}Q#Qs0ac%nH#eHdXbcbcM!xqcBokEkNn0$mvw%W#vZ1@f%rgP z6hm3cswagie+Xiv^z|E#DM9Bc>zP&nM){{Om#1A2Lhg|R)^JeysTk=uYC5(XZV7=I z`JSZRYLb5Wcal2!t9iS=3CM`p^Qz7K+B3^-vqHT?+m(lc1A+4JG1d9+bHEHo=EGhC2YB(R8C>VJ>S9+z^lR%3wdPpu&|Galu5Ji-OLMhYQ)|;>H&FY3 z2lQ{)nt_V#riH<_LKL~Y1iIb)PwqbkvI2s1#jnV=cmpaC7<(C`ifSM&tho^5JH4jq zhIxe5!B~bIJ|R6Eq412 zlPad1nTeYR^MVdj|TQ_x3Su{ev99KZ(&w2v0))_5O zi!B~^7Cthx_ySA5zOy-CPMMprnD7F5eP(=V$+{o~j=kAk{n=-w)@0$zHr0)lc!Rc^ zaDw4f?d;k89#lU$z#CBg2v57Rk9m8aypIrBGjR3HmYu#&mai72YvvWfCV7#Khir<{ zb3b(NyFpi6H|Y9dT{ryf7v{PlRxSOfFj_6Z)y;0+I(?t7Rr#+x`3GbEJIQ3voro2q zTA0}_&kfIgQSsB4m@{p|5F%**ha%7>scRtlLs=Lvp88NIVU=9vAQe+B^5!R2DX23` zbn*Q^%6_LV>7}Gbi_^zp11aPvt@bf7I-@Blm;T)iNA*uzT^NEis6X1!PnT1*C8 zTol4O@Vlwc$|ABw>Y^h)GddwNuWsR(CUl+?}!1)zp^( z7BH0PIV1YO)L{Q9D-|&@&+u~+2#Ta^ya6xk7f=4YL>%kl+{orQeVWCIBXhb+5Cq7d zB}aOxq%rz67Fwz(Mo_`!(#dkGxU*Q}4!s)=zZiA6OuT{+gnOz>t4QTlID1HV@OB(D ze-TeXm%-gq-wenW8F^ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::Flat Member List
+
+
+ +

This is the complete list of members for PharLap::P3Format::Flat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_load_offset (defined in PharLap::P3Format)PharLap::P3Format
CalculateValues() overridePharLap::P3Format::Flatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
cs (defined in PharLap::P3Format)PharLap::P3Format
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
eip (defined in PharLap::P3Format)PharLap::P3Format
esp (defined in PharLap::P3Format)PharLap::P3Format
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
file_size (defined in PharLap::P3Format)PharLap::P3Format
FinishCurrentSegment()Linker::LinkerManager
flags (defined in PharLap::P3Format)PharLap::P3Format
Flat(bool is_32bit=true) (defined in PharLap::P3Format::Flat)PharLap::P3Format::Flatinline
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overridePharLap::P3Formatvirtual
gdt_address (defined in PharLap::P3Format)PharLap::P3Format
gdt_size (defined in PharLap::P3Format)PharLap::P3Format
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overridePharLap::P3Formatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in PharLap::P3Format::Flat)PharLap::P3Format::Flat
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
header_size (defined in PharLap::P3Format)PharLap::P3Format
idt_address (defined in PharLap::P3Format)PharLap::P3Format
idt_size (defined in PharLap::P3Format)PharLap::P3Format
image (defined in PharLap::P3Format::Flat)PharLap::P3Format::Flat
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
is_32bit (defined in PharLap::P3Format)PharLap::P3Format
is_multisegmented (defined in PharLap::P3Format)PharLap::P3Format
ldt_address (defined in PharLap::P3Format)PharLap::P3Format
ldt_size (defined in PharLap::P3Format)PharLap::P3Format
ldtr (defined in PharLap::P3Format)PharLap::P3Format
Link(Linker::Module &module) (defined in PharLap::P3Format::Flat)PharLap::P3Format::Flat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
load_image_offset (defined in PharLap::P3Format)PharLap::P3Format
load_image_size (defined in PharLap::P3Format)PharLap::P3Format
maximum_extra (defined in PharLap::P3Format)PharLap::P3Format
memory_requirements (defined in PharLap::P3Format)PharLap::P3Format
minimum_extra (defined in PharLap::P3Format)PharLap::P3Format
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
OnNewSegment(Linker::Segment *segment) overridePharLap::P3Format::Flatvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
P3Format(bool is_multisegmented, bool is_32bit=true) (defined in PharLap::P3Format)PharLap::P3Formatinline
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overridePharLap::P3Format::Flatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overridePharLap::P3Formatvirtual
relocation_table_offset (defined in PharLap::P3Format)PharLap::P3Format
relocation_table_size (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters_offset (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters_size (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_entry_size (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_offset (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_size (defined in PharLap::P3Format)PharLap::P3Format
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overridePharLap::P3Formatvirtual
ss (defined in PharLap::P3Format)PharLap::P3Format
stack_size (defined in PharLap::P3Format)PharLap::P3Format
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
symbol_table_offset (defined in PharLap::P3Format)PharLap::P3Format
symbol_table_size (defined in PharLap::P3Format)PharLap::P3Format
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
tr (defined in PharLap::P3Format)PharLap::P3Format
tss_address (defined in PharLap::P3Format)PharLap::P3Format
tss_size (defined in PharLap::P3Format)PharLap::P3Format
WriteFile(Linker::Writer &wr) overridePharLap::P3Format::Flatvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1Flat.html b/html/classPharLap_1_1P3Format_1_1Flat.html new file mode 100644 index 00000000..d64335cd --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1Flat.html @@ -0,0 +1,609 @@ + + + + + + + +RetroLinker: PharLap::P3Format::Flat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::Flat Class Reference
+
+
+
+Inheritance diagram for PharLap::P3Format::Flat:
+
+
+ + +PharLap::P3Format +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZStubWriter +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Flat (bool is_32bit=true)
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from PharLap::P3Format
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
P3Format (bool is_multisegmented, bool is_32bit=true)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Linker::Segmentimage
 
- Public Attributes inherited from PharLap::P3Format
+const bool is_multisegmented
 
+bool is_32bit
 
+uint16_t header_size
 
+uint32_t file_size
 
+uint32_t runtime_parameters_offset
 
+uint32_t runtime_parameters_size
 
+uint32_t relocation_table_offset
 
+uint32_t relocation_table_size
 
+uint32_t segment_information_table_offset
 
+uint32_t segment_information_table_size
 
+uint16_t segment_information_table_entry_size
 
+uint32_t load_image_offset
 
+uint32_t load_image_size
 
+uint32_t symbol_table_offset
 
+uint32_t symbol_table_size
 
+uint32_t gdt_address
 
+uint32_t gdt_size
 
+uint32_t ldt_address
 
+uint32_t ldt_size
 
+uint32_t idt_address
 
+uint32_t idt_size
 
+uint32_t tss_address
 
+uint32_t tss_size
 
+uint32_t minimum_extra
 
+uint32_t maximum_extra
 
+uint32_t base_load_offset
 
+uint32_t esp
 
+uint16_t ss
 
+uint32_t eip
 
+uint16_t cs
 
+uint16_t ldtr
 
+uint16_t tr
 
+uint16_t flags
 
+uint32_t memory_requirements
 
+uint32_t stack_size
 
+RunTimeParameterBlock runtime_parameters
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::Flat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::Flat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::Flat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::Flat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1Flat.png b/html/classPharLap_1_1P3Format_1_1Flat.png new file mode 100644 index 0000000000000000000000000000000000000000..5e58912fdcb5b6aaec3cfd7475652b1b9fa34d7b GIT binary patch literal 2259 zcmbtWYc!kL8rI8Hn>pG^PfM$`6-JMu7Y>3-XGn@sF%pgXB$#7Lg^CWE5|?q>l-44Q z+f4>ei@K5!5x*H6l_K$bJ`+c9i*7x3?{oVc% zYpViNhbbv3so2}0aY{;C1d#r8=Qcc?5&Q5!#WCHP{_pToR6aEq^FGKYVE+*yMW!8FZQy@(HNF_Zf_4P zb_P295>M9-IaZko2*06%ql7i1$`zlQsP(Eh8%szOgF4`4#%Y8H0^HK2#_>tV4Qd}x z7B97BLhwU`u*%R1+HIbdFXbS$I+)+lDy0RB&vF=+49Vc=H)d~_3>Qv6Ra;Mb$`9xl zpK~{>r@G%5?vi<}bYW#Jzs7!yZKW9xab3q$2zY%B@22C7s(cO2cdAPs>r;vYEBrjo zOS>u0>LY6dv|?BT4_{C%?+MDoE~h1%ZLw7|{FFpy6)C}GrE zaxf>j$Cvvf2KknDW43iF#YERv&lZXiXE*P4as=yw@Jy1?Cfw&q<`_;7}WvC?I z^>TaU`nT#!&j)`yQ=gX0pUlkU*dC{pY>d!A7NOy>^AM?5 z9ll6!0Ju(9Y+4sd>#`RZw1Hb!oqx@XenbdRMP3`ZO!Blaz8vRnBiKlg!6Fc;bTk7!@D48oLDd@XC`FCzkcq!+hDd;6V z`c>17ecaPKq68Kli{?v6pxF zg1Fm^=}a7#x|KM=KZLinOCzpLZWHj`JC_`)P|8H!#|xkXzsxbuYmtCPFAgMumh7sT z8e)f$!<3T|b3zrYI1)k5RP;pXhF_Swh_fT%2NcB+tNv~u)T2Sa=hqP zp`iuV59j24wMt_>Tkv{z4$s%k&;_V{+cjZc~f ziVJ3GSB+FB=_##`V-Mpcb4XBX?XU2nRGvf2JB$_)h-;E_{^;jt+Xva^?Q#Tyu-QER z2Kp3oLL9R3VEUCeUI@gLoa>hmx4JDWdH@H3v717CUl12J{8@~C>b$i*m*?wBEj61T zg_8QR6E`~LV+UN3r+rzYoF7ebZx ziA-ue%KDDPY?meRcKrXt)@VKhef|-MUqj$J3X-I916f&u4kbz=Vys;C-#{{A1j)fZJ8Kn24Eo$ zIteK6!do47VjsQ`%PxK9mVEod@`TlDdKbhp?;|OoRXPGDl#W>Fl_`haCAQDRU5~`+ zYY1(s2)9kE&v+DZ1lk5W3M-$CYa_^zDnd!332_;!>cgp&Gh~^N@RfvVw|4>2zP!-T3w+e zD(YxVG)rIS)!xGWz(lxX*{cJaijPTywL3&@NvVIG+WseF3N?r)GI(phZjXBVdL=U2 z6pC2uOGecNGuE$C)}M&|QNOeD7CiI2Po8`sk@c+gZiIflcQu(USRBQIn4a*U(Ur(% z-tfOxp%UGEATUxau*;-Jx@+57^~fKwE?wOTT4t=SOP1WPcFEhUMMr-sYQ>~w87;kD znVg;t2qfQ$daQimoLaf4JqOB?Kh1x>+yJD%52s|O_T6yNbv3GsP=oqhkKiy~Gh+-k zJplY0{7!r-Ro|T;GW~4xAyAU#J`$!TC5ZA~`@nB;V->)t50Oj{exJKDqgfItm9y?{ ZY-uZ2C!hKdu=$swWRJn3ORc^B{U5?AlsW(a literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented-members.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented-members.html new file mode 100644 index 00000000..dbd9effe --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented-members.html @@ -0,0 +1,215 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::MultiSegmented Member List
+
+
+ +

This is the complete list of members for PharLap::P3Format::MultiSegmented, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
base_load_offset (defined in PharLap::P3Format)PharLap::P3Format
CalculateValues() overridePharLap::P3Format::MultiSegmentedvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
code (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
cs (defined in PharLap::P3Format)PharLap::P3Format
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
eip (defined in PharLap::P3Format)PharLap::P3Format
esp (defined in PharLap::P3Format)PharLap::P3Format
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
file_size (defined in PharLap::P3Format)PharLap::P3Format
FinishCurrentSegment()Linker::LinkerManager
flags (defined in PharLap::P3Format)PharLap::P3Format
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() const overridePharLap::P3Formatvirtual
gdt (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
gdt_address (defined in PharLap::P3Format)PharLap::P3Format
gdt_size (defined in PharLap::P3Format)PharLap::P3Format
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overridePharLap::P3Formatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
GetStubImageSize() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
header_size (defined in PharLap::P3Format)PharLap::P3Format
idt (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
idt_address (defined in PharLap::P3Format)PharLap::P3Format
idt_size (defined in PharLap::P3Format)PharLap::P3Format
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
is_32bit (defined in PharLap::P3Format)PharLap::P3Format
is_multisegmented (defined in PharLap::P3Format)PharLap::P3Format
ldt (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
ldt_address (defined in PharLap::P3Format)PharLap::P3Format
ldt_size (defined in PharLap::P3Format)PharLap::P3Format
ldtr (defined in PharLap::P3Format)PharLap::P3Format
Link(Linker::Module &module) (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
load_image_offset (defined in PharLap::P3Format)PharLap::P3Format
load_image_size (defined in PharLap::P3Format)PharLap::P3Format
maximum_extra (defined in PharLap::P3Format)PharLap::P3Format
memory_requirements (defined in PharLap::P3Format)PharLap::P3Format
minimum_extra (defined in PharLap::P3Format)PharLap::P3Format
MultiSegmented(bool is_32bit=true) (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmentedinline
MZStubWriter(std::string stub_file="") (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
OnNewSegment(Linker::Segment *linker_segment) overridePharLap::P3Format::MultiSegmentedvirtual
OpenAndCheckValidFile() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
original_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
P3Format(bool is_multisegmented, bool is_32bit=true) (defined in PharLap::P3Format)PharLap::P3Formatinline
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overridePharLap::P3Format::MultiSegmentedvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overridePharLap::P3Formatvirtual
relocation_table_offset (defined in PharLap::P3Format)PharLap::P3Format
relocation_table_size (defined in PharLap::P3Format)PharLap::P3Format
relocations (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
runtime_parameters (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters_offset (defined in PharLap::P3Format)PharLap::P3Format
runtime_parameters_size (defined in PharLap::P3Format)PharLap::P3Format
segment_associations (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
segment_information_table_entry_size (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_offset (defined in PharLap::P3Format)PharLap::P3Format
segment_information_table_size (defined in PharLap::P3Format)PharLap::P3Format
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
segments (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overridePharLap::P3Formatvirtual
ss (defined in PharLap::P3Format)PharLap::P3Format
stack_size (defined in PharLap::P3Format)PharLap::P3Format
stub (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_file_valid (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_header_size (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_count (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
stub_reloc_offset (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
symbol_table_offset (defined in PharLap::P3Format)PharLap::P3Format
symbol_table_size (defined in PharLap::P3Format)PharLap::P3Format
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
tr (defined in PharLap::P3Format)PharLap::P3Format
tss (defined in PharLap::P3Format::MultiSegmented)PharLap::P3Format::MultiSegmented
tss_address (defined in PharLap::P3Format)PharLap::P3Format
tss_size (defined in PharLap::P3Format)PharLap::P3Format
WriteFile(Linker::Writer &wr) overridePharLap::P3Format::MultiSegmentedvirtual
WriteStubImage(std::ostream &out) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
WriteStubImage(Linker::Writer &wr) (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterprotected
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
~MZStubWriter() (defined in Microsoft::MZStubWriter)Microsoft::MZStubWriterinlineprotected
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented.html new file mode 100644 index 00000000..c52a66a8 --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented.html @@ -0,0 +1,649 @@ + + + + + + + +RetroLinker: PharLap::P3Format::MultiSegmented Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::MultiSegmented Class Reference
+
+
+
+Inheritance diagram for PharLap::P3Format::MultiSegmented:
+
+
+ + +PharLap::P3Format +Linker::OutputFormat +Linker::LinkerManager +Microsoft::MZStubWriter +Linker::Format + +
+ + + + + + + + + + + + + + +

+Classes

class  AbstractSegment
 
class  Descriptor
 
class  DescriptorTable
 
class  Relocation
 
class  Segment
 
class  TaskStateSegment
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

MultiSegmented (bool is_32bit=true)
 
void OnNewSegment (Linker::Segment *linker_segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from PharLap::P3Format
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
bool FormatSupportsSegmentation () const override
 Whether the format supports multiple segments.
 
P3Format (bool is_multisegmented, bool is_32bit=true)
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+DescriptorTable gdt
 
+DescriptorTable idt
 
+DescriptorTable ldt
 
+TaskStateSegment tss
 
+std::vector< AbstractSegment * > segments
 
+std::map< Linker::Segment *, Segment * > segment_associations
 
+std::set< Relocationrelocations
 
+Segmentcode
 
+Segmentdata
 
- Public Attributes inherited from PharLap::P3Format
+const bool is_multisegmented
 
+bool is_32bit
 
+uint16_t header_size
 
+uint32_t file_size
 
+uint32_t runtime_parameters_offset
 
+uint32_t runtime_parameters_size
 
+uint32_t relocation_table_offset
 
+uint32_t relocation_table_size
 
+uint32_t segment_information_table_offset
 
+uint32_t segment_information_table_size
 
+uint16_t segment_information_table_entry_size
 
+uint32_t load_image_offset
 
+uint32_t load_image_size
 
+uint32_t symbol_table_offset
 
+uint32_t symbol_table_size
 
+uint32_t gdt_address
 
+uint32_t gdt_size
 
+uint32_t ldt_address
 
+uint32_t ldt_size
 
+uint32_t idt_address
 
+uint32_t idt_size
 
+uint32_t tss_address
 
+uint32_t tss_size
 
+uint32_t minimum_extra
 
+uint32_t maximum_extra
 
+uint32_t base_load_offset
 
+uint32_t esp
 
+uint16_t ss
 
+uint32_t eip
 
+uint16_t cs
 
+uint16_t ldtr
 
+uint16_t tr
 
+uint16_t flags
 
+uint32_t memory_requirements
 
+uint32_t stack_size
 
+RunTimeParameterBlock runtime_parameters
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from Microsoft::MZStubWriter
MZStubWriter (std::string stub_file="")
 
+bool OpenAndCheckValidFile ()
 
+offset_t GetStubImageSize ()
 
+void WriteStubImage (std::ostream &out)
 
+void WriteStubImage (Linker::Writer &wr)
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
- Protected Attributes inherited from Microsoft::MZStubWriter
+std::string stub_file
 
+bool stub_file_valid
 
+std::ifstream stub
 
+uint32_t original_file_size
 
+uint32_t stub_file_size
 
+uint16_t stub_reloc_count
 
+uint32_t original_header_size
 
+uint32_t stub_header_size
 
+uint16_t original_reloc_offset
 
+uint16_t stub_reloc_offset
 
+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::MultiSegmented::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::MultiSegmented::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::MultiSegmented::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::MultiSegmented::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented.png b/html/classPharLap_1_1P3Format_1_1MultiSegmented.png new file mode 100644 index 0000000000000000000000000000000000000000..0b278fd13432836b8d08c1b0c39728246ad70f96 GIT binary patch literal 2661 zcmcguX;@QN8V;fbR4R)V7ZjXPY%7Q%APBMwt_W7Vrj*-`-@WI1 z-|yUOr@fBquHCv8gTd$?KjwZ0gINWl<7e8MXd8Di>oVGHJMDSaV`*s#9ga;ZWAk2= z+U@@$YBLoc8yXryaU0IL2k4wm%o#5q3~H}DwyWq}C^miE-Supo#*|>H0J76NGRzLX zku%>kqR`yfCF}0S-Hr%%kh9j-OS7skxNDM%FD%i*2_~c#W&qSpB#97 z2}*gVHkFYg;dHJlRr_|7mMgi&fxtaH=&<%OoL8z2AsIU}OZS!{&BFM>gZFoc?{11? zJ~*73t8&RGOn1;u*eEj}+co)3yN|;sC}$MCMHMC|ReN5VYqw)f^nwhC+&iJJ zMr!|76N3@#?j382Jc`mCa~*OhlPUP+*GDw;bFZEvcyW$bzivMH@KBBelX^Yj^&QDD zTTO1c4z?d`)^ew%`_kfHXRV7aU2o6Kxt?I5^g+sLHZG~eEl#E{>NXayX(;#!b>2|a zUjmZEMQf7qzny~5yL)SV*CzbHWrB)Ba%=UG_np&%;idWDR?o4bG*F(??zav1J*oC{ zv9^XiAt!j#>M@!{_7>dt&|{S(10wL6Qd_nk$s+3Ig|(B*y0 zP;D0Ye}Uqz25rvJy@kmP+MLjO8mKu~unmv4>Z_QlXaErC;~0?rF2XrL=?RxX<2PyF z0Q{ZUDhLWq4iOXiWsLxTyvo6N7Kh)?-pOzU0NaHq7BrqABo1^wal}T+;umEMD0xVU zF=8U{_U%8tw~9EZtPCU}WBKNmhg69`&D_%ndnmOHIP1sHJ;8@sjs@ zSNH?`iG>$1l^D8PAn1x0o|~Wj8`wm#6}EwyJz;g3(%ts6!d*G4nZG`ZeN!ST43tPq z2a$JA5O&ddphmn{q;iW0T<<576a_wHkdU}32r7A z8j04Ek2gZ^Q#xVN9cm)o?H*Iw4fF5NT_>carub$E3K-HPIBoCm(UfplFQbhXl#?w3 zbM&yrr+4XDVfY@N;1i370VW+~6Ol1(TGhz`mL4i1_vt{#eRFj?oCruLl_Or05F}B# zb1B%``YW^ZEZBybH_~G293fOd9{5@ z(hjU`&lQ9q1X;=Z0l;}?8_Kz4&V;lA8vjdjI04|Nysj`gYN>G!Sjy}BMTN|Z=z^OYBNHVDOom+HQxK~B(AqF@ z(8Ptd2&ZR}38;NB*evFiSTo(i0Jqb{_oe3;c$PGFlcux%7hAi16S}n--xw8=Tju2K zd{VD`cAj_zlazlW4HK#Vv)9V1Rn;D7mG~c_>DB1RY+Jo5rfpfj!Db&${eF)YIXtjE zFT@wsglo@KnTV?TKp%E4Lv{Tb)^JWtC3r0bSd*|5iuVwNBI*-plEBq@rAAcogSuDQ zNSW^=e3fKfDc6J)2Jkh}ARId3o@3#<`561WuXTUiOztM;Z@^c1f7w)kXF$X(u-&%F z8i_N1aDJ|4hRnzD>b`9Vc>kp+?df?yd1yK2jUv_wGV>o^{^7Wuy#p4NR)~EQH14sy z^-=gKhcb(AEL4_&{}fN#BBdO^zRz$wpYbSVg_exznu%%Vz7A4J;AlsuG|8qo6c02U zfzumRchSsyE82?ifbvr`hS{%$RQ(v8SEY zaAdZqH&+WW}EN~B%|jC<@B&#_`(oYC&sVGgCvI7;z;_&L#{J8t3;0a^^Z@S$Eh73Q$?B-i z=pCLIZ~$p7C&PXv4bcM@PRv$WYqUxQ6&4#L!Razp-7mxHra=n0<_Uxg`=ybxJDMW-_{vpI1_waHrce`-)U!(v*LI3~& literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment-members.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment-members.html new file mode 100644 index 00000000..08727dcb --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::MultiSegmented::AbstractSegment Member List
+
+ + + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.html new file mode 100644 index 00000000..486f1f0e --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.html @@ -0,0 +1,126 @@ + + + + + + + +RetroLinker: PharLap::P3Format::MultiSegmented::AbstractSegment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::MultiSegmented::AbstractSegment Class Referenceabstract
+
+
+
+Inheritance diagram for PharLap::P3Format::MultiSegmented::AbstractSegment:
+
+
+ + +PharLap::P3Format::MultiSegmented::DescriptorTable +PharLap::P3Format::MultiSegmented::Segment +PharLap::P3Format::MultiSegmented::TaskStateSegment + +
+ + + + + + + + +

+Public Member Functions

+virtual uint32_t GetStoredSize ()=0
 
+virtual uint32_t GetLoadedSize ()=0
 
+virtual void WriteFile (Linker::Writer &wr)=0
 
+ + + +

+Public Attributes

+uint32_t address
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.png b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.png new file mode 100644 index 0000000000000000000000000000000000000000..4e7e645492ca0934f1756cafd00fdc954deeb9eb GIT binary patch literal 2067 zcmb_cc~Fzr7XOe6f}$WTpr8&IM5--2VG*d$PzX!V1PcVluxMjIqA6fNO2V{)5oC)% zhzPtVAf_T)kN_WP93o&rP=bUlpI}i@mJcyNSOnfjYX9%ddw1q{@44s9IdjfEzk9Bq z#Cd3G?$rbUKnv@M!2^IQgvckisUo|L^sNPQ7@qX;ci-69K*V>`3vpSk6%Ll>mkc;h z-;IrpA$q&+AIcD$Ml2pj0Fb+Kp|=#i008x3Eatd>yvj^bFniKL8nuZg|H)0mzVtYD=$)WFQb!H z91OX9y^HRcmFXsD?&%UEot)a{L~GJ}7j*t@tn@!sQvNx0N}hKl569|_|u#!1(X za;9UOCKw@+E^&1G#JL_JO=zr3x40%23iQa4-6pcPQm46}>SlQu49ko3?CHkl;rrz?nWDg6VGu!q!f5q>HAIjD1C$TlFq!6mY8?QFVZwlXvF8y?tY z7(XJvASKW_J%cobn3?yKyCLV7I;2U#E71@fRkTF$QuZP5ApEV-@SpJXN`?WuB6dwX z$Frb0FZ!AO)Y`&;ZPwiqW}&ydSFlW6nY9u%)>KsW z<6}B)an|I_+ym$ZT3?rhd)rsOE|u;gDBa6YoRgTx&PD~hb$UCQ*^3W8_iOYOyez%J zTH?ez|5a)`M+S*MRFjj?pYP1DeimygRQYmYbPr7ZKNPKYh(lAu40fu90y~mb;H@4hy8!UKh|eCW{$^4QpX)KE84>|#~m)WD)(Pbv2UREp}z6NTC-!d z)6KC(HJ~X^OTP>i*Bb7HH=CwnBgI=c)dlPq8elMc_|kDiee^D3hx5zqL$VR|rrTke zi_A?SV&@VlUy~uy+iGVq|Gd1*X?J_Q|$!<;|aRO)YFz~=vuit!0 zWf@~lgRQFX2A&E`NXQHJP2Kk-q&X2vE1Mo7SR)hQD0a{FHHll$ien{8_?ip4v1<3^ z+sDQzHiBM7z`x%Le+VSZ-vYDFGA7~qF_7t-RqWyILThfguqc}wY21I}I=gEZZT3MM zm&o_*^OD@lqLoKRP5em8)0T&KYMJE_p(OJZHzbW`Loo{XFT1u!@$TELI9X}XFcW0> z4Buta5p1bb@t%(@fB)Qkw9bg~q?mGQq{{uxL!q8|37&Gq8NE7uwP5PqP^#Q!z5uMg z^P$2DMY*<*PWryKrG}l0otJ%7kNXx%+CZ6~%=wvw*(W zm2DAyU%Du$Ivf<@{m@DsO0r9F%P__|`^%DC+B#c_m4zkl=Y&a>F*9&aW+Q%(#|!^Y zhF6^F!1B~mwN)kN&7_}OD|J(5)J_XlDorTGwg(~oV1nPlbI%sj{gZgGc z9C)44_OaFLV|nj=W7q!W8gRQEG52Yv6UDRmr_x_@T~9~h#=myTC!}{zgNZh8tD&`X znj*s!?91nA3eMq%Ci}?VC}US?!YHIzWpL$kipK%S!n)%yRsRb8<-dTu<{kh5 literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor-members.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor-members.html new file mode 100644 index 00000000..aa30f2bf --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor-members.html @@ -0,0 +1,106 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::MultiSegmented::Descriptor Member List
+
+
+ +

This is the complete list of members for PharLap::P3Format::MultiSegmented::Descriptor, including all inherited members.

+ + + + + + + + + + + + + + + + +
access (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
base (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
CalculateValues() (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Code16 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Code32 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Data16 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Data32 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
DESC_G enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Descriptor(uint32_t access, AbstractSegment *image=nullptr) (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptorinline
image (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
LDT enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
limit (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
TSS16 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
TSS32 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
WriteEntry(Linker::Writer &wr) (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.html new file mode 100644 index 00000000..5e671138 --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.html @@ -0,0 +1,150 @@ + + + + + + + +RetroLinker: PharLap::P3Format::MultiSegmented::Descriptor Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::MultiSegmented::Descriptor Class Reference
+
+
+
+Inheritance diagram for PharLap::P3Format::MultiSegmented::Descriptor:
+
+
+ + +PharLap::P3Format::MultiSegmented::Segment + +
+ + + + +

+Public Types

enum  {
+  TSS16 = 0x00008100 +, LDT = 0x00008200 +, TSS32 = 0x00008900 +, Code16 = 0x00009A00 +,
+  Code32 = 0x00409A00 +, Data16 = 0x00009200 +, Data32 = 0x00409200 +, DESC_G = 0x00800000 +
+ }
 
+ + + + + + + +

+Public Member Functions

Descriptor (uint32_t access, AbstractSegment *image=nullptr)
 
+void CalculateValues ()
 
+void WriteEntry (Linker::Writer &wr)
 
+ + + + + + + + + +

+Public Attributes

+AbstractSegmentimage
 
+uint32_t limit
 
+uint32_t base
 
+uint32_t access
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.png b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.png new file mode 100644 index 0000000000000000000000000000000000000000..9c8ca854e3412c7580089072e13781ccc5b8dafa GIT binary patch literal 1129 zcmeAS@N?(olHy`uVBq!ia0y~yV3Yu|12~w03f*F8(FfeDDeT9L6`HQEEV@L(#+qn<>UTg8R zw0CZq^}YVl?o8$z371l~KhOFu6E11WXmg;walgjWDIuCmD;9bLc}=Po>QQ0!GMFTy zanK`Z0gJL{qtuM!o_qd#PrA;zOKR)>E9b?RM3>gSd~1Jy-uc5Glh&OufAdY>Hs<)G zJC_fBndn(`UQ$9>l-+yMWXYX>i|>X88}`31$!R`aekn&+LOfPm zuC-Q@cgC^O^}RKHLC;Hij_k6#ee^Cf9BH3dcbn*$!5v2zgu{38ANX{E8p_M z{kh)iSH)-Y)@5C&s(kXqxoOkJqFL8dE{56KB-?P#&N!BM>xBQSb4PkJPpuL*U@Pe; z(VN$9);x21-liA4F~@csm9vy}b$ow$NwR_MzU}kF?#z@~pl%TSu_&W#Ytx*4{An@Y zcczJMWigh!pq|h+TVYM#=fa7GtCv=5&qyq~&$!u2=Gp1IRdG2>>kPL%*0)O*JAP&9 z+LY}M`c`?W^S`~FCy~E2QQLNLv*ETwkDp|kckZ6LX7c=)3+rU-Kdw!ApHQyNo1pS? z(z|WbmzcjeU$VRGuV_Ns>cC0&mc;WdTeeeWZ}@v)c>iy}hylBUQ-Zu!O$nOA@Zk6h zW`-b!2U8Om60RM0pTyYU$;rl$R$Jt0#9*LxkilWa5hjL4Asz-6F9QYv4WPgR7G@d= z)QQZ;9vG;|KIs4dz%&+X4S8p zuYPuJG%W3OsH{I>Zju-ORpP*xi4#j8>1OhhVD`^7#*6d$u1-^l&tiP`T29-*jP=|3 zeOuhUey%hL=RW3oy~{l@-i>)#;oWTI`HQbu$|`SMcfRa0Q_SZIR#=jW63?9lPBQmF zNv0kcuyMh1Pv4^lfzmN7#_N8^Z0?F`l006(l(vKO&?^i1=ZC+qI{y72 z&*a~HGd>hZ9MD-M9=&q@qH^239M#>dRTm4jdE3M8SNsc;+IGpf%Hsanse$jOR+aFY zca?t9Hr>Aa?M4RYNz literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable-members.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable-members.html new file mode 100644 index 00000000..0d4e4312 --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable-members.html @@ -0,0 +1,98 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::MultiSegmented::DescriptorTable Member List
+
+ + + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.html new file mode 100644 index 00000000..74d4aa3f --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.html @@ -0,0 +1,210 @@ + + + + + + + +RetroLinker: PharLap::P3Format::MultiSegmented::DescriptorTable Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::MultiSegmented::DescriptorTable Class Reference
+
+
+
+Inheritance diagram for PharLap::P3Format::MultiSegmented::DescriptorTable:
+
+
+ + +PharLap::P3Format::MultiSegmented::AbstractSegment + +
+ + + + + + + + + + +

+Public Member Functions

uint32_t GetStoredSize () override
 
uint32_t GetLoadedSize () override
 
void WriteFile (Linker::Writer &wr) override
 
+void CalculateValues ()
 
+ + + + + + +

+Public Attributes

+std::vector< Descriptor * > descriptors
 
- Public Attributes inherited from PharLap::P3Format::MultiSegmented::AbstractSegment
+uint32_t address
 
+

Member Function Documentation

+ +

◆ GetLoadedSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t P3Format::MultiSegmented::DescriptorTable::GetLoadedSize ()
+
+overridevirtual
+
+
+ +

◆ GetStoredSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t P3Format::MultiSegmented::DescriptorTable::GetStoredSize ()
+
+overridevirtual
+
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::MultiSegmented::DescriptorTable::WriteFile (Linker::Writer & wr)
+
+overridevirtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.png b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.png new file mode 100644 index 0000000000000000000000000000000000000000..65db5c13fdfc71fd62d2d74e413b610d265daf5c GIT binary patch literal 1239 zcmb_c|3A|S82=E3lumLy zQCO4}o0&5Co~t(QC0}whMj6f6Ew(e7`_$iX&kxV@exB$3dY;$odB0vyHZIVAo!J&M z007p30f+GbVBig7oXINK^Y3Er!NC@HEcnRE$_fmpW)?2wwmsPYom0|ghIndhYz(gN zlZ2GRJ=62}Kmq{gUkz=@>H`3yIPmbnV48ulSOHBqn`f{t_6IkwY^0zzBU%Eh#oa?y zW%-S9)Z2e$`O$01!-ap>lN(Wq2o=Jm!+2W;OYWZz~0K$Pe$lkIy4{Q zE_m#z(DUeQ^GgF7hOb_uNwv=mP}?nD(B;`ahp{4*9yA0=>G8!xnV9p5(RcS zN~%VUr?_}9UWDnYkirCV=pfP?GIy5Uj>n;C!}a7U@^JlY!!&wW43KA- zrohsG4Q~cRdsn69S=s{~=ZTDYz~O$z8Xy+w379y`4E%7W7Qpo{wBWW?X|URWQGp6@ zsDvr-)~O1QeTuRIv0(2nNN>>0Sq9>9ra=(A9kR;5rmftjrGsiu15wYj z=9v;VO<78jcvQ;nY0pD6?L3fV761*L%jqiBjp+6c@l?8x$ft61HdDZM1p^&Dm*gXJ z3CQV+oU!PdJ?YHR(R31FT0cZ6=Wr|rBZR|J(wtrHi{}-qj}z&0(L+_-ZhUmMK)02Y z&OJ5qd9lITQPX+L!1idDN<6gZp0ebk-`a}Z5_X5jl5FIpT;EqAiC&jTi3wK|tjR>V z)nI&_f2viDk3!+q^M+^Y6;Z=zr)rD75zab!1&uK!VR0oad4)tZsVqKb-abGaV9KF{ z_;8lBOHoU;Y+>=raz3Uz;N2}#XQ7`uK=dYLje&mCZ6xUSv zP9gIBQ>(xgp$2O_etpQvj8zsONr@%=ZkKI|njCqBa)Zk-Baq20S^Xi9w0FS + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::MultiSegmented::Relocation Member List
+
+ + + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Relocation.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Relocation.html new file mode 100644 index 00000000..08ef277d --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Relocation.html @@ -0,0 +1,121 @@ + + + + + + + +RetroLinker: PharLap::P3Format::MultiSegmented::Relocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::MultiSegmented::Relocation Class Reference
+
+
+ + + + + + + + + + +

+Public Member Functions

Relocation (Segment *segment, uint32_t offset)
 
+bool operator== (const Relocation &other) const
 
+bool operator< (const Relocation &other) const
 
+void WriteFile (Linker::Writer &wr) const
 
+ + + + + +

+Public Attributes

+Segmentsegment
 
+uint32_t offset
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment-members.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment-members.html new file mode 100644 index 00000000..1da853a6 --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment-members.html @@ -0,0 +1,117 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::MultiSegmented::Segment Member List
+
+
+ +

This is the complete list of members for PharLap::P3Format::MultiSegmented::Segment, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
access (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
address (defined in PharLap::P3Format::MultiSegmented::AbstractSegment)PharLap::P3Format::MultiSegmented::AbstractSegment
base (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
base_offset (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segment
CalculateValues() (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Code16 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Code32 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Data16 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Data32 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
DESC_G enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Descriptor(uint32_t access, AbstractSegment *image=nullptr) (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptorinline
flags (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segment
GetLoadedSize() override (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segmentvirtual
GetStoredSize() override (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segmentvirtual
image (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
LDT enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
limit (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
Segment(Linker::Segment *segment, uint32_t access, uint16_t selector) (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segmentinline
segment (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segment
selector (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segment
TSS16 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
TSS32 enum value (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
WriteEntry(Linker::Writer &wr) (defined in PharLap::P3Format::MultiSegmented::Descriptor)PharLap::P3Format::MultiSegmented::Descriptor
WriteFile(Linker::Writer &wr) override (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segmentvirtual
WriteSITEntry(Linker::Writer &wr) (defined in PharLap::P3Format::MultiSegmented::Segment)PharLap::P3Format::MultiSegmented::Segment
~AbstractSegment() (defined in PharLap::P3Format::MultiSegmented::AbstractSegment)PharLap::P3Format::MultiSegmented::AbstractSegmentvirtual
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.html new file mode 100644 index 00000000..907dab0c --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.html @@ -0,0 +1,263 @@ + + + + + + + +RetroLinker: PharLap::P3Format::MultiSegmented::Segment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::MultiSegmented::Segment Class Reference
+
+
+
+Inheritance diagram for PharLap::P3Format::MultiSegmented::Segment:
+
+
+ + +PharLap::P3Format::MultiSegmented::Descriptor +PharLap::P3Format::MultiSegmented::AbstractSegment + +
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Segment (Linker::Segment *segment, uint32_t access, uint16_t selector)
 
uint32_t GetStoredSize () override
 
uint32_t GetLoadedSize () override
 
+void WriteSITEntry (Linker::Writer &wr)
 
void WriteFile (Linker::Writer &wr) override
 
- Public Member Functions inherited from PharLap::P3Format::MultiSegmented::Descriptor
Descriptor (uint32_t access, AbstractSegment *image=nullptr)
 
+void CalculateValues ()
 
+void WriteEntry (Linker::Writer &wr)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+Linker::Segmentsegment
 
+uint16_t selector
 
+uint16_t flags
 
+uint32_t base_offset
 
- Public Attributes inherited from PharLap::P3Format::MultiSegmented::Descriptor
+AbstractSegmentimage
 
+uint32_t limit
 
+uint32_t base
 
+uint32_t access
 
- Public Attributes inherited from PharLap::P3Format::MultiSegmented::AbstractSegment
+uint32_t address
 
+ + + + +

+Additional Inherited Members

- Public Types inherited from PharLap::P3Format::MultiSegmented::Descriptor
enum  {
+  TSS16 = 0x00008100 +, LDT = 0x00008200 +, TSS32 = 0x00008900 +, Code16 = 0x00009A00 +,
+  Code32 = 0x00409A00 +, Data16 = 0x00009200 +, Data32 = 0x00409200 +, DESC_G = 0x00800000 +
+ }
 
+

Member Function Documentation

+ +

◆ GetLoadedSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t P3Format::MultiSegmented::Segment::GetLoadedSize ()
+
+overridevirtual
+
+
+ +

◆ GetStoredSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t P3Format::MultiSegmented::Segment::GetStoredSize ()
+
+overridevirtual
+
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::MultiSegmented::Segment::WriteFile (Linker::Writer & wr)
+
+overridevirtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.png b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.png new file mode 100644 index 0000000000000000000000000000000000000000..825c64d7726ebfefaf700a17fa1cb96935edbd1a GIT binary patch literal 1652 zcmeAS@N?(olHy`uVBq!ia0y~yU}^%g12~w03f*F8(FfeDDeT9L6^}nZ!V@L(#+qrKiZPpQB zz3m*D_3nSyecwmy9a611PjBu~&%Um8qQRND-cwU`a*)^c#D7btO!CxR`g(%ONsmjR zMXahIYRv)_(a4Spr@M3M z-B(_@qwmtpt+(=YJXvQd|J=Xmx8@p^y(#_&xecR4|7@FcH~+Q8Zmw-5m0kyHI_=s_ z^!FB?oX$C;`T0wosPoNx#r0mRc|W(2{(ft%MRKNKri`cD*Pr*QEcK^eEzfPaarWiJ zrua#leGaOopPw#Yxaqu1_1>T6JZ-!?VI$wQo3hy(rqb>e1bWPmA|#d|sjj)U*1!^GDmG2~xZEEPGHDd(E_Z zZQ13WRnIl%e&*cXx9^^u8Mj&4!M&XItDEAdZGN>-#>aVjesICmN%Km?x`U)PWzT)) zcxwG#=Ty5#&m?9yN7SBKul-|s(YEU))<>r5t(QOYGjW5+-#?+=FC)WkueG1r{Po!M zv#tHJUwX`boRYiDEHAc4Gqs@z(mE5lBh7!-Bb62Q-X{%mzK=* zfiff;>SstdFupht$&zv8B=d`-K>Bf6@i&HF1!9a+g`XIz3dI<2{Wv*yGy8?s%^Vjx zCbM7Y2GTvj5E{m(ls@scZ1>FDZ_8dY9bl+Yofpr*{6TSzLIdLufiMA}2!}RD0)t(P zD2oAu{2?wTi3a{eRz{u!?HigH*d91XI1;0L-<(7VHe;T{1+omx7mf-DCMqedOJZgG zwXsQ1&^N-dp>9ori;HlWzyf(~3Bij%yIvgUa&s{OTJ*~@tYF9gcmI`@y!fR2*1j{p z{FwXd^H(p^D*r!!S82=S>N00xjbZmS8D*tK2e_ENe0Dl`w6Q~Doigj@u-m=LN?c;B z^UG(d7q@8UxE%2=6M54iC>WRkGIw>tzO{Gdr@zg*qvoCY?B{7wohX0N{zIwRr$pxP z?z^6MRMNZK>EA4I?WP{D@LwTErJZ+6 zDJv!MYja#UugZG8Ix=?i^{nuNUvuO&EatusJ^xy_bhCo=tyY-D_m)2JS}e!f-K&#y zV%^qR&MtLtWsmf)-5vD72WI1R{zrcpV!P`8t$O<$l$Y2)ZZ1_k7_l{D)0~^$bJm;{ zSs5ezwR(E8i_05OkX3HHq^xxA!!iRw!SD+A?Pm=^uC5P1nAF_ck+DF#4H#|D`QJA^ zj+7F-=;O}=a%j8Xg^rH>eaI1tJI>Q3+79v@Hi%(=AphLHh{I#o^_kN7!1{r~)78&q Iol`;+0Jd8J>Hq)$ literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment-members.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment-members.html new file mode 100644 index 00000000..e6a6baa1 --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment-members.html @@ -0,0 +1,124 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::MultiSegmented::TaskStateSegment Member List
+
+
+ +

This is the complete list of members for PharLap::P3Format::MultiSegmented::TaskStateSegment, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
address (defined in PharLap::P3Format::MultiSegmented::AbstractSegment)PharLap::P3Format::MultiSegmented::AbstractSegment
cr3 (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
cs (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ds (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
eax (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ebp (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ebx (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ecx (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
edi (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
edx (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
eflags (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
eip (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
es (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
esi (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
esp (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
esp0 (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
esp1 (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
esp2 (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
fs (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
GetLoadedSize() override (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegmentvirtual
GetStoredSize() override (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegmentvirtual
gs (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
iopb (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
is_32bit (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ldtr (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
link (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ss (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ss0 (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ss1 (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
ss2 (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegment
TaskStateSegment(bool is_32bit=true) (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegmentinline
WriteFile(Linker::Writer &wr) override (defined in PharLap::P3Format::MultiSegmented::TaskStateSegment)PharLap::P3Format::MultiSegmented::TaskStateSegmentvirtual
~AbstractSegment() (defined in PharLap::P3Format::MultiSegmented::AbstractSegment)PharLap::P3Format::MultiSegmented::AbstractSegmentvirtual
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.html b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.html new file mode 100644 index 00000000..01dd98b3 --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.html @@ -0,0 +1,288 @@ + + + + + + + +RetroLinker: PharLap::P3Format::MultiSegmented::TaskStateSegment Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::MultiSegmented::TaskStateSegment Class Reference
+
+
+
+Inheritance diagram for PharLap::P3Format::MultiSegmented::TaskStateSegment:
+
+
+ + +PharLap::P3Format::MultiSegmented::AbstractSegment + +
+ + + + + + + + + + +

+Public Member Functions

TaskStateSegment (bool is_32bit=true)
 
uint32_t GetStoredSize () override
 
uint32_t GetLoadedSize () override
 
void WriteFile (Linker::Writer &wr) override
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+bool is_32bit
 
+uint32_t esp0
 
+uint32_t esp1
 
+uint32_t esp2
 
+uint32_t cr3
 
+uint32_t eip
 
+uint32_t eflags
 
+uint32_t eax
 
+uint32_t ecx
 
+uint32_t edx
 
+uint32_t ebx
 
+uint32_t esp
 
+uint32_t ebp
 
+uint32_t esi
 
+uint32_t edi
 
+uint16_t ss0
 
+uint16_t ss1
 
+uint16_t ss2
 
+uint16_t es
 
+uint16_t cs
 
+uint16_t ss
 
+uint16_t ds
 
+uint16_t fs
 
+uint16_t gs
 
+uint16_t ldtr
 
+uint16_t iopb
 
+uint16_t link
 
- Public Attributes inherited from PharLap::P3Format::MultiSegmented::AbstractSegment
+uint32_t address
 
+

Member Function Documentation

+ +

◆ GetLoadedSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t P3Format::MultiSegmented::TaskStateSegment::GetLoadedSize ()
+
+overridevirtual
+
+
+ +

◆ GetStoredSize()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t P3Format::MultiSegmented::TaskStateSegment::GetStoredSize ()
+
+overridevirtual
+
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void P3Format::MultiSegmented::TaskStateSegment::WriteFile (Linker::Writer & wr)
+
+overridevirtual
+
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.png b/html/classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.png new file mode 100644 index 0000000000000000000000000000000000000000..ec43bb86ee9417a79c0b723c549e3492348670ec GIT binary patch literal 1243 zcmeAS@N?(olHy`uVBq!ia0y~yU~~qu12~w0W0G|-o|Ns93nJ?aaE$u(F z+`>S!Kw|ot7Y`mh0E(NQ4O;?~<17jC3uXZF!N8np_7w&OmNZWn$B+ufw{zbXeb(Y> znf}!${r&$gf8pB-jD9(*^Q(;(_if+!bHb5kf%=U)rzb^COWmofqcT(J5C?$*Ccd;ix(&tI-M$wt}!LfzW; z>+17NA6zob=~j3-FP!J>nx83?O0syitA69@jhs}o+PN(?>G_0*vD1s&%r?#|ywY-0 z=<51iQCoQKzL9#kc;nk`i4of$T(sW2d8?Iow92(tR(S~#*4q#ITc^#OeLY(*-q3{o z)S80-TbS>>+v)Tm&HnGMn7i|JS8ZJVDfg|hcikzIKigRH@5s!l*1Lbzng4A5+Wd`Q z^Y1F8AK55b^p(|lvwHBadOPPBsGJPmq&h*R-n0I}w<)Ln6JNaNn)K(n z)!R?Wp9-wwRenZWz5XQTJjqAZdD0(6Akm{KIVr{G=RUTVc^h^WO4}c6ktg5YGV)x28sh?nc>J39!7;_DI5%j zs?H1@nm{E!K+RNA@{6Hu>6A%YOQ+m+nz&?&%H0s7DNANdTBve#3XiJhvJ?$Z!_c<# z+|NF0d&cQ&yx%OR|NHrD-<5ZNdrSZSyUotuc~Xg6UBXtY?xSnAmgj`4c&2Zey_)B? zlFH8KqRz(Ic9E0jNFDxqwk1aQO`7VvW5!n`xO> zzppUcmTSiITFj;@y=+@pdS>^LsMzDBN3y2-mWcNm7T)|kWuaw2TI=uSvH@>zNxZ#q zHkj8%>)p*mlDoC;U$fi%Wcine+w13gC*N(}`|#%mxvGr2*S_t(`YFrA=-uAc?ZC7oXEahO*AmtsqyDjn@y41He1OsBNKlo&Q#Y`jfTN-t)oFtG}*&_HC1G z=Qy0H_*z1)M1D@{dN-$^edBNle5&;Rc_-^eK}=a-}EK&7vy)^KK`jJQC8|Vsm^n` zO}(4kHtpa^b;0R2@#z|#D}hmDzZ?`#s?MHWnvz~YKKFUNHC02sG|RurAB|xzWr>j2 Q0Tx3Hp00i_>zopr0E$;aQ2+n{ literal 0 HcmV?d00001 diff --git a/html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock-members.html b/html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock-members.html new file mode 100644 index 00000000..114d0ddf --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock-members.html @@ -0,0 +1,103 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PharLap::P3Format::RunTimeParameterBlock Member List
+
+ + + + + diff --git a/html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock.html b/html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock.html new file mode 100644 index 00000000..d14d3c23 --- /dev/null +++ b/html/classPharLap_1_1P3Format_1_1RunTimeParameterBlock.html @@ -0,0 +1,139 @@ + + + + + + + +RetroLinker: PharLap::P3Format::RunTimeParameterBlock Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PharLap::P3Format::RunTimeParameterBlock Class Reference
+
+
+ + + + + + +

+Public Member Functions

+void CalculateValues ()
 
+void WriteFile (Linker::Writer &wr)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+uint16_t min_realmode_param
 
+uint16_t max_realmode_param
 
+uint16_t min_int_buffer_size_kb
 
+uint16_t max_int_buffer_size_kb
 
+uint16_t int_stack_count
 
+uint16_t int_stack_size_kb
 
+uint32_t realmode_area_end
 
+uint16_t call_buffer_size_kb
 
+uint16_t flags
 
+uint16_t ring
 
+
The documentation for this class was generated from the following files:
    +
  • src/format/pharlap.h
  • +
  • src/format/pharlap.cc
  • +
+
+ + + + diff --git a/html/classScript_1_1List-members.html b/html/classScript_1_1List-members.html new file mode 100644 index 00000000..d3b4f512 --- /dev/null +++ b/html/classScript_1_1List-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Script::List Member List
+
+
+ +

This is the complete list of members for Script::List, including all inherited members.

+ + + + + + +
Append(Node *node) (defined in Script::List)Script::Listinline
children (defined in Script::List)Script::List
init() (defined in Script::List)Script::Listinlineprotected
init(Node *node, Nodes ... nodes) (defined in Script::List)Script::Listinlineprotected
List(Nodes ... nodes) (defined in Script::List)Script::Listinline
+ + + + diff --git a/html/classScript_1_1List.html b/html/classScript_1_1List.html new file mode 100644 index 00000000..e498f20a --- /dev/null +++ b/html/classScript_1_1List.html @@ -0,0 +1,123 @@ + + + + + + + +RetroLinker: Script::List Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ + + + + + + +

+Public Member Functions

+template<typename ... Nodes>
 List (Nodes ... nodes)
 
+ListAppend (Node *node)
 
+ + + +

+Public Attributes

+std::vector< Node * > children
 
+ + + + + + +

+Protected Member Functions

+void init ()
 
+template<typename ... Nodes>
void init (Node *node, Nodes ... nodes)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classScript_1_1Node-members.html b/html/classScript_1_1Node-members.html new file mode 100644 index 00000000..be9dec85 --- /dev/null +++ b/html/classScript_1_1Node-members.html @@ -0,0 +1,147 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Script::Node Member List
+
+
+ +

This is the complete list of members for Script::Node, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Add enum value (defined in Script::Node)Script::Node
AlignAddress enum value (defined in Script::Node)Script::Node
AlignTo enum value (defined in Script::Node)Script::Node
And enum value (defined in Script::Node)Script::Node
AndPredicate enum value (defined in Script::Node)Script::Node
Assign enum value (defined in Script::Node)Script::Node
at(size_t index) (defined in Script::Node)Script::Nodeinline
at(size_t index) const (defined in Script::Node)Script::Nodeinline
BaseOf enum value (defined in Script::Node)Script::Node
Collect enum value (defined in Script::Node)Script::Node
CurrentAddress enum value (defined in Script::Node)Script::Node
Identifier enum value (defined in Script::Node)Script::Node
Integer enum value (defined in Script::Node)Script::Node
IsCustomFlag enum value (defined in Script::Node)Script::Node
IsExecutable enum value (defined in Script::Node)Script::Node
IsFixedAddress enum value (defined in Script::Node)Script::Node
IsHeap enum value (defined in Script::Node)Script::Node
IsMergeable enum value (defined in Script::Node)Script::Node
IsOptional enum value (defined in Script::Node)Script::Node
IsReadable enum value (defined in Script::Node)Script::Node
IsResource enum value (defined in Script::Node)Script::Node
IsStack enum value (defined in Script::Node)Script::Node
IsWritable enum value (defined in Script::Node)Script::Node
IsZeroFilled enum value (defined in Script::Node)Script::Node
list (defined in Script::Node)Script::Node
Location enum value (defined in Script::Node)Script::Node
MatchAny enum value (defined in Script::Node)Script::Node
MatchName enum value (defined in Script::Node)Script::Node
MatchSuffix enum value (defined in Script::Node)Script::Node
Maximum enum value (defined in Script::Node)Script::Node
MaximumSections enum value (defined in Script::Node)Script::Node
Minimum enum value (defined in Script::Node)Script::Node
Neg enum value (defined in Script::Node)Script::Node
Node(node_type type, Value<> *value, List *list) (defined in Script::Node)Script::Nodeinline
Node(node_type type, Value<> *value) (defined in Script::Node)Script::Nodeinline
Node(node_type type, List *list) (defined in Script::Node)Script::Nodeinline
Node(node_type type) (defined in Script::Node)Script::Nodeinline
node_type enum name (defined in Script::Node)Script::Node
Not enum value (defined in Script::Node)Script::Node
NotPredicate enum value (defined in Script::Node)Script::Node
Or enum value (defined in Script::Node)Script::Node
OrPredicate enum value (defined in Script::Node)Script::Node
Parameter enum value (defined in Script::Node)Script::Node
Segment enum value (defined in Script::Node)Script::Node
SegmentTemplate enum value (defined in Script::Node)Script::Node
Sequence enum value (defined in Script::Node)Script::Node
SetCurrentAddress enum value (defined in Script::Node)Script::Node
SetNextBase enum value (defined in Script::Node)Script::Node
Shl enum value (defined in Script::Node)Script::Node
Shr enum value (defined in Script::Node)Script::Node
SizeOf enum value (defined in Script::Node)Script::Node
StartOf enum value (defined in Script::Node)Script::Node
Sub enum value (defined in Script::Node)Script::Node
type (defined in Script::Node)Script::Node
value (defined in Script::Node)Script::Node
Xor enum value (defined in Script::Node)Script::Node
+ + + + diff --git a/html/classScript_1_1Node.html b/html/classScript_1_1Node.html new file mode 100644 index 00000000..2c0063f1 --- /dev/null +++ b/html/classScript_1_1Node.html @@ -0,0 +1,194 @@ + + + + + + + +RetroLinker: Script::Node Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Script::Node Class Reference
+
+
+ + + + +

+Public Types

enum  node_type {
+  Sequence +, CurrentAddress +, Identifier +, Parameter +,
+  Integer +, BaseOf +, StartOf +, SizeOf +,
+  Location +, Neg +, Not +, AlignTo +,
+  Minimum +, Maximum +, Shl +, Shr +,
+  Add +, Sub +, And +, Xor +,
+  Or +, SetCurrentAddress +, AlignAddress +, SetNextBase +,
+  Assign +, MatchAny +, MatchName +, MatchSuffix +,
+  IsReadable +, IsWritable +, IsExecutable +, IsMergeable +,
+  IsZeroFilled +, IsFixedAddress +, IsResource +, IsOptional +,
+  IsStack +, IsHeap +, IsCustomFlag +, Collect +,
+  NotPredicate +, AndPredicate +, OrPredicate +, MaximumSections +,
+  Segment +, SegmentTemplate +
+ }
 
+ + + + + + + + + + + + + +

+Public Member Functions

Node (node_type type, Value<> *value, List *list)
 
Node (node_type type, Value<> *value)
 
Node (node_type type, List *list)
 
Node (node_type type)
 
+Node *& at (size_t index)
 
+Node *const & at (size_t index) const
 
+ + + + + + + +

+Public Attributes

+enum Script::Node::node_type type
 
+Valuevalue
 
+Listlist
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classScript_1_1Value-members.html b/html/classScript_1_1Value-members.html new file mode 100644 index 00000000..c791ef93 --- /dev/null +++ b/html/classScript_1_1Value-members.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Script::Value< Type > Member List
+
+
+ +

This is the complete list of members for Script::Value< Type >, including all inherited members.

+ + + + +
Get(const std::type_info &type) const override (defined in Script::Value< Type >)Script::Value< Type >inlineprotected
value (defined in Script::Value< Type >)Script::Value< Type >
Value(const Type &value) (defined in Script::Value< Type >)Script::Value< Type >inline
+ + + + diff --git a/html/classScript_1_1Value.html b/html/classScript_1_1Value.html new file mode 100644 index 00000000..c9f17557 --- /dev/null +++ b/html/classScript_1_1Value.html @@ -0,0 +1,115 @@ + + + + + + + +RetroLinker: Script::Value< Type > Class Template Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Script::Value< Type > Class Template Reference
+
+
+ + + + +

+Public Member Functions

Value (const Type &value)
 
+ + + +

+Public Attributes

+Type value
 
+ + + +

+Protected Member Functions

+const void * Get (const std::type_info &type) const override
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classScript_1_1Value_3_01void_01_4-members.html b/html/classScript_1_1Value_3_01void_01_4-members.html new file mode 100644 index 00000000..f16bb4d5 --- /dev/null +++ b/html/classScript_1_1Value_3_01void_01_4-members.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Script::Value< void > Member List
+
+
+ +

This is the complete list of members for Script::Value< void >, including all inherited members.

+ + + + + +
Get(const std::type_info &type) const (defined in Script::Value< void >)Script::Value< void >inlineprotectedvirtual
Get() (defined in Script::Value< void >)Script::Value< void >inline
Get() const (defined in Script::Value< void >)Script::Value< void >inline
~Value() (defined in Script::Value< void >)Script::Value< void >inlinevirtual
+ + + + diff --git a/html/classScript_1_1Value_3_01void_01_4.html b/html/classScript_1_1Value_3_01void_01_4.html new file mode 100644 index 00000000..187fce84 --- /dev/null +++ b/html/classScript_1_1Value_3_01void_01_4.html @@ -0,0 +1,113 @@ + + + + + + + +RetroLinker: Script::Value< void > Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Script::Value< void > Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+template<typename T >
T * Get ()
 
+template<typename T >
const T * Get () const
 
+ + + +

+Protected Member Functions

+virtual const void * Get (const std::type_info &type) const
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classSeychellDOS32_1_1AdamFormat-members.html b/html/classSeychellDOS32_1_1AdamFormat-members.html new file mode 100644 index 00000000..35f36e9c --- /dev/null +++ b/html/classSeychellDOS32_1_1AdamFormat-members.html @@ -0,0 +1,114 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SeychellDOS32::AdamFormat Member List
+
+
+ +

This is the complete list of members for SeychellDOS32::AdamFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
AdamFormat(bool is_v35=false) (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormatinline
Clear()Linker::Formatvirtual
dlink_version (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
eip (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
esp (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
extra_memory_size (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
file_offset (defined in Linker::Format)Linker::Format
FLAG_COMPRESSED enum value (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
FLAG_DISPLAY_LOGO enum value (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
flags (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
header_size (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
image (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
Initialize()Linker::Formatvirtual
is_dll (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
is_v35 (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
minimum_dos_version (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
ReadFile(Linker::Reader &rd) overrideSeychellDOS32::AdamFormatvirtual
relocation_size (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
relocations (defined in SeychellDOS32::AdamFormat)SeychellDOS32::AdamFormat
WriteFile(Linker::Writer &wr) overrideSeychellDOS32::AdamFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
+ + + + diff --git a/html/classSeychellDOS32_1_1AdamFormat.html b/html/classSeychellDOS32_1_1AdamFormat.html new file mode 100644 index 00000000..9957a8c5 --- /dev/null +++ b/html/classSeychellDOS32_1_1AdamFormat.html @@ -0,0 +1,248 @@ + + + + + + + +RetroLinker: SeychellDOS32::AdamFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
SeychellDOS32::AdamFormat Class Reference
+
+
+ +

Adam Seychell's DOS32 "Adam" executable format. + More...

+ +

#include <dosexe.h>

+
+Inheritance diagram for SeychellDOS32::AdamFormat:
+
+
+ + +Linker::Format + +
+ + + + +

+Public Types

enum  { FLAG_COMPRESSED = 0x0001 +, FLAG_DISPLAY_LOGO = 0x0002 + }
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

AdamFormat (bool is_v35=false)
 
void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+bool is_v35
 
+bool is_dll
 
+uint16_t minimum_dos_version
 
+uint16_t dlink_version
 
+uint32_t relocation_size
 
+uint32_t header_size
 
+uint32_t extra_memory_size
 
+uint32_t eip
 
+uint32_t esp
 
+std::set< uint32_t > relocations
 
+uint32_t flags
 
+Linker::Writableimage
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
+

Detailed Description

+

Adam Seychell's DOS32 "Adam" executable format.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void SeychellDOS32::AdamFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void SeychellDOS32::AdamFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/dosexe.h
  • +
  • src/format/dosexe.cc
  • +
+
+ + + + diff --git a/html/classSeychellDOS32_1_1AdamFormat.png b/html/classSeychellDOS32_1_1AdamFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..5c9fec2d2e85bab661376ab5a563f276ba0a868c GIT binary patch literal 813 zcmeAS@N?(olHy`uVBq!ia0vp^n}IlhgBeJsN^N-yq@)9ULR|m<{|{uoc=NTi|Il&^ z1I+@7>1SR%c<=xyZhAIs2~du+B*-tA0mugfbEer>7#Ns#c)B=-R4~4s`+CwE1)i4K z8?#p3|KG_!orUSqn^$sfD-W4UJLt(Pe)+?CY4b_ttL@ic&Yxbt>|q!WUa>))9}NKtu^oUPv5QZBK|`9PP0v047d|-PC9vYTI6EA z<6n4d#YAGQ7H9{qWm%;o^>@Z>ci`y*iqvj{i zI(13RRxMxFcjvlQ8fo1d4LQ$?fBBhL?>hhew{YByc{i7DsW+<(dVBHf9X5vl*Y7bH z%=A6+r|vwvt>R|)d3;rF&z4FveBg~f!(ebv%$T8P`%xZ-$GL{g2P%jW(pX=7&Nr<< z#d4}{+9a9$?wKmbqZ9eWC#h72)qmLfVH)GkC9SvKroYsgBGRbR?>jyC*%l7ZvNfk; z`nmpZQFwZ1$>E}<$9*Q*M@-+zqCWdd&I6ue%^5+a|L5I2A9(goj^BBYe<}hC4d*XA z*}Lb2UPxg}?i=IRGD|PG?3w4+mC0YZWag@08DU1{7ua^ZylN(A5dG@g0qJ*IC(nG% z*nZvec$E368^4Ye1)SM#S8TmxXG-Zc%S-$AuGMTWdw1`k(YC{Tb~n$pc*D2Ss_n4x z?-Ml>q|a8h{j8W9|H5th&1awEXGG_o{dqHZ;{BJ!_EXp7y + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
UnitTests::TestExportedSymbol Member List
+
+
+ +

This is the complete list of members for UnitTests::TestExportedSymbol, including all inherited members.

+ + + +
setUp() (defined in UnitTests::TestExportedSymbol)UnitTests::TestExportedSymbol
tearDown() (defined in UnitTests::TestExportedSymbol)UnitTests::TestExportedSymbol
+ + + + diff --git a/html/classUnitTests_1_1TestExportedSymbol.html b/html/classUnitTests_1_1TestExportedSymbol.html new file mode 100644 index 00000000..441d097e --- /dev/null +++ b/html/classUnitTests_1_1TestExportedSymbol.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: UnitTests::TestExportedSymbol Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
UnitTests::TestExportedSymbol Class Reference
+
+
+
+Inheritance diagram for UnitTests::TestExportedSymbol:
+
+
+ +
+ + + + + + +

+Public Member Functions

+void setUp ()
 
+void tearDown ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classUnitTests_1_1TestExportedSymbol.png b/html/classUnitTests_1_1TestExportedSymbol.png new file mode 100644 index 0000000000000000000000000000000000000000..d86c522a4498c28cbde8def8002274348893c447 GIT binary patch literal 736 zcmeAS@N?(olHy`uVBq!ia0vp^+kiNLgBeIR8`rM{QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B-!o-U3d6^w7^22Nh0z|&%_ zfBWzM`j2Nd6cj3UZJ!*yD#*28Lb-06;%6@7&0krRPhJ(dq4IL+0X0wkyGQHZ$4$!F z;@bBidz$~HI`zoj?_Wjq!uMs~@_oZsAhp)7E#ES(NoD>^xw6!AX^EC8GlX*Y+|Rww z|9eYKZ%KaN(%as4o^dZVzrBmFo8s>uWxYyX`E{UV{SmX!;z@fhC2xPNE}Qo~BK^&( zZQ5tpb_)U3UcMo@`QiQpa(T6ra-KdY3m5yWRJp-fzHE|b?tP6(a@MhS*M2)poU-q3 z*(Bwt4MryxOkUD0Tefp$h^Xg3U;h89!Jq2?r}O4a`f|xRXVM>DE+8u?Ve*pcaW~S^ zPIEHYE!Ag;@Xt=Fuhl)dSM6JOmFqj#jf*EUG|Xp`X4oTggW?dQ0_EX^G$SBiwHiQ#PE@dAk1o2N&bYJHBtWAHSVb|NU>)r-y%c`$|W*X}(>R zd2!N|IkxXs#+le|J#wph`Hkwb&%aVtXZ|wuUzuYg=KC~Yewy?oam!r~=e?V|yY{Hb zs)j$Vi#bj68R)5GYe_L1e45P;{?!G%0 zWcXiZo9EpbBA&&2-yC?YbaEO0M*VE-?Pu%ef5}z)+7*2HRZvjwc`MJWQ;XCsf0aFb zaPgMfT$f39%hJ#9nE01_<9n6=c5kA0+TED+Wii;(3Eq<+!TXY*f#a6{!K<&FfN7Dz M)78&qol`;+0FB>WsQ>@~ literal 0 HcmV?d00001 diff --git a/html/classUnitTests_1_1TestLocation-members.html b/html/classUnitTests_1_1TestLocation-members.html new file mode 100644 index 00000000..6df9be17 --- /dev/null +++ b/html/classUnitTests_1_1TestLocation-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
UnitTests::TestLocation Member List
+
+
+ +

This is the complete list of members for UnitTests::TestLocation, including all inherited members.

+ + + +
setUp() (defined in UnitTests::TestLocation)UnitTests::TestLocation
tearDown() (defined in UnitTests::TestLocation)UnitTests::TestLocation
+ + + + diff --git a/html/classUnitTests_1_1TestLocation.html b/html/classUnitTests_1_1TestLocation.html new file mode 100644 index 00000000..66197737 --- /dev/null +++ b/html/classUnitTests_1_1TestLocation.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: UnitTests::TestLocation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
UnitTests::TestLocation Class Reference
+
+
+
+Inheritance diagram for UnitTests::TestLocation:
+
+
+ +
+ + + + + + +

+Public Member Functions

+void setUp ()
 
+void tearDown ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classUnitTests_1_1TestLocation.png b/html/classUnitTests_1_1TestLocation.png new file mode 100644 index 0000000000000000000000000000000000000000..65565909bb97cc342c98c83d112d3a68a4243d4c GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^-9Q|`!3-qj?8+2@lyrbki0l9V|AEXGZ@!lHA6jl< zpjjX>{mhF84;}!;P0xlc0m^Zf1o;Is0Qq2G&NTZ90|VoKPZ!6K3dXl{?{2znz|k^& z_M3hGh0QmrN=ii-{i-e6!=LY+LE6OEVXIF7tE0 zcWd|EYjN`bv#uGH;a!}{#@WzK5bh~?fc78z4xc@?ALpJV|Bgl%f;I& zk|p(f7ft$-{B!s1GxeXtcSd*^t@^jz(`Xftk!37qyxEq8;r?}I2D6K9I{nA(45T;O z1a51**}3!=2ZNC)H-ihY_;0&TTH0(5HP7f35h|LifH-S|%=Yfrmd0Bj>z?fWS@`sm z-l40Xx>UES=x9&Z2g++~*t4nd%(;y7SH*t5uJT##vPAE0;*9mt@$aO2`dz0PuaLX7 zW5$%et*3M5<-a>29gNZz??_qW + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
UnitTests::TestMZFormat Member List
+
+
+ +

This is the complete list of members for UnitTests::TestMZFormat, including all inherited members.

+ + + +
setUp() (defined in UnitTests::TestMZFormat)UnitTests::TestMZFormat
tearDown() (defined in UnitTests::TestMZFormat)UnitTests::TestMZFormat
+ + + + diff --git a/html/classUnitTests_1_1TestMZFormat.html b/html/classUnitTests_1_1TestMZFormat.html new file mode 100644 index 00000000..9f8b7920 --- /dev/null +++ b/html/classUnitTests_1_1TestMZFormat.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: UnitTests::TestMZFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
UnitTests::TestMZFormat Class Reference
+
+
+
+Inheritance diagram for UnitTests::TestMZFormat:
+
+
+ +
+ + + + + + +

+Public Member Functions

+void setUp ()
 
+void tearDown ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classUnitTests_1_1TestMZFormat.png b/html/classUnitTests_1_1TestMZFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..316fdce881eac9549cf466d6a219eb5f9793cb76 GIT binary patch literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^(||aDgBeJk$*ZXZQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B-#o-U3d6^w7^-ko+^fv3gY z-1_rB|2sF>bU0LQ&ENJVB;7QdXVZ@fI?u(@(tdNgP1>!w(Zguf5v7wW!Xn(wC!{Pd zem1YJ=auhE`AO&cz8c*PYx0ap;AJ=+S#E55)P}`#-!+-jvhRExcV9VsD`)y{?cD26 zrMBfvOMe|xx##EPH*aLGl|HJldz*Ne#9mCM!(*klC5!jSBJjU17CH$duts8-PdfYIsV&8@OJs?_eZL? zKBw?JE__S7*cb>HPZ`-vn~@zm4;=CjII5(wWqg6|ZBw`7H~B{Zf90 z8~)WvwKX{>x2j)j&T?PpyK$2+qr$o)Obsi9xEU6C=`eI?ZDdebg;(H}{Q)E6+x`Zg zw|qNQJp)yzskmOqFQP$GR{rbVIFWEn>Hr>yCYLs+$lmdfN!`q>r1 zS22Ts!-;FFZPTwt?5J2X?Lru%I{RnOHB#s27ax#{(VFRhIe6QywO-LRM$v~WWv*X2 znp`m$%k#^=%YJM0Upd(A`VsJU_tz_(&VsMg73ynLG}j%O rv}A>l_avatJ-c2trlxJ1TgRwgzv*9n?QAVzT4L~Y^>bP0l+XkK+TJ|n literal 0 HcmV?d00001 diff --git a/html/classUnitTests_1_1TestReader-members.html b/html/classUnitTests_1_1TestReader-members.html new file mode 100644 index 00000000..a4c619df --- /dev/null +++ b/html/classUnitTests_1_1TestReader-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
UnitTests::TestReader Member List
+
+
+ +

This is the complete list of members for UnitTests::TestReader, including all inherited members.

+ + + +
setUp() (defined in UnitTests::TestReader)UnitTests::TestReader
tearDown() (defined in UnitTests::TestReader)UnitTests::TestReader
+ + + + diff --git a/html/classUnitTests_1_1TestReader.html b/html/classUnitTests_1_1TestReader.html new file mode 100644 index 00000000..d52cb7ad --- /dev/null +++ b/html/classUnitTests_1_1TestReader.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: UnitTests::TestReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
UnitTests::TestReader Class Reference
+
+
+
+Inheritance diagram for UnitTests::TestReader:
+
+
+ +
+ + + + + + +

+Public Member Functions

+void setUp ()
 
+void tearDown ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classUnitTests_1_1TestReader.png b/html/classUnitTests_1_1TestReader.png new file mode 100644 index 0000000000000000000000000000000000000000..b2aa77cb14c95abcbc29cf1d6721b0e0e877a1b3 GIT binary patch literal 589 zcmV-T0x~0000RP)t-s|Ns90 z008Lh^>vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0005l zNkltsU$)j`w`M0*P&qTLE&X5Om_kr2!r zq=Pt0m6Hd6%oN4_5VIGTlx92C^+Z4d~e;(b^Re zC-HOTGO + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
UnitTests::TestSection Member List
+
+
+ +

This is the complete list of members for UnitTests::TestSection, including all inherited members.

+ + + +
setUp() (defined in UnitTests::TestSection)UnitTests::TestSection
tearDown() (defined in UnitTests::TestSection)UnitTests::TestSection
+ + + + diff --git a/html/classUnitTests_1_1TestSection.html b/html/classUnitTests_1_1TestSection.html new file mode 100644 index 00000000..0adf1e19 --- /dev/null +++ b/html/classUnitTests_1_1TestSection.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: UnitTests::TestSection Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
UnitTests::TestSection Class Reference
+
+
+
+Inheritance diagram for UnitTests::TestSection:
+
+
+ +
+ + + + + + +

+Public Member Functions

+void setUp ()
 
+void tearDown ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classUnitTests_1_1TestSection.png b/html/classUnitTests_1_1TestSection.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8bc08d2792517493950cec891e3385a8d299fc GIT binary patch literal 595 zcmeAS@N?(olHy`uVBq!ia0vp^tw0>W!3-oBzPn8VlF|V_A+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=E9-JY5_^Dj46+4Ltu@fuoh* zy!rqC?)}@elpgI$Ii3Bv^~mNZms*yWd5$hyVinS!o%QNkl92YTNaT5KYMNY0YW46U6zwdPm`McQ!(wfPsFablV09GddTn1#t*yCh&+p%5zEfCSUz}5Ec+aD zk#~Oo^~ChpU-z&~H(fXJ=-wX+%JUZSegFE-c+vgtjc&U_%QIiInFg`Tw)$NXxmRz! z`t5nU)t(douRL=m&hw)Km(rrUObz;9nHt_!u^fHM18bIe za4~!U`iy~LJv#GOy+%jJHf|NAO_81xMU<4{yb5itE?!h#DIVeCBOO0oZ}Zl*z`)wF zh(nk0=qc5Cd%AwR6uLclHFfipi&g7Be}BbyoG12* + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
UnitTests::TestSymbolName Member List
+
+
+ +

This is the complete list of members for UnitTests::TestSymbolName, including all inherited members.

+ + + +
setUp() (defined in UnitTests::TestSymbolName)UnitTests::TestSymbolName
tearDown() (defined in UnitTests::TestSymbolName)UnitTests::TestSymbolName
+ + + + diff --git a/html/classUnitTests_1_1TestSymbolName.html b/html/classUnitTests_1_1TestSymbolName.html new file mode 100644 index 00000000..7829ab91 --- /dev/null +++ b/html/classUnitTests_1_1TestSymbolName.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: UnitTests::TestSymbolName Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
UnitTests::TestSymbolName Class Reference
+
+
+
+Inheritance diagram for UnitTests::TestSymbolName:
+
+
+ +
+ + + + + + +

+Public Member Functions

+void setUp ()
 
+void tearDown ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/html/classUnitTests_1_1TestSymbolName.png b/html/classUnitTests_1_1TestSymbolName.png new file mode 100644 index 0000000000000000000000000000000000000000..1e5821fdfc10ea4aac10e605d4d7d7395aa22be4 GIT binary patch literal 715 zcmV;+0yO=JP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~00073 zNklOW3`AEiUH$(T-vn$~#x|v`(vrEF@dif-`LIUt3K5aJ3qq3jRzi|w zgc6b@BlHR6v$aUF(-vvr$E^M-%}COX=lK%0GhcJ&9P)s(jJiM5dzzOZ$xAwgbT_`) zV~4u5MLS=2OZUS*HK)t9HC8USe3G2#BINEyJ=i9a(hv6|q#w@I7Te_JBstMlCw<-K zL8s+a-tVOR;Z5l1ajJ-zu@FygV)>rc^_Tt?!_~CVY`oz<#em}=mFNC1dXLIOa95)uF+l#l=rp@am02>q{+A|iJeL{;_PN=Q}J2qmPdYJ?1OJ2c?O zOtkcts=CqtU8aoD+0`|0?$io$8kyIdrYtU=K&~>+AfNtiv)zeuqoveV)GBxD9#U#T zsj&rW-IiX@RPXnM3S+B`kb6#NhSgKi<5;BB`>62^t}Ac3ZQf@#gC|a&5%|gQSR9@( z+X+$iV_2nC6jeXI23fkGEjw)YkkYNGqHT<;6gT%L$wq6v%TBJ_ahl@ny$HE5_Z!aXvP%RI)3S)yWN}BJZ;_nJ71iD`Y(r!DF156 xkm|4BZdKJEDj`)>Bb1P;su6lXiiq4?{{Vnr#4&-A^~?YO002ovPDHLkV1lnvRRRD2 literal 0 HcmV?d00001 diff --git a/html/classX68000_1_1HUFormat-members.html b/html/classX68000_1_1HUFormat-members.html new file mode 100644 index 00000000..2f9eb4b4 --- /dev/null +++ b/html/classX68000_1_1HUFormat-members.html @@ -0,0 +1,165 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
X68000::HUFormat Member List
+
+
+ +

This is the complete list of members for X68000::HUFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
bss (defined in X68000::HUFormat)X68000::HUFormat
CalculateValues() overrideX68000::HUFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
code (defined in X68000::HUFormat)X68000::HUFormat
CreateDefaultSegments() (defined in X68000::HUFormat)X68000::HUFormat
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
data (defined in X68000::HUFormat)X68000::HUFormat
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
entry_address (defined in X68000::HUFormat)X68000::HUFormat
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module) overrideX68000::HUFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename) overrideX68000::HUFormatvirtual
Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module) (defined in X68000::HUFormat)X68000::HUFormat
HUFormat() (defined in X68000::HUFormat)X68000::HUFormatinline
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
Link(Linker::Module &module) (defined in X68000::HUFormat)X68000::HUFormat
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
load_mode (defined in X68000::HUFormat)X68000::HUFormat
MODE_HIGHEST enum value (defined in X68000::HUFormat)X68000::HUFormat
MODE_NORMAL enum value (defined in X68000::HUFormat)X68000::HUFormat
MODE_SMALLEST enum value (defined in X68000::HUFormat)X68000::HUFormat
OnNewSegment(Linker::Segment *segment) overrideX68000::HUFormatvirtual
option_no_relocation (defined in X68000::HUFormat)X68000::HUFormat
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &module) overrideX68000::HUFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideX68000::HUFormatvirtual
relocation_size (defined in X68000::HUFormat)X68000::HUFormat
relocations (defined in X68000::HUFormat)X68000::HUFormat
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options) overrideX68000::HUFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideX68000::HUFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classX68000_1_1HUFormat.html b/html/classX68000_1_1HUFormat.html new file mode 100644 index 00000000..c56f67cd --- /dev/null +++ b/html/classX68000_1_1HUFormat.html @@ -0,0 +1,606 @@ + + + + + + + +RetroLinker: X68000::HUFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
X68000::HUFormat Class Reference
+
+
+ +

Human68k "HU" .X file. + More...

+ +

#include <huexe.h>

+
+Inheritance diagram for X68000::HUFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + +

+Public Types

enum  { MODE_NORMAL +, MODE_SMALLEST +, MODE_HIGHEST + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void SetOptions (std::map< std::string, std::string > &options) override
 Passes command line parameters as settings over to format object.
 
void OnNewSegment (Linker::Segment *segment) override
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
+void CreateDefaultSegments ()
 
+Script::ListGetScript (Linker::Module &module)
 
+void Link (Linker::Module &module)
 
void ProcessModule (Linker::Module &module) override
 Processes the module object and initializes format fields.
 
void CalculateValues () override
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
void GenerateFile (std::string filename, Linker::Module &module) override
 The main function that handles processing, calculating and generating the final image.
 
std::string GetDefaultExtension (Linker::Module &module, std::string filename) override
 Appends a default extension to the filename.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+enum X68000::HUFormat:: { ... }  load_mode
 
+uint32_t entry_address
 
+bool option_no_relocation
 
+Linker::Segmentcode
 
+Linker::Segmentdata
 
+Linker::Segmentbss
 
+uint32_t relocation_size
 
+std::map< uint32_t, unsigned char > relocations
 
- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Human68k "HU" .X file.

+

Member Function Documentation

+ +

◆ CalculateValues()

+ +
+
+ + + + + +
+ + + + + + + +
void HUFormat::CalculateValues ()
+
+overridevirtual
+
+ +

Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GenerateFile()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void HUFormat::GenerateFile (std::string filename,
Linker::Module & module )
+
+overridevirtual
+
+ +

The main function that handles processing, calculating and generating the final image.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ GetDefaultExtension()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::string HUFormat::GetDefaultExtension (Linker::Module & module,
std::string filename )
+
+overridevirtual
+
+ +

Appends a default extension to the filename.

+

A typical behavior would be to append .exe at the end of the filename. The default action is to leave it intact.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ OnNewSegment()

+ +
+
+ + + + + +
+ + + + + + + +
void HUFormat::OnNewSegment (Linker::Segment * segment)
+
+overridevirtual
+
+ +

Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.

+ +

Reimplemented from Linker::LinkerManager.

+ +
+
+ +

◆ ProcessModule()

+ +
+
+ + + + + +
+ + + + + + + +
void HUFormat::ProcessModule (Linker::Module & object)
+
+overridevirtual
+
+ +

Processes the module object and initializes format fields.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void HUFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ SetOptions()

+ +
+
+ + + + + +
+ + + + + + + +
void HUFormat::SetOptions (std::map< std::string, std::string > & options)
+
+overridevirtual
+
+ +

Passes command line parameters as settings over to format object.

+ +

Reimplemented from Linker::OutputFormat.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void HUFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/huexe.h
  • +
  • src/format/huexe.cc
  • +
+
+ + + + diff --git a/html/classX68000_1_1HUFormat.png b/html/classX68000_1_1HUFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4f80ba6027133b137d36bfec2ad2aed63d3318 GIT binary patch literal 1598 zcmb_cSx}P)5dM>J$xW*TqbNre;z2A3#BwASXhaF&QYD9JkL_F6S1oG9sxa z+-EkssI0zMDqP;=yjSIW&c;=fugRe0uPgDd>!Qckh6xYSqC7;>$VGc4zGo=Ux6Plo zyIX?|#U5{qth_RXdl)G7{SeGKN=3Ki__B)kcyv9N?px{A^T;fRQb&m@c*bgO^W-KE zVJ(|$92Q>6WH|(mNNKZTNo=?wZC#$koh!vpa;H3Ke&q1z5#lHUDjn{Z?}s!_$GILK z;okLjM-Uzjlimua+O6X9EWk zEdi8*%mI*rI_iIg+YnR)PTY(Xhh83A?FWBZq#=@)p02S6WwC}(nMuj=MX~f9zn?YI z)6+joZC;*uJaLp>$9*#1e?O@_(02P+g_f*$f#`SGwxAaw)-=a{4Ba?n(z)8vK1yK! zlKv{ylAd_LtW9;tj!Q<~nF3mLZ3WH#sB3VS;Kl%hi;m~5OibV~oUqT7SXY+IEbylU z*sR)8m>9uObtO`3e7k&|NLmWx^;UU_>uzjmSJYVW-csBL6N4h<;cY9tL5iA21YeDD zi`{C&I2L!Y>Hd1BjJIh)4yIVLJ7811X|CtoeM5`rq3+fCzWu$8J#NwsIR@1w5IT8_ zNVuTX!6w-PE_bU6?FTyfC^KdH6nAFV5RpMHjMp?ggu#$99V9q0+mz9C0ug;T<%X&@ zb+#leBdylTs8jq1{i58iO(@Pl%i2C?%{|A!1!wI)=-64#IA~dQyK0?f9j?ce$Ih}BY4}@vw)$AR!2-(h<7M$8E z`U9^m%@7J?i115^2O87apSNkiWy2Jjiu>JLxTnt^0@iI2q(bhwDy&m0th=b1lWmSt&;jo80sO%_L{}qhik0t{!iFM+RP2iG)tT^cbYQ zz#ex50P#c;{FzrnPygcm;Dt@Sm6sI?jvvW6`7gLWFNwF`+{NcEL?tLMJN@UI*tVpH z{Pc|(c)8r={75P|o5?Hz%9z*9feI#69mQncc2xFQP%y6}hXM^P@+_K36A;di+#AS3 z9!|C_xSZDjDPwLpQi@hnPA`zTTGO7Xpv7w`$q@`XFzbI~9Mx7T^ax{}W9 zTs`gDn9$s`^KG)V+XYv=r?hMH`a8}Q|8ApN`4s}l(em + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Xenix::BOutFormat Member List
+
+
+ +

This is the complete list of members for Xenix::BOutFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideXenix::BOutFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideXenix::BOutFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classXenix_1_1BOutFormat.html b/html/classXenix_1_1BOutFormat.html new file mode 100644 index 00000000..206798ba --- /dev/null +++ b/html/classXenix_1_1BOutFormat.html @@ -0,0 +1,377 @@ + + + + + + + +RetroLinker: Xenix::BOutFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Xenix::BOutFormat Class Reference
+
+
+ +

Xenix b.out executable. + More...

+ +

#include <xenix.h>

+
+Inheritance diagram for Xenix::BOutFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Xenix b.out executable.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BOutFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void BOutFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/xenix.h
  • +
  • src/format/xenix.cc
  • +
+
+ + + + diff --git a/html/classXenix_1_1BOutFormat.png b/html/classXenix_1_1BOutFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..284fc5ad38a4b73561f13f57a6f12d21928c59c9 GIT binary patch literal 1637 zcmb`Ie>~F(7{|Z+Zi&?{zb+zil~>&%MWV^JtGSUfljR~rU1eIVH7bkmrLu8;l~iI@ zR#>9^8d57^bwn|B$hJ(T&5xuR4c)r?>;AiYz3%zrc|M=d^Y8n4J#0T;0t#t?1ONc# z?S=OT0GN$Vv-IJ*9`j4fIo+`I+Y#XT<;xeH93D|KG8&8A)_)&kez|Q}CX?xMm*=~A zx}Cvsf8Skz&i_@e;59J-EcoD!|1sbMY&2hWY!a>Sd3j>Tc}?QLDpiEs^4aTHi`=9Z z_a>(c%}!eruUFRz60|w-5Y*Yps}cl5tdzzz>$&F48(?nXhnHNJ!|9C#5MCdq5sy?& z5nU&CR?jTY5w%a&LV1jW6ZTet^Ko;pFmKJ&SK{PKnwj&n3pUMSH=mlS`D0;o$qu2H zww?6F16cDH;*hc+1ASR&2EiDtC4*pX;MQgt$*@n^a_^QVLP^zkXCdoDvy6>PK62D+zkawN)w_&cc)V&5wY@Dn)^^tlgIh% zFK2T1Cs)KqKM~pY_2)*SGJDLDYoqc@;IZ24BE~>CI_PTe1a+z@u0h(tbwQXkd7|nW z8=}=MI1raDbOW}%fw#XuJT%e^bj!tkWP%d)hKzQmRU>nb9)l!l$W?Sajf?s4uz1x-{9 z+he>9Q|eApOFtfn2~oZ9e3+&YB8DlJ4TH6;Wnu)Rl7oD77R`y!%PfIQ@772X zo^fDo*6gjC?7hKz#7ic6y89e^=vhmRW*kN}r3*f7W5%kde5M{iEfQm+co!V@u|hlb z9Kz$<`B20MHuCGGOT&1c_-`m8ralJdyTK?c=_^2upwdT44H>W;Lvc@X6z1Uc!xg|w z(@4_au;aF7ExiN*W8@s;3_qTyj_trbJlMZrJVPWmA_CS$9ls%E$^ZE*PCIcUb8p#z ztRio+%UR=0KEDvb<15#~O8DsQI6gmpelhnIU5Py|rXQLUXrhuY@RbkNNfsFr&1m)^ zM3dX-QclZh7?1xMZw)KH`8eQ+^QODBu5qofS>S%uM0~wE?wWe#lX*XslRd?r-_^}9 zczW=KO+QQAT3^C{Fz=rw`TYfEpIPp{f78kqCZ8|56S{2GL! zdLv$Y3sl!2%)ZooIc2EAOPYO~sCNLFd1tj9_jLZU;9Jy3p=rdTKf+VfE|SOsmE*UO z + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Xenix::XOutFormat Member List
+
+
+ +

This is the complete list of members for Xenix::XOutFormat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AddSupplementaryOutputFormat(std::string subformat)Linker::OutputFormatvirtual
AlignCurrentAddress(offset_t align)Linker::LinkerManager
AppendSection(Section *section)Linker::LinkerManager
AppendSegment(std::string name)Linker::LinkerManager
CalculateValues()Linker::OutputFormatvirtual
CheckPredicate(Script::Node *predicate, Section *section, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
Clear()Linker::Formatvirtual
ClearLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
current_addressLinker::LinkerManagerprotected
current_baseLinker::LinkerManager
current_is_template (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_is_template_head (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
current_segmentLinker::LinkerManager
current_template_name (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
Dump(Dumper::Dumper &dump)Linker::Formatvirtual
EvaluateExpression(Script::Node *expression, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name)Linker::OutputFormat
FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)Linker::OutputFormat
FetchSegment(std::string name)Linker::LinkerManager
file_offset (defined in Linker::Format)Linker::Format
FinishCurrentSegment()Linker::LinkerManager
Format(offset_t file_offset=0) (defined in Linker::Format)Linker::Formatinline
FormatAdditionalSectionFlags(std::string section_name) const (defined in Linker::OutputFormat)Linker::OutputFormatvirtual
FormatIs16bit() constLinker::OutputFormatvirtual
FormatIsLinear() constLinker::OutputFormatvirtual
FormatSupportsLibraries() constLinker::OutputFormatvirtual
FormatSupportsResources() constLinker::OutputFormatvirtual
FormatSupportsSegmentation() constLinker::OutputFormatvirtual
GenerateFile(std::string filename, Linker::Module &module)Linker::OutputFormatvirtual
GetCurrentAddress() constLinker::LinkerManager
GetDefaultExtension(Linker::Module &module, std::string filename)Linker::OutputFormatvirtual
GetDefaultExtension(Linker::Module &module)Linker::OutputFormatvirtual
GetScript(Linker::Module &module)Linker::LinkerManager
Initialize()Linker::Formatvirtual
InitializeLinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManager
linker_parametersLinker::LinkerManager
linker_scriptLinker::LinkerManager
LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
OnNewSegment(Segment *segment)Linker::LinkerManagervirtual
PostProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessAction(Script::Node *action, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessCommand(Script::Node *command, Module &module) (defined in Linker::LinkerManager)Linker::LinkerManager
ProcessModule(Linker::Module &object)Linker::OutputFormatvirtual
ProcessScript(Script::List *directives, Module &module)Linker::LinkerManager
ReadFile(Linker::Reader &rd) overrideXenix::XOutFormatvirtual
segment_mapLinker::LinkerManager
segment_vectorLinker::LinkerManager
SetCurrentAddress(offset_t address)Linker::LinkerManager
SetLatestBase(offset_t address)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)Linker::LinkerManager
SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)Linker::LinkerManager
Linker::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
Linker::LinkerManager::SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)Linker::LinkerManager
SetModel(std::string model)Linker::OutputFormatvirtual
SetOptions(std::map< std::string, std::string > &options)Linker::OutputFormatvirtual
template_counter (defined in Linker::LinkerManager)Linker::LinkerManagerprotected
WriteFile(Linker::Writer &wr) overrideXenix::XOutFormatvirtual
~Format() (defined in Linker::Format)Linker::Formatvirtual
~LinkerManager() (defined in Linker::LinkerManager)Linker::LinkerManagerinline
+ + + + diff --git a/html/classXenix_1_1XOutFormat.html b/html/classXenix_1_1XOutFormat.html new file mode 100644 index 00000000..17d461ae --- /dev/null +++ b/html/classXenix_1_1XOutFormat.html @@ -0,0 +1,377 @@ + + + + + + + +RetroLinker: Xenix::XOutFormat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Xenix::XOutFormat Class Reference
+
+
+ +

Xenix x.out executable. + More...

+ +

#include <xenix.h>

+
+Inheritance diagram for Xenix::XOutFormat:
+
+
+ + +Linker::OutputFormat +Linker::LinkerManager +Linker::Format + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void ReadFile (Linker::Reader &rd) override
 Loads file into memory.
 
void WriteFile (Linker::Writer &wr) override
 Stores data in memory to file.
 
- Public Member Functions inherited from Linker::OutputFormat
virtual bool AddSupplementaryOutputFormat (std::string subformat)
 If the output format actually drives multiple output formats (resource file, apple double, etc.), specify multiple types, return false if unknown.
 
virtual void SetOptions (std::map< std::string, std::string > &options)
 Passes command line parameters as settings over to format object.
 
+std::optional< std::string > FetchOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name.
 
+std::string FetchOption (std::map< std::string, std::string > &options, std::string name, std::string default_value)
 Convenience method to look up option by name, returning default value if name is missing.
 
+std::optional< offset_t > FetchIntegerOption (std::map< std::string, std::string > &options, std::string name)
 Convenience method to look up option by name and convert it to integer.
 
virtual void SetModel (std::string model)
 Sets the way memory is organized, typically modifying a built-in script.
 
virtual void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Selects a script file to use for linking.
 
virtual void ProcessModule (Linker::Module &object)
 Processes the module object and initializes format fields.
 
virtual void CalculateValues ()
 Intermediate step between processing module and generating output file to set up headers and management sections It is expected that after a module is processed, additional steps are required to evaluate the final values of the fields.
 
virtual void GenerateFile (std::string filename, Linker::Module &module)
 The main function that handles processing, calculating and generating the final image.
 
virtual std::string GetDefaultExtension (Linker::Module &module, std::string filename)
 Appends a default extension to the filename.
 
virtual std::string GetDefaultExtension (Linker::Module &module)
 Provides a default filename for the output file.
 
virtual bool FormatSupportsSegmentation () const
 Whether the format supports multiple segments.
 
virtual bool FormatIs16bit () const
 Whether the format is 16-bit or not.
 
virtual bool FormatIsLinear () const
 Whether the address space is linear or segmented.
 
virtual bool FormatSupportsResources () const
 Whether the format supports resources.
 
virtual bool FormatSupportsLibraries () const
 Whether the format supports libraries.
 
+virtual unsigned FormatAdditionalSectionFlags (std::string section_name) const
 
- Public Member Functions inherited from Linker::Format
Format (offset_t file_offset=0)
 
virtual void Initialize ()
 Sets all fields to their default values.
 
virtual void Clear ()
 Resets all fields to their default values, deallocate memory.
 
virtual void Dump (Dumper::Dumper &dump)
 Display file contents in a nice manner.
 
- Public Member Functions inherited from Linker::LinkerManager
+void InitializeLinkerManager ()
 
+void ClearLinkerManager ()
 
+void SetLinkScript (std::string script_file, std::map< std::string, std::string > &options)
 Sets up the linker script and linker parameters.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key)
 Sets a single linker parameter, if inside options.
 
+bool SetLinkerParameter (std::map< std::string, std::string > &options, std::string key, std::string variable)
 Sets a single linker parameter, if inside options.
 
+Script::ListGetScript (Linker::Module &module)
 Compiles the linker script into an internal format.
 
+offset_t GetCurrentAddress () const
 Retrieves current address pointer.
 
+void SetCurrentAddress (offset_t address)
 Moves the current address pointer further, and if the current segment already contains data, fill it up to the point.
 
+void AlignCurrentAddress (offset_t align)
 Aligns current address to alignment, using SetCurrentAddress.
 
+void SetLatestBase (offset_t address)
 Sets the base of the current section (the value from which offsets are counted from)
 
+void FinishCurrentSegment ()
 Closes the current segment, sets current_segment to null.
 
virtual void OnNewSegment (Segment *segment)
 Callback function when allocating a new segment When the linker script runs, it creates segments consecutively. Overriding this method permits the output format to handle the allocated segment.
 
SegmentAppendSegment (std::string name)
 Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
 
+SegmentFetchSegment (std::string name)
 Attempts to fetch a segment, returns null if not found.
 
+void AppendSection (Section *section)
 Adds a new section to the current segment, sets the base to the same as the segment.
 
+void ProcessScript (Script::List *directives, Module &module)
 Executes a parsed linker script on a module and collects segments The function OnNewSegment can be defined to handle each newly allocated segment.
 
+void ProcessAction (Script::Node *action, Module &module)
 
+void PostProcessAction (Script::Node *action, Module &module)
 
+void ProcessCommand (Script::Node *command, Module &module)
 
+bool CheckPredicate (Script::Node *predicate, Section *section, Module &module)
 
+offset_t EvaluateExpression (Script::Node *expression, Module &module)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from Linker::Format
+offset_t file_offset
 
- Public Attributes inherited from Linker::LinkerManager
offset_t current_base
 The base address of the current section.
 
+std::vector< Segment * > segment_vector
 Ordered sequence of segments.
 
+std::map< std::string, Segment * > segment_map
 Map of segments from their names.
 
+Segmentcurrent_segment
 Currently processed segment.
 
+std::map< std::string, Locationlinker_parameters
 Parameters that permit customizing the linker script.
 
+std::string linker_script
 Contents of the linker script.
 
- Protected Attributes inherited from Linker::LinkerManager
+offset_t current_address
 Holds the current address value when there is no current_segment.
 
+bool current_is_template
 
+bool current_is_template_head
 
+offset_t template_counter
 
+std::string current_template_name
 
+

Detailed Description

+

Xenix x.out executable.

+

Member Function Documentation

+ +

◆ ReadFile()

+ +
+
+ + + + + +
+ + + + + + + +
void XOutFormat::ReadFile (Linker::Reader & in)
+
+overridevirtual
+
+ +

Loads file into memory.

+ +

Implements Linker::Format.

+ +
+
+ +

◆ WriteFile()

+ +
+
+ + + + + +
+ + + + + + + +
void XOutFormat::WriteFile (Linker::Writer & out)
+
+overridevirtual
+
+ +

Stores data in memory to file.

+ +

Implements Linker::Format.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/format/xenix.h
  • +
  • src/format/xenix.cc
  • +
+
+ + + + diff --git a/html/classXenix_1_1XOutFormat.png b/html/classXenix_1_1XOutFormat.png new file mode 100644 index 0000000000000000000000000000000000000000..6aef252c18fa74a4aa99e4009df509f2796af836 GIT binary patch literal 1636 zcmb_deK^wz9RF?eQt0$TlaQu+R5~QX7*^`&h-F*j6qTsFG{Ut_*uy1yu~xD~+lrE( zmpV5lVUm!BorYt|TivjE+q|sAZg+p&^W5`v|K0bG@Av!pe7?{3ug~-SW@3Fk*XS7Q z006M&px1tX0DzdQ`;1jEb&d&ZzN9Xju|D_%DwRszj>+Z|=#52AwmV{sn1ZpPp&>Po zY(G+{)>g;+`{DpK{yQ9@c_IMNoIbdJFP;pUyeG|4)aras%)rO0h_$BdlM>8QyUX3K za}Urjn_iR$zL^9$Wu@?Gc-OS-4WSQq|j>$fsRPVw0m_#FY!91xbyak$H}zV65e@tvTkeKRDs4vS;V= zm-7w<=Xy|Y$*ns}raoPNrQc8>m<}H87)JWu4jRsm9(_7nEU|k|!b+E-WX>8xhr{3Z zRtLS$ZqVi3^((87BEGB=+w*&#w7qU60(9!b@*XEE&XrJ!qljt2$?-!%$`pD-SgBP) z<*R405yPEH#q-Z{h>3Ne#HM{vG1=vOPO-Se>hv7uvU&GyDnED0K}9LWzNa{EFivkQ zdGH}uV;3KA=|z11wU}scRd`plciI*0aquVu}Eb<2z>n zBej$cT}!*KhT8$i{|P_41Kb|zy-vxyQfW8u)Z^K-|tZrajitD>JUVYHt%1OHdZm=0IPJ6QMrRyx+(3ScW=P+#dwVwk)Tt%MrUqAEuZ-{~b8< z7^XVjLS3>*)Y^uSGy8EBA!l*?rqdwLy+VTc4k0Jr?Ubz=V=8^-7d#j0X#IWb8MD^3 z(O>z-ZVAnM?EP@GRCey<|5@ZQ3`E;;(z zqVokmQ?$qUr-XCiAx8+8mqsImW;NC|gMJZ09EP3J)N#Tv?pPsdq8kn~))5AHIdd3$ z-LF)hCU{A#e{womh6E>)Q?QI9gylp{a{|Ew;zj7j0{#S~0S!-B^Ka^dp|E1tRei{p bn=9J+O6f!Js%%RA4}gOQeD{~{JD&O{hl>4% literal 0 HcmV?d00001 diff --git a/html/classdump_1_1AOutReader-members.html b/html/classdump_1_1AOutReader-members.html new file mode 100644 index 00000000..77bae98c --- /dev/null +++ b/html/classdump_1_1AOutReader-members.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.AOutReader Member List
+
+
+ +

This is the complete list of members for dump.AOutReader, including all inherited members.

+ + + + +
__init__(self, sys, rd) (defined in dump.AOutReader)dump.AOutReader
ReadFile(self, **options) (defined in dump.AOutReader)dump.AOutReader
sys (defined in dump.AOutReader)dump.AOutReader
+ + + + diff --git a/html/classdump_1_1AOutReader.html b/html/classdump_1_1AOutReader.html new file mode 100644 index 00000000..b30063ff --- /dev/null +++ b/html/classdump_1_1AOutReader.html @@ -0,0 +1,165 @@ + + + + + + + +RetroLinker: dump.AOutReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.AOutReader Class Reference
+
+
+
+Inheritance diagram for dump.AOutReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, sys, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + +

+Public Attributes

sys
 
- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + + + + + + +
dump.AOutReader.__init__ ( self,
sys,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1AOutReader.png b/html/classdump_1_1AOutReader.png new file mode 100644 index 0000000000000000000000000000000000000000..a8ab30521b0699660163a14fd1952d6ec0ddab59 GIT binary patch literal 561 zcmV-10?z%3P)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0005J zNklypDpgQ?eveO(u;hR}usM3|#UXIp;iE$Rs&e3rdn< z`Ww(hlDkUfS4Q=LHAa#f?IgPj9o?3@;k;AOXTfz1rO|s`h-pht=}>50ur@AeDsa&6 zR0djLCiVu^>P#87G0A$}1L$U!eYVHvp*?7d^U2&!UxoUWs;k;YzTh@$EBXx78_7Iw z_Wl6c-iJi?>mz4+;NEWHb~OW@cW*VKb?>z=($B9hNnX@~l4O_`lqAD+7c}RbCkp_6 zsRsbe)*aBt;|A&-&?j>~^%m$qa_@oyK%5p70K&AO01&1H1%NOuC;)_MK>;943km>X zT2KHuP)aGy7Ltg_TrH@GNSN-29`f6OZwLBtF{Oyen+DNK&{Rj1e?M;5hB5iQCnT=U$igQmWfV z?(IG5-g951knh!kiim`1K}AHubQd(GlqTy72GL(qFr`*r00000NkvXXu0mjfTjT#j literal 0 HcmV?d00001 diff --git a/html/classdump_1_1AppleReader-members.html b/html/classdump_1_1AppleReader-members.html new file mode 100644 index 00000000..a29d4384 --- /dev/null +++ b/html/classdump_1_1AppleReader-members.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.AppleReader Member List
+
+
+ +

This is the complete list of members for dump.AppleReader, including all inherited members.

+ + + + +
__init__(self, rd) (defined in dump.AppleReader)dump.AppleReader
rd (defined in dump.AppleReader)dump.AppleReader
ReadFile(self, **options) (defined in dump.AppleReader)dump.AppleReader
+ + + + diff --git a/html/classdump_1_1AppleReader.html b/html/classdump_1_1AppleReader.html new file mode 100644 index 00000000..1cc213ca --- /dev/null +++ b/html/classdump_1_1AppleReader.html @@ -0,0 +1,160 @@ + + + + + + + +RetroLinker: dump.AppleReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.AppleReader Class Reference
+
+
+
+Inheritance diagram for dump.AppleReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + +

+Public Attributes

rd
 
- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.AppleReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1AppleReader.png b/html/classdump_1_1AppleReader.png new file mode 100644 index 0000000000000000000000000000000000000000..92a1ed244c4624ae9bd22092872c315495e167d3 GIT binary patch literal 566 zcmV-60?GY}P)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0005O zNklIcl zh7)iCitiV=WGJbqkzh6V3-IYl-D^8raCJ(8ZLrf@9|yM;mq|Nb>YjjlHLK5o+u@S! zsSh{6$A2Y|_4-JUN!F`B)pfX!>ln=YQ=NxXr+WO$_4=<(lEYeHl627mlcbAgf@6$v zf&k#Z^#FhwngxD5CXr`>H|`wrH1Hps>IDV>A1yEdxM+a^z(orT04`c!0C3R)1AvPb z7yw+fzyNStA%rkP2xeyfT3|CX7kvl#pE>jnR9_laGqYdnc!$8D8=+lwW4r`!$!^Q% zE}62HA~HDpib=I9I2T?_ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.COFFReader Member List
+
+
+ +

This is the complete list of members for dump.COFFReader, including all inherited members.

+ + + +
__init__(self, rd) (defined in dump.COFFReader)dump.COFFReader
ReadFile(self, **options) (defined in dump.COFFReader)dump.COFFReader
+ + + + diff --git a/html/classdump_1_1COFFReader.html b/html/classdump_1_1COFFReader.html new file mode 100644 index 00000000..e8737f57 --- /dev/null +++ b/html/classdump_1_1COFFReader.html @@ -0,0 +1,156 @@ + + + + + + + +RetroLinker: dump.COFFReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.COFFReader Class Reference
+
+
+
+Inheritance diagram for dump.COFFReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.COFFReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1COFFReader.png b/html/classdump_1_1COFFReader.png new file mode 100644 index 0000000000000000000000000000000000000000..b3292e0f5bfc0dbbaaad876267727ee35be2706c GIT binary patch literal 553 zcmV+^0@nSBP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0005B zNkl*b41|Y4s(k+wZ%gkM3S_Sqe*h1 zz6>2m@=ziD(yF#F&ynPy<779`vu^55pSys57N7T%LhaX0shIvre^hkdd=1@XU&n}k zB~<8yRC7CYtx*-DgG$z_KSU4D>ao7o9^EEYiG8y1>~Em^U02VQquol-v%0QNqI;XE z;cy$L(B;huWNRO}Ym%xRIJ_CXv|`fp4$n5#4ky{#$*v?ag|bD* z7^8^*;JzLJU?V&9<6*|OLqEw@Y(w-vb-1GeV5J-l01M@409YtT1HeK#8UPl`(EzYe zjs}2*ax?&3QwSm02th=|LXH*@S*UM8|5nAzmR)Ca>JUXlcACsyL2tBOXN=Pbe(=9#-q|5jx-PF767{ z=<&esp(nc@OHn7;>iQeBn&0K@7w_-7gzl2AIsE-yA2_@jy|iM>>3e;`;n}p>;pe_) rfB3C)w1~(;Ia)+yp={A1gkYi{z};krspQBk00000NkvXXu0mjf#(fN} literal 0 HcmV?d00001 diff --git a/html/classdump_1_1CPM68KReader-members.html b/html/classdump_1_1CPM68KReader-members.html new file mode 100644 index 00000000..a2267d5b --- /dev/null +++ b/html/classdump_1_1CPM68KReader-members.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.CPM68KReader Member List
+
+
+ +

This is the complete list of members for dump.CPM68KReader, including all inherited members.

+ + + + +
__init__(self, sys, rd) (defined in dump.CPM68KReader)dump.CPM68KReader
ReadFile(self, **options) (defined in dump.CPM68KReader)dump.CPM68KReader
sys (defined in dump.CPM68KReader)dump.CPM68KReader
+ + + + diff --git a/html/classdump_1_1CPM68KReader.html b/html/classdump_1_1CPM68KReader.html new file mode 100644 index 00000000..0023de0c --- /dev/null +++ b/html/classdump_1_1CPM68KReader.html @@ -0,0 +1,165 @@ + + + + + + + +RetroLinker: dump.CPM68KReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.CPM68KReader Class Reference
+
+
+
+Inheritance diagram for dump.CPM68KReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, sys, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + +

+Public Attributes

sys
 
- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + + + + + + +
dump.CPM68KReader.__init__ ( self,
sys,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1CPM68KReader.png b/html/classdump_1_1CPM68KReader.png new file mode 100644 index 0000000000000000000000000000000000000000..87a669706b733c312814b9de5eb851816ae47caa GIT binary patch literal 632 zcmV-;0*C#HP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~00065 zNklyGOn41|Y4s{H;>e7cm2hmh_z?XJ*~tBgzt*dJiizsNb~Erd*x8z@Lf zQWYd5sd_?^Nb*#v{K}{?u=bJUr034wBUv>|YdP;a$$e>cwZ-&yU$V31OZm`A>eh54 zoolQUk}v;`q!75i14&1AY~DC$V=*M%b51h3^6x$+lw@=|Vs&cb9fN> zUXMwVlRibF8S7rBqq{=VN;Hw<`AD9S>g~R& zKKq1Zgm<)y9jlT0TbM;&6C-&54Z?2+4DR(shv?m z?P(eA?vo?Q;y!74JAJL?;A`h+ckJKYz(HbWri%Y!Gc#3?n3<`zB1tKw9rO>yb#P*G SMWQ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.CPM8000Reader Member List
+
+
+ +

This is the complete list of members for dump.CPM8000Reader, including all inherited members.

+ + + +
__init__(self) (defined in dump.CPM8000Reader)dump.CPM8000Reader
ReadFile(self, **options) (defined in dump.CPM8000Reader)dump.CPM8000Reader
+ + + + diff --git a/html/classdump_1_1CPM8000Reader.html b/html/classdump_1_1CPM8000Reader.html new file mode 100644 index 00000000..a144921e --- /dev/null +++ b/html/classdump_1_1CPM8000Reader.html @@ -0,0 +1,152 @@ + + + + + + + +RetroLinker: dump.CPM8000Reader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.CPM8000Reader Class Reference
+
+
+
+Inheritance diagram for dump.CPM8000Reader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + +
dump.CPM8000Reader.__init__ ( self)
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1CPM8000Reader.png b/html/classdump_1_1CPM8000Reader.png new file mode 100644 index 0000000000000000000000000000000000000000..5a976d03643b312d9ae7c0c5938d34bead35d665 GIT binary patch literal 617 zcmeAS@N?(olHy`uVBq!ia0vp^{XiVR!3-qDuU?A=QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=E84JY5_^Dj46+z1`Prz~iDW zyzGT6TmCVOLZ2X;5B~$29eAO!3 z8O17<3HNTu+AY3ZVpj7$dj8tkJD+P_`FyKZ^zz)2#lM~;u3G3lt7zN#&)TQdD_7h( zxx7o;SvDkjt+&ce!>^VmE7pGvdRZG4RQbKvciB7b`E@m~9_blxu70^@n(9eo^Iu1@a6V3W>x&x7#VU zY!Kj3QUV5ol9JgwWu>IcKlcPxulp|(6te#9%tVd;?v5`!o96#`b3dT4{-5Ngd6LI` z{cE?Sl}dlz^KI?E+N;kkDq@Yy<7 + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.CPM86Reader Member List
+
+
+ +

This is the complete list of members for dump.CPM86Reader, including all inherited members.

+ + + + +
__init__(self, rd) (defined in dump.CPM86Reader)dump.CPM86Reader
ReadFile(self, **options) (defined in dump.CPM86Reader)dump.CPM86Reader
ReadImage(self, image_offset=0, **options) (defined in dump.CPM86Reader)dump.CPM86Reader
+ + + + diff --git a/html/classdump_1_1CPM86Reader.html b/html/classdump_1_1CPM86Reader.html new file mode 100644 index 00000000..bc200176 --- /dev/null +++ b/html/classdump_1_1CPM86Reader.html @@ -0,0 +1,159 @@ + + + + + + + +RetroLinker: dump.CPM86Reader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.CPM86Reader Class Reference
+
+
+
+Inheritance diagram for dump.CPM86Reader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadImage (self, image_offset=0, **options)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.CPM86Reader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1CPM86Reader.png b/html/classdump_1_1CPM86Reader.png new file mode 100644 index 0000000000000000000000000000000000000000..e9237b6e6877e6bfb614416d0e49f636a135fd1c GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^jX)g0!3-ohWuCnNQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1f;qo$S;@y$Oi*+rrB2*7#O#Ex;TbZFutApFz>JePs>@w z&^`Z!*Q+L+Ygv}L?bOvLT-O~A)J!n`scrfEP1YpF0~ebVIQTe(7;LtN)R$h7xbcf2 zVbkM;>l|TMqoU7M&wsFQ>bBjlwycX*iJyOk-RnZ1)7+PL9_w((6?QII=TmFVa-mrFNgh}o>rk)JG3Bj|X}vU*m>iS=*P zlpbZhW7$62yvh2Y>;cJx^A(B|Ie;z)B9|5~0TxFvI#{plp{W`^ImAn|PmINJgK`Dy z=YYK8tCzQ|UB1(9!IYpix>ffTZ(LK@-&?7>b7nNy&fM0t z?N)|rhG6xIT}EGZIjtUB{Oj%FKW!1^SbmJ)78d*{2$KpF1*0jE3LK5$)F~_ zZauT|%~w;3E`40ip%(dO%O;fz#wkse=dQ%%{hPx#?+MtCMKA4c2>X0Ls3bmXkEQsz ryPfm*8#XKK>vjC#%A&dSNv6Hxgv{gqNB7zQ + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.Determiner Member List
+
+
+ +

This is the complete list of members for dump.Determiner, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__init__(self, rd) (defined in dump.Determiner)dump.Determiner
FMT_68K_CONTIGUOUS (defined in dump.Determiner)dump.Determinerstatic
FMT_68K_CRUNCHED (defined in dump.Determiner)dump.Determinerstatic
FMT_68K_NONCONTIGUOUS (defined in dump.Determiner)dump.Determinerstatic
FMT_Adam (defined in dump.Determiner)dump.Determinerstatic
FMT_AOut (defined in dump.Determiner)dump.Determinerstatic
FMT_Apple (defined in dump.Determiner)dump.Determinerstatic
FMT_BW (defined in dump.Determiner)dump.Determinerstatic
FMT_COFF (defined in dump.Determiner)dump.Determinerstatic
FMT_COUNT (defined in dump.Determiner)dump.Determinerstatic
FMT_CPM8000 (defined in dump.Determiner)dump.Determinerstatic
FMT_D3X (defined in dump.Determiner)dump.Determinerstatic
FMT_DX64 (defined in dump.Determiner)dump.Determinerstatic
FMT_ELF (defined in dump.Determiner)dump.Determinerstatic
FMT_HU (defined in dump.Determiner)dump.Determinerstatic
FMT_Hunk (defined in dump.Determiner)dump.Determinerstatic
FMT_LE (defined in dump.Determiner)dump.Determinerstatic
FMT_MacRsrc (defined in dump.Determiner)dump.Determinerstatic
FMT_MINIX (defined in dump.Determiner)dump.Determinerstatic
FMT_MP_MQ (defined in dump.Determiner)dump.Determinerstatic
FMT_MZ (defined in dump.Determiner)dump.Determinerstatic
FMT_NE (defined in dump.Determiner)dump.Determinerstatic
FMT_P2_P3 (defined in dump.Determiner)dump.Determinerstatic
FMT_PE (defined in dump.Determiner)dump.Determinerstatic
FMT_UZI280 (defined in dump.Determiner)dump.Determinerstatic
GetMagic(self) (defined in dump.Determiner)dump.Determiner
rd (defined in dump.Determiner)dump.Determiner
ReadMagic(self) (defined in dump.Determiner)dump.Determiner
+ + + + diff --git a/html/classdump_1_1Determiner.html b/html/classdump_1_1Determiner.html new file mode 100644 index 00000000..f7aa78b9 --- /dev/null +++ b/html/classdump_1_1Determiner.html @@ -0,0 +1,190 @@ + + + + + + + +RetroLinker: dump.Determiner Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ + + + + + + + +

+Public Member Functions

__init__ (self, rd)
 
GetMagic (self)
 
ReadMagic (self)
 
+ + + +

+Public Attributes

rd
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Attributes

+int FMT_COUNT = 0
 
FMT_MZ
 
FMT_NE
 
FMT_LE
 
FMT_AOut
 
FMT_COFF
 
FMT_MINIX
 
FMT_68K_CONTIGUOUS
 
FMT_68K_NONCONTIGUOUS
 
FMT_68K_CRUNCHED
 
FMT_HU
 
FMT_MP_MQ
 
FMT_P2_P3
 
FMT_BW
 
FMT_UZI280
 
FMT_PE
 
FMT_ELF
 
FMT_Hunk
 
FMT_MacRsrc
 
FMT_Apple
 
FMT_Adam
 
FMT_D3X
 
FMT_DX64
 
FMT_CPM8000
 
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1ELFReader-members.html b/html/classdump_1_1ELFReader-members.html new file mode 100644 index 00000000..8a304748 --- /dev/null +++ b/html/classdump_1_1ELFReader-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.ELFReader Member List
+
+
+ +

This is the complete list of members for dump.ELFReader, including all inherited members.

+ + + +
__init__(self, rd) (defined in dump.ELFReader)dump.ELFReader
ReadFile(self, **options) (defined in dump.ELFReader)dump.ELFReader
+ + + + diff --git a/html/classdump_1_1ELFReader.html b/html/classdump_1_1ELFReader.html new file mode 100644 index 00000000..d41ba0ab --- /dev/null +++ b/html/classdump_1_1ELFReader.html @@ -0,0 +1,156 @@ + + + + + + + +RetroLinker: dump.ELFReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.ELFReader Class Reference
+
+
+
+Inheritance diagram for dump.ELFReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.ELFReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1ELFReader.png b/html/classdump_1_1ELFReader.png new file mode 100644 index 0000000000000000000000000000000000000000..476b20330136af11c3ede3f2a312244ea07e37a5 GIT binary patch literal 532 zcmV+v0_**WP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0004> zNkldP3g#Vj@*JKScz9oud4xY;ze{9^OHUc&jO)7*^L_Q2Y%_3|#xN5u>` zZ~727QeMb;gzVj6GG{=?F~aqFGJDi)GGG0woc|R`@`}D3N0M<`IFbxfKCaeU(*ywj zqZ=b06|(f00`2;0YH!z z4gj_)rIb9Oh=^oq;Y37&^hw+~`4KIhrNc)N5!q;`dj;pK8}8nDio09v)?3kYwf+p( zA5x2J_UVdiuVvyI#`K=!)aWQ?IrVIDo7r}Jw0E{TCw{r!j=^R!)nH~BS z{N&$zH;UVUclYifnKPi{7}47P(aw_D!)BBD+E*p`oAcc`5s^SGoQOz}@^Ph + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.FileReader Member List
+
+
+ +

This is the complete list of members for dump.FileReader, including all inherited members.

+ + + + + + + +
__init__(self, rd) (defined in dump.FileReader)dump.FileReader
fetch_segment_data(self, count) (defined in dump.FileReader)dump.FileReader
get_rows(self, arg, offset=0, row_length=16) (defined in dump.FileReader)dump.FileReader
process_data(self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic') (defined in dump.FileReader)dump.FileReader
rd (defined in dump.FileReader)dump.FileReader
signal_reloc(self, offset, size, hexcodes, text, row_length=16) (defined in dump.FileReader)dump.FileReader
+ + + + diff --git a/html/classdump_1_1FileReader.html b/html/classdump_1_1FileReader.html new file mode 100644 index 00000000..0887840e --- /dev/null +++ b/html/classdump_1_1FileReader.html @@ -0,0 +1,146 @@ + + + + + + + +RetroLinker: dump.FileReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.FileReader Class Reference
+
+
+
+Inheritance diagram for dump.FileReader:
+
+
+ + +dump.AOutReader +dump.AppleReader +dump.COFFReader +dump.CPM68KReader +dump.CPM8000Reader +dump.CPM86Reader +dump.ELFReader +dump.GSOSOMFReader +dump.HUReader +dump.HunkReader +dump.LEReader +dump.MINIXAOutReader +dump.MZReader +dump.MachOReader +dump.MacintoshResourceReader +dump.NEReader +dump.PEFReader +dump.PEReader + +
+ + + + + + + + + + + + +

+Public Member Functions

__init__ (self, rd)
 
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + +

+Public Attributes

rd
 
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1FileReader.png b/html/classdump_1_1FileReader.png new file mode 100644 index 0000000000000000000000000000000000000000..9250b194b8270185d6fc64fa80656ca4c2a2be0b GIT binary patch literal 7918 zcmds6d010d-VPwR1Yuf{y`;zuwu)MjML{-!1T<-6RYYV-ATCe^Vdi1b z%U+8t1_U(hkfr89#*&a~WEUb*qJ$;T5CREFz7v<$@tJ4lpRawUU;at%xi`r<_dUPg zyWA^Y9{bm?GhYXT!PXxCx zbV6>4HNC-k`Rv&=rn;_UsXlqcCv%>gA|i_yh*CN<6stbD#5CGb5AP&v%*X zjeYmYpJ&xqJsk%v*Gv(&Bj!FirT^z!JIJvsH%6kH6=^Wn>XETnrw$Uu+0r26g03*u z$#R`B#2$;??2k3bVBf@2@++T%!L3a$uGs{xwLupc9lNDgPOah4krCT+>W(o@Ow&$! zav$;xQ~lvxxFodQH~8J;Gb`8&X2v}Zwg#@{Mi8;h0{Y8=xM_X-hmlo7H(LiHlbtLL z5=mU`#(vzbC{A8hAff}gSItJPGD^zP=U-m{7S!?t z5h4OBvD$(JD~P?#g01*cv^Ec5in!o#sZ3k*Te@%#xE)5enoGRuS>T_){ND8geDmHZkqJpzGF%rFh%`PYkZ!gJ9V*?n^;S|Sr4?S0ztXr7^|V1Am(6Za z8Hf7NX;Iikg_2BDS>cD4Vn%-GtL;1fxpeeiSiua|(l}@@oIkxVGng=KPc_^Kk(s6G z!a?ysuBW<|x#KWF7W$F+B-@N@J^p!b#=0y~U=FWbRJzf$w^3VX?uM@3v)a)Q-J}TP ze_s0H6=ZOKycof%9yZqdSnKI;bo>83u>S#^(k>5aV1zZN>m1Xtmlhr3A5UjJwNGtt zM43aG{cAYtwB_ZyYK}l`WR)=)Pg|o0jSVeTak{go3x`b@p#S0y?y`<34o{h6+C}(la~JR;4vM! z9YT~z{5zIDN)5Gh0{{gFY5*#tk3OI7oNP(TW9?oqksMVkxw71Wj*{yvhh}!>Se7r8 zxQ~0IWE5SoFoW!}c%&b4uj1&5ghwPW03$Pz|LmFgqajlKpLUwm_RgDUoe*vRz zRy`@+C&@g7WLoRLSZ_P?d9Ol|1Q4()+SiNOilh<%3^{OpRxllrC1Tnksk-p2Q{QWs z1=h2wjHfqfS_o)me$96Jd$d~uu&{N;rfC;+^}fY|Ug-b391h<<8{ALY1FMS;H|=fS z_TCJuap$OhL(1LhV@^9mr*ibaRG)G6jvu_kywzrlq)r`{pt%axj)5Wr{uOGsb{vMo zTWLD#LN6gp_$NZr@^_eb6PFQE{#L9;GHAEc52_ zAykKGf?*~+@w0J4xh|)ni-XLhbrqM7WC=5CM#MgKCZ;2HrBgQe#O@%)x%SO^-;N`v z4xger4(Z{U0+h=S&`ZU}pM%IXA<1w?# zlDL81E_8Tn*igG~`?3tdlhKy>fS0P0+QpZ>(c&KBQBoAeyO4l|g&f7gW<}SqK8K9{ zX#H)Gj&$j@nIT)TV=W8or2CI$%%AN&*{muVa@8qoJAxVH4wR~0^gT>6q=!}ut)SB7 zDC@W+v~sADm|`qE>uhH*dUK%|$=;ijn+PiC&i$;jlHe(G&fp`Vn7cwXkq1J##0bGQ zTm>30mx-5iLitJZZ(;Kq?UZDSIfqffHG6H&6+R|`aqZ@b(JB)>(DJC-H7 zEKF88*)CEhM(;t-_hYw;?WvA(4+uv?$X1pIW4e`??qLs?+e+(d_JUIQHSe*N5B<@N z`&A_gyi2#Ey|LOl_4_DVE!7DW?>k2{bo(nr1J;@iO-}_II>6^lX6f^*H1J#yB~rZU$1&13@NnzNcUij) zBq-+06OXz|fy&`_KdxZI^{KCy;QV$)9>W|Dy*!p^tWh6hSY!NaiBgo6#Cw` zPBw$I&K+Qc-gi&tEQqHE4JDf#QWKX=tXiveg&q+8Z+4z8#flGJI=P<*jqjtkjZcjA zXey$SHru#Kvxh9a;c>h2KpEZmfs~vjB9V4*>IZX@RV&kuld95*!&Sx4Rk=8b@yK!} zVCW)MCLKXiU!ajBYTXtj=mt7-vR5Re4@l@edGtrn2=jN3(g$Xjpq_%!#fzeY{o5*& z00*t5S(?Q7G0jZV_VHLNE7KVhv6dD6{4*`OZ=`|S79{&gw(PcQ0@nMqy_W5MYy8LK z(S5%3W|lj1xwE55yluvQrUe-kGTW*V*Oyv5!i@Lij-Kx2oT3^wuIG@Mf|$NOO; z2G!U{wk%+}sP%pP!anDdQC-K9=Tw8+yEuGRLf}5Mn(Iudxa7B&Z^PDJ6Dd3++(fM!)9vh#QKS0Wr4Tf zyEXs);ISNXibb7r&r}tf0aP4iutTE**&>u@^T3S zv@$aE%JC$9du3+tVd?_%H2US(4U6#}e9O+>V$2g{YE3MzPc7SV0pSbtOk0@5p ziJC5J9e_Fh2KMql5>sRlR6EsXxaL`Jlzy3f@x2-93YP|Mht#MSri;er#9vBlrc8Y4 zN3beKPN#Ua-q$6D?3I;gslvGgb4|?zuE}Mk^emi8f0Gf^7(wGd?aUs$LQioa7 zGKCT!wL0#cO;CGaoNjM&_f?|fwc;M06pc^ZAF)$C1z6=v-3o!Y@@Aq(Gj%QAm0%@Q z3^u&b*C^@#UzT%GLnm{SvrDGH(A0*y0XLFpSwU)-Ut__Fq_!L$Po415!iHgBXF7pH z8FObpe@6R?LL>{jES@Z!Ni)w5PS4-mb+eUILzN$(5XG485TM9Dq@}k3x zJ%5*3k14}B1TQ}>9Rnp$UP(A6O$GAT2JpD&I*p4#0T;9R9UA##xEL4UVoWSBN;Aca z<*CJ*(ypJonfv?H_odA09v-V|s|8+~;N&6EM@bbiKLsf_04er_=g#9l?IXcd!Jz8}2M_^RJTyjTUfynFcgq_3^ySau9*jwwA4*%qiy$8~XUcIp&-zKcuh={oGN@5jOZ1qV$Dj2Jy;PMpfI;P9%tH zm;rT{oJR=Jqd)YiuF{Llz*5t0xYt2B{~u6W=bE|Jg#**D_)qwTEgtpBd+ za|n)Y8C)-`AIlQv&VMV)V}KZ-BWOc;+eyk=eU|YnQKseAc;szX^+r6GuF=r33ea&B z4)!67``gB6|GK{o8&^!V&FW~MkGEh~F-Y&tkdlvZ>CL=Ws>*6t*>`xMr{s-3F-A~3 zPM$;fCKSpH1y1|k3oLn43N$&6q?df`flEJ{VWJ$*D7XF%?auR0Gu3QnIhDhf8Z;ZbBpLsUb=*Hgpn1YDvIz+O-E9mfn3! zF|dje!ls(MOoz-v(!bpc^U##m^u`&{*A;RG+6@#Cs%O4FBdaDGh3N+!r|!YEoG@zjt#yi6Xm?$?Asqu3OCHGN)Y2>Lu+=dZBn z-#sDF#IjAAOb_uVkm;GaNoU^4Fka0t2?AvQz?0WgU@%R#8gC)rnM(aU{tj4TBs3-2 z68eo&g`#@}8$n$-@}?ESPa8!0og9-N0q(8}e!yvnwrW_FQ#m_oIxLf1bf{_o~D9&hmj;tV98T726ZtI!1!uKogOT5%2nK}h{oDF;7 zsFmxAn;5lBFj+d^aN1Nw#1t}jt8PlVOHv|M&Lqcr$&W+h4IE_GmZM3jj7GhtH3HTcql||RIhIFYl=w~ufa|Wn5RuI> zPRn1W&yq{H9C=i#vbS^Oc_gnTRyv%_>G~zLOGYcB3@fk2?Ha*82q!dGPe$;w(ae1O z`CSf(0IM0bTk@O)=ff)$yHexd;#+soo0Rb;w|ncOTtCn>E2Yl)_~HAo|4A$SU30rP zKB~!1qeNG)niK6z_a-Uco1r#;H(A2B2O+dHKIhT{)_b|3+Ze;!o{)<;$wj1qIM^#sYKC%@FOMM;4;e6Bw-=l>; z0CAaVh--$77+;cv*;7m6l}S{f13<=x84t)jEv=?#8S@BOGFi&5L1auy8_c8czkUW( z>a~vJG`^nm!7b-=t2rlj8E~cekX{!!XCXJ#Jwl;+ZpF8X@j%l@k80>@Ev@NDL1N6! zf^x^|+pdq_h>1eBLvsraZs&1~-dqDsSfLCuNzXl?ZlJy|>f#5!co3Xa$)yRJh7szP zt|Hb78JXf*->}*j0XDix68;Nc^>+Y*%>aU9noKkpK;ZkwgMj!B1SxfG)AD$q7-MKP zHa+zL?SV{_SH%v|kQk;4*Z0a2Z8X89Uq-FZyy*FvZpCsQLj0-_uD7g01prrCod3#| zj*_qQhZ)SKu7=8@kQbA{2w9~$4}LD(XMb_Wq3B~rNeyrEft{C$(NP2w|DqcCfkGB6 zvR^$K{s4D3^l4fvc%}fXCq94tRYFY@FoyRbXEkEn!;G;jgaE|&BaIj*SRa$Be--0< lzE>H$Nkjj2I4wxMuNP<0RH1bUJeh_a+~={k_6zKV{{@Bqy&nJo literal 0 HcmV?d00001 diff --git a/html/classdump_1_1GSOSOMFReader-members.html b/html/classdump_1_1GSOSOMFReader-members.html new file mode 100644 index 00000000..f07b9d21 --- /dev/null +++ b/html/classdump_1_1GSOSOMFReader-members.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.GSOSOMFReader Member List
+
+
+ +

This is the complete list of members for dump.GSOSOMFReader, including all inherited members.

+ + + + + +
__init__(self, rd) (defined in dump.GSOSOMFReader)dump.GSOSOMFReader
label_size (defined in dump.GSOSOMFReader)dump.GSOSOMFReader
ReadFile(self, **options) (defined in dump.GSOSOMFReader)dump.GSOSOMFReader
ReadName(self) (defined in dump.GSOSOMFReader)dump.GSOSOMFReader
+ + + + diff --git a/html/classdump_1_1GSOSOMFReader.html b/html/classdump_1_1GSOSOMFReader.html new file mode 100644 index 00000000..dd62043b --- /dev/null +++ b/html/classdump_1_1GSOSOMFReader.html @@ -0,0 +1,163 @@ + + + + + + + +RetroLinker: dump.GSOSOMFReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.GSOSOMFReader Class Reference
+
+
+
+Inheritance diagram for dump.GSOSOMFReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadName (self)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + +

+Public Attributes

label_size
 
- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.GSOSOMFReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1GSOSOMFReader.png b/html/classdump_1_1GSOSOMFReader.png new file mode 100644 index 0000000000000000000000000000000000000000..4d192f54b165115fe13794867720b4912da33510 GIT binary patch literal 658 zcmeAS@N?(olHy`uVBq!ia0vp^(}6gEgBeIFuMu|#QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B-No-U3d6^w7^zV3T%z|nF% zdF7+O^DCmSix=d*F|#_pdg&{Uc9mz$($Dpa&Q&@pPJU9vr8nt|_70Cr>$BInOltRf z8a_{oKTO`!&uab~zjb>PCExBV7r$=&HmWn}*N*AVH;b0vc@eWU=dQ$a%_o-EwP!uj zvN^T=;VVv!pxi4d%BGX~_iApfUg%jA zZ(e+}cD>$m*MD(@ILbawpss=e>Fl2W(E4i}d{Q8Toc dPPukjJXN7amNU-#Brx?bc)I$ztaD0e0st&^IRO9w literal 0 HcmV?d00001 diff --git a/html/classdump_1_1HUReader-members.html b/html/classdump_1_1HUReader-members.html new file mode 100644 index 00000000..8a95ba6f --- /dev/null +++ b/html/classdump_1_1HUReader-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.HUReader Member List
+
+
+ +

This is the complete list of members for dump.HUReader, including all inherited members.

+ + + +
__init__(self, rd) (defined in dump.HUReader)dump.HUReader
ReadFile(self, **options) (defined in dump.HUReader)dump.HUReader
+ + + + diff --git a/html/classdump_1_1HUReader.html b/html/classdump_1_1HUReader.html new file mode 100644 index 00000000..84705800 --- /dev/null +++ b/html/classdump_1_1HUReader.html @@ -0,0 +1,156 @@ + + + + + + + +RetroLinker: dump.HUReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.HUReader Class Reference
+
+
+
+Inheritance diagram for dump.HUReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.HUReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1HUReader.png b/html/classdump_1_1HUReader.png new file mode 100644 index 0000000000000000000000000000000000000000..699270e83340da9c01f4c3038ed487d4b52ee128 GIT binary patch literal 536 zcmV+z0_XjSP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0004_ zNklMXMyqvHnRH{SFEpk30{HqHF~;a6M3VH;f|2C3 zz6T2=d8m+nX;z(>b0pbmki7yM4by1&-YINrF!!8-j&ExKAm{&jBzZx<3nR(fv|uDTEpJ$iF**qVKF|XI zyyOXcJRE7Bu#M$MbA|n5H!c_e%xl2_U|I_X0MlA90GQT-0l>5t3;?FJU;r?!1p{EO z5JK=0f{2KZ7EDBBTHl17llQ0F-!yo}=TAiBMZ@eQ?6|IoNG}W9n#=`K(6Kgu49g4D z&?J>?U};+_EI~}}45kg1U<%b + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.HunkReader Member List
+
+
+ +

This is the complete list of members for dump.HunkReader, including all inherited members.

+ + + + + + + + + + + + + +
__init__(self, rd) (defined in dump.HunkReader)dump.HunkReader
DisplayData(self, size, **options) (defined in dump.HunkReader)dump.HunkReader
last_hunk_data (defined in dump.HunkReader)dump.HunkReader
ReadBssBlock(self, **options) (defined in dump.HunkReader)dump.HunkReader
ReadCodeOrDataBlock(self, hunk_type, **options) (defined in dump.HunkReader)dump.HunkReader
ReadEndBlock(self, **options) (defined in dump.HunkReader)dump.HunkReader
ReadFile(self, **options) (defined in dump.HunkReader)dump.HunkReader
ReadHeaderBlock(self, **options) (defined in dump.HunkReader)dump.HunkReader
ReadHunk(self, **options) (defined in dump.HunkReader)dump.HunkReader
ReadRelocBlock(self, hunk_type, **options) (defined in dump.HunkReader)dump.HunkReader
ReadString(self, **options) (defined in dump.HunkReader)dump.HunkReader
relocs (defined in dump.HunkReader)dump.HunkReader
+ + + + diff --git a/html/classdump_1_1HunkReader.html b/html/classdump_1_1HunkReader.html new file mode 100644 index 00000000..3805a203 --- /dev/null +++ b/html/classdump_1_1HunkReader.html @@ -0,0 +1,187 @@ + + + + + + + +RetroLinker: dump.HunkReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.HunkReader Class Reference
+
+
+
+Inheritance diagram for dump.HunkReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadString (self, **options)
 
ReadHeaderBlock (self, **options)
 
ReadCodeOrDataBlock (self, hunk_type, **options)
 
ReadBssBlock (self, **options)
 
ReadRelocBlock (self, hunk_type, **options)
 
ReadEndBlock (self, **options)
 
DisplayData (self, size, **options)
 
ReadHunk (self, **options)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + + + +

+Public Attributes

last_hunk_data
 
relocs
 
- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.HunkReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1HunkReader.png b/html/classdump_1_1HunkReader.png new file mode 100644 index 0000000000000000000000000000000000000000..5d865746dd70611b72728f4fe1e381353f92a3f1 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0vp^B|sd&!3-q-S1vRKQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=E9hJzX3_Dj46+ec0Ecz|+#M zc=OBO`9G$#Ueen2+V#Vv!*5ttTv&f#&3?h;p2e*mlafsrs@(LgXO{B#6rgCE88&xD zvdYejj+<6r2s8gW>-D}SJ=W*8OWc0%61=?3{AH`t=eDhdj=_!1>sIoZ9Q4Uyzxv8Y za+~4Fth>A~(x%GZe*O7^l*!SbDeso7clzshHT0>%{Q~K&qIa3Ux)~ild$Yb_+J9$- z*YBrU|9x;T>(M7|wm9Z_N?GkJ()KvVA7jq%NH0Pvxs2$;Jue2 zVavRReR2E&^BeTee7xem;Qxue!dwi0O%^g-@C7pNVr6`ARBSPb;!sio`cO&f?iZUc zbN<)uo;~^SYh|TP!OB(AUkd(emS~o|T(|g2M!flgo3CZwhGyK`V5S#QB=Ta{1r;Aj z-!-hdJ8ZtOW}22R`5OHqZJX@ttv3&8?Y_5i?*6$e)oWRA`GxxV`G4mve>$@(ujyUi z_NiwpR~0U=3Rf?G<$qJ++5hCkd%yjE3X}>MJYD@<);T3K0RY#`4r~Ab literal 0 HcmV?d00001 diff --git a/html/classdump_1_1LEReader-members.html b/html/classdump_1_1LEReader-members.html new file mode 100644 index 00000000..3b170b79 --- /dev/null +++ b/html/classdump_1_1LEReader-members.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.LEReader Member List
+
+
+ +

This is the complete list of members for dump.LEReader, including all inherited members.

+ + + + + + +
__init__(self, rd) (defined in dump.LEReader)dump.LEReader
ENDIAN_NAMES (defined in dump.LEReader)dump.LEReaderstatic
FetchModuleName(self, offset, index) (defined in dump.LEReader)dump.LEReader
FetchName(self, offset) (defined in dump.LEReader)dump.LEReader
ReadFile(self, **options) (defined in dump.LEReader)dump.LEReader
+ + + + diff --git a/html/classdump_1_1LEReader.html b/html/classdump_1_1LEReader.html new file mode 100644 index 00000000..7c4721be --- /dev/null +++ b/html/classdump_1_1LEReader.html @@ -0,0 +1,169 @@ + + + + + + + +RetroLinker: dump.LEReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.LEReader Class Reference
+
+
+
+Inheritance diagram for dump.LEReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
FetchName (self, offset)
 
FetchModuleName (self, offset, index)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + +

+Static Public Attributes

+dict ENDIAN_NAMES = {0: 'little endian', 1: 'big endian'}
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.LEReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1LEReader.png b/html/classdump_1_1LEReader.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e65a2d5dbc0b4d85bbd530b5b69f2191a5316b GIT binary patch literal 529 zcmV+s0`C2ZP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0004; zNklp05>=jtAn|j@Khp<o~%P***N#?Z*dv9T2 z31V^|Fs;hqZ7`c@y%x5aZO8U{T3Ah*qT0>0%qy_=&D1UBz*eZu+DgV?twGFibH+Qc z;_E=x_Q;*>xUrhDv|_09Zp;R=Zant|IsWUB#qy)M!v3)vCkz0_HDLfStO)~vVNDnS3~RywU|16d0K=Lv02tPU0kAEE z5WIvSBI2V76A>BKS7FEK{B*Tejv^u-+R5I6*|(SH2+6ePVtZCL;2TCQL+RSl+M@LU7U_f`3^V T?@XgG00000NkvXXu0mjfFE#hB literal 0 HcmV?d00001 diff --git a/html/classdump_1_1MINIXAOutReader-members.html b/html/classdump_1_1MINIXAOutReader-members.html new file mode 100644 index 00000000..60cb69d0 --- /dev/null +++ b/html/classdump_1_1MINIXAOutReader-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.MINIXAOutReader Member List
+
+
+ +

This is the complete list of members for dump.MINIXAOutReader, including all inherited members.

+ + + +
__init__(self, rd) (defined in dump.MINIXAOutReader)dump.MINIXAOutReader
ReadFile(self, **options) (defined in dump.MINIXAOutReader)dump.MINIXAOutReader
+ + + + diff --git a/html/classdump_1_1MINIXAOutReader.html b/html/classdump_1_1MINIXAOutReader.html new file mode 100644 index 00000000..c73967f4 --- /dev/null +++ b/html/classdump_1_1MINIXAOutReader.html @@ -0,0 +1,156 @@ + + + + + + + +RetroLinker: dump.MINIXAOutReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.MINIXAOutReader Class Reference
+
+
+
+Inheritance diagram for dump.MINIXAOutReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.MINIXAOutReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1MINIXAOutReader.png b/html/classdump_1_1MINIXAOutReader.png new file mode 100644 index 0000000000000000000000000000000000000000..b6261e6bc3821003f8c498cf6426cb9a9b30b09c GIT binary patch literal 661 zcmeAS@N?(olHy`uVBq!ia0vp^(}6gEgBeIFuMu|#QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B*Po-U3d6^w7^zRo+Wz|+dl zzVg#=`;SJaj)dh^pW_7pzQO1rux6JR1^K$u&dL&@NM#&PcrG;-(K1r3+H{KxbIkK-;R(8 z+0AV~tWF%CHqCU8y7-}sf0w@RD2lxLXXex7*DHT!?0#SWI{QJ4l2X~<&iC6oPAC=W k2@38Od&Z^M^7RYr+ppEXTpySh022^{r>mdKI;Vst0CAQ|o&W#< literal 0 HcmV?d00001 diff --git a/html/classdump_1_1MZReader-members.html b/html/classdump_1_1MZReader-members.html new file mode 100644 index 00000000..15602fa5 --- /dev/null +++ b/html/classdump_1_1MZReader-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.MZReader Member List
+
+
+ +

This is the complete list of members for dump.MZReader, including all inherited members.

+ + + +
__init__(self, rd) (defined in dump.MZReader)dump.MZReader
ReadFile(self, **options) (defined in dump.MZReader)dump.MZReader
+ + + + diff --git a/html/classdump_1_1MZReader.html b/html/classdump_1_1MZReader.html new file mode 100644 index 00000000..94ee45d9 --- /dev/null +++ b/html/classdump_1_1MZReader.html @@ -0,0 +1,156 @@ + + + + + + + +RetroLinker: dump.MZReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.MZReader Class Reference
+
+
+
+Inheritance diagram for dump.MZReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.MZReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1MZReader.png b/html/classdump_1_1MZReader.png new file mode 100644 index 0000000000000000000000000000000000000000..99535c99e73c49affa62716c98e48555a44f0143 GIT binary patch literal 551 zcmV+?0@(eDP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~00059 zNklVrP=yfw|_?c;5?`HjShKhvf}=(**NchrLq> zEI}mp0rRQ^uZ<-0dKI>rt?zn0EvyEms5Y6Gc?Z_+%-vEBY=vr6E9rx^29ejz86Uuk zuLD`1NAB#vjn$OpDTcc4#%wTkMZ((_A z?yO;NnqVP2ES*V(C5Xg)O + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.MachOReader Member List
+
+
+ +

This is the complete list of members for dump.MachOReader, including all inherited members.

+ + + +
__init__(self, rd) (defined in dump.MachOReader)dump.MachOReader
ReadFile(self, **options) (defined in dump.MachOReader)dump.MachOReader
+ + + + diff --git a/html/classdump_1_1MachOReader.html b/html/classdump_1_1MachOReader.html new file mode 100644 index 00000000..fc0e7a5e --- /dev/null +++ b/html/classdump_1_1MachOReader.html @@ -0,0 +1,156 @@ + + + + + + + +RetroLinker: dump.MachOReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.MachOReader Class Reference
+
+
+
+Inheritance diagram for dump.MachOReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.MachOReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1MachOReader.png b/html/classdump_1_1MachOReader.png new file mode 100644 index 0000000000000000000000000000000000000000..a2044536fd9d0189750003e8b0116872b5f02465 GIT binary patch literal 566 zcmeAS@N?(olHy`uVBq!ia0vp^jX)g0!3-ohWuCnNQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1f;qo$S;@y$Oi*+rrB2*7#I(Fx;TbZFut7|n|DNkr{%1| z+8zHpXA2l4D`cAG9$i(`%B}eCr$O1b(4?Nil^!e&t&dpz3LFI(9)vjkJ00b_@eQMc z`t@`31kX&XG~HS~Kf&6|GIn0cTK6TE`%mgmS+K-OeY52wAC9v9E)$e5-*Z^7;>ZzU z%k1_aeG7^Yp09a2Z9%Tk%2Ko46Vh4C*rTSI-e>20ZzRVcx8E^Ad!pQK?W*<#+oBk5 z{g`USz@Ytn?}eyEeNpGWS1$}P`p(24vGc$0o_ARc6>5GD_V@aIaAYw&wj;>JrA|d( zaN^QUa~^z+>fJCWfjOdQ!@L942RY{)03nx_HeriKFgjST%%Rw_R7r8^6tOO0i-QgY zyutVRqIPWzFPr;(pW5#C0y68}@3ZCpU*0_>$f(G3L*>0`M;X_eDhY2nY&LgMI1hhz zn6}`Tl@b~U^E_B?YQJ6C`7~ws#09~|f?ra6E@XZ#c0Vw&C)0J+$(K84EZE;_%`&Ay z=FyY|u}*u9&qW-r_A@wQv%hs_cJ%&a*)7>`Une|Ub6#72-RlQS#G|~g1ZrQO@vhUx zD61)JX8+!RQ?sid-ZTIBe*X-ZZxvfM1npxeHp%?I(O9V)7{d&nu6{1-oD!M + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.MacintoshResourceReader Member List
+
+
+ +

This is the complete list of members for dump.MacintoshResourceReader, including all inherited members.

+ + + + + + +
__init__(self, rd, offset=0) (defined in dump.MacintoshResourceReader)dump.MacintoshResourceReader
LOADSEG (defined in dump.MacintoshResourceReader)dump.MacintoshResourceReaderstatic
MOVE_DATA_SP (defined in dump.MacintoshResourceReader)dump.MacintoshResourceReaderstatic
offset (defined in dump.MacintoshResourceReader)dump.MacintoshResourceReader
ReadFile(self, **options) (defined in dump.MacintoshResourceReader)dump.MacintoshResourceReader
+ + + + diff --git a/html/classdump_1_1MacintoshResourceReader.html b/html/classdump_1_1MacintoshResourceReader.html new file mode 100644 index 00000000..5a6e4ef1 --- /dev/null +++ b/html/classdump_1_1MacintoshResourceReader.html @@ -0,0 +1,175 @@ + + + + + + + +RetroLinker: dump.MacintoshResourceReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.MacintoshResourceReader Class Reference
+
+
+
+Inheritance diagram for dump.MacintoshResourceReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd, offset=0)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + +

+Public Attributes

offset
 
- Public Attributes inherited from dump.FileReader
rd
 
+ + + + + +

+Static Public Attributes

+int MOVE_DATA_SP = 0x3F3C
 
+int LOADSEG = 0xA9F0
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + + + + + + +
dump.MacintoshResourceReader.__init__ ( self,
rd,
offset = 0 )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1MacintoshResourceReader.png b/html/classdump_1_1MacintoshResourceReader.png new file mode 100644 index 0000000000000000000000000000000000000000..a18ba2d4b43791c4a3dd35f7ac0f05b272997482 GIT binary patch literal 732 zcmeAS@N?(olHy`uVBq!ia0vp^$ALJ2gBeK9+A)zINJ$6ygt-3y{~ySF@#br3|Doj; z2ATyD)6cwk@ZbSZ-1KbN5}+JsNswPK1CS2}=1jA%FfcHsd%8G=R4~4sn>)E#fv079 z>9WcH|978P(sw)cUm z`8yH!JNq}~T5xSpy4*W!O4>G&6SnYWhV{i~P!uI`HoVUAqiKZk#k&6@bDtE0Akn(BS-_gAf}oU!XYKCQ6( zW&8hYc!SFMla?MuOLrGccw!G^UFrk5JmcAnWtqG7F+8|k#c+VPM7ZzxV>t!$hcgWG z7>mUD)`v4Bc%EZqD0?Eqkl;=NPE)^53h9<1(z@p3=6?PHxhYDV%mnuzW$z(WOhz`bu59wPok!>o;Z{&EC8{qA + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.NEReader Member List
+
+
+ +

This is the complete list of members for dump.NEReader, including all inherited members.

+ + + + + +
__init__(self, rd) (defined in dump.NEReader)dump.NEReader
FetchModuleName(self, offset, index) (defined in dump.NEReader)dump.NEReader
FetchName(self, offset) (defined in dump.NEReader)dump.NEReader
ReadFile(self, **options) (defined in dump.NEReader)dump.NEReader
+ + + + diff --git a/html/classdump_1_1NEReader.html b/html/classdump_1_1NEReader.html new file mode 100644 index 00000000..c0d30e31 --- /dev/null +++ b/html/classdump_1_1NEReader.html @@ -0,0 +1,162 @@ + + + + + + + +RetroLinker: dump.NEReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.NEReader Class Reference
+
+
+
+Inheritance diagram for dump.NEReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
FetchName (self, offset)
 
FetchModuleName (self, offset, index)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + +

+Additional Inherited Members

- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.NEReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1NEReader.png b/html/classdump_1_1NEReader.png new file mode 100644 index 0000000000000000000000000000000000000000..31472e6f8916da8159ad5ecaa41aa5cf0e15c71c GIT binary patch literal 540 zcmV+%0^|LOP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0004} zNkl7Px{iRuTV$P9dr$P1(Y&1-x;krxM)?n^Ag)%OUOH5DFg96JhSVEJ`YYXgM zLSP9Zxf85(C3p=|tn{m}Znoa*@wBj-l&0EZrOi9A_RWf0jt$$Pn$=F`V68#qw%g+m zu*27Ztk)xF_Q8$Sl*e@#>U%e4gQ*+8`+{8m>yhLQ{aqMIKBfgD$!U4RVvNyA0Pq97 z0KiM0u-D6x<_X(ael%Cuf9%Eu1Auug7ywLb!2n=d3kCqwS}*{Z)`9`Rv=$5irnO)I z^a>#aFCmzj`Dnq+%%=65uxs-Ebo<@Cm7|&2NyF?tSbF@1==5=2GqYX_+iK-PDU@+( zKIMk6{DLJk$vVBl(zaAsf=KQPCh0v$q1tN)>sIJ}Eju`~(;QtWTXz#yw^x=_=-z_3 z=wX=LpDJ`-8J^h@n(Z&OZ=czP8>=agt8=`b*}#q2TtM eykQ}P;G} + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.PEFReader Member List
+
+
+ +

This is the complete list of members for dump.PEFReader, including all inherited members.

+ + + + +
__init__(self, rd) (defined in dump.PEFReader)dump.PEFReader
offset (defined in dump.PEFReader)dump.PEFReader
ReadFile(self, **options) (defined in dump.PEFReader)dump.PEFReader
+ + + + diff --git a/html/classdump_1_1PEFReader.html b/html/classdump_1_1PEFReader.html new file mode 100644 index 00000000..78363c36 --- /dev/null +++ b/html/classdump_1_1PEFReader.html @@ -0,0 +1,160 @@ + + + + + + + +RetroLinker: dump.PEFReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.PEFReader Class Reference
+
+
+
+Inheritance diagram for dump.PEFReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + +

+Public Attributes

offset
 
- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.PEFReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1PEFReader.png b/html/classdump_1_1PEFReader.png new file mode 100644 index 0000000000000000000000000000000000000000..39ca701d7b359f5af9ec2bc3c62e951afd5aa570 GIT binary patch literal 538 zcmV+#0_FXQP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0004{ zNkld%+0#B5eJQ7-O6$M3S7Q#Un{S zJb0oP_H+zfM8>Ufr-8jCnDmfM|tPyWUmspK@&wp4(ep@@bXWY)x_@7Q{L8NE|!9hwfDEY z{F)k?WS*|Pv@w;JI3{<2r>&M?>S@=Ox0`M6hv#SWX6n9PZSDrI_gBe_s2(cz=C9ohKsVsl^i!@zVpm c5JH%zFInze78AcIBLDyZ07*qoM6N<$f?=oyMF0Q* literal 0 HcmV?d00001 diff --git a/html/classdump_1_1PEReader-members.html b/html/classdump_1_1PEReader-members.html new file mode 100644 index 00000000..8a6ce7e9 --- /dev/null +++ b/html/classdump_1_1PEReader-members.html @@ -0,0 +1,99 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.PEReader Member List
+
+
+ +

This is the complete list of members for dump.PEReader, including all inherited members.

+ + + + + + + + + +
__init__(self, rd) (defined in dump.PEReader)dump.PEReader
FetchHintName(self, rva) (defined in dump.PEReader)dump.PEReader
FetchName(self, rva) (defined in dump.PEReader)dump.PEReader
GetOffset(self, rva) (defined in dump.PEReader)dump.PEReader
image_base (defined in dump.PEReader)dump.PEReader
memory_map (defined in dump.PEReader)dump.PEReader
PrintRva(self, rva) (defined in dump.PEReader)dump.PEReader
ReadFile(self, **options) (defined in dump.PEReader)dump.PEReader
+ + + + diff --git a/html/classdump_1_1PEReader.html b/html/classdump_1_1PEReader.html new file mode 100644 index 00000000..4181815f --- /dev/null +++ b/html/classdump_1_1PEReader.html @@ -0,0 +1,175 @@ + + + + + + + +RetroLinker: dump.PEReader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
dump.PEReader Class Reference
+
+
+
+Inheritance diagram for dump.PEReader:
+
+
+ + +dump.FileReader + +
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 __init__ (self, rd)
 
GetOffset (self, rva)
 
PrintRva (self, rva)
 
FetchName (self, rva)
 
FetchHintName (self, rva)
 
ReadFile (self, **options)
 
- Public Member Functions inherited from dump.FileReader
fetch_segment_data (self, count)
 
get_rows (self, arg, offset=0, row_length=16)
 
signal_reloc (self, offset, size, hexcodes, text, row_length=16)
 
process_data (self, options, max_reloc_size, parameter, data_offset=0, get_reloc_size=None, text_encoding='ascii_graphic')
 
+ + + + + + + + +

+Public Attributes

image_base
 
memory_map
 
- Public Attributes inherited from dump.FileReader
rd
 
+

Constructor & Destructor Documentation

+ +

◆ __init__()

+ +
+
+ + + + + + + + + + + +
dump.PEReader.__init__ ( self,
rd )
+
+ +

Reimplemented from dump.FileReader.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classdump_1_1PEReader.png b/html/classdump_1_1PEReader.png new file mode 100644 index 0000000000000000000000000000000000000000..b7abc0b3f130272d8a08a15ad7de3e81efad1056 GIT binary patch literal 537 zcmV+!0_OdRP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0004` zNklyo_OEXp$}?a;23iSA#?RIdIEw6+?`S({g2{hOIvbi;n2KI=P~gY^b+(_xPf zVCw5cw(FKNJ8)w&rCw^N-@CCI%)9Y-Uy$>EJ(9ej&xMiXZCWsroK`d}=bVEC0DsT} z0HPELdprVZk+6*wM+=4hV>d1s0L*K_0AN}R1_0AqFaVg=f&sv^77PHUwO{}+tpx+% zuar`X5|W5Wj228pWLocpos)~BG;RZ(i-`0($X + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dump.Reader Member List
+
+
+ +

This is the complete list of members for dump.Reader, including all inherited members.

+ + + + + + + + + + + + + + + + + +
__init__(self, fp, endian=LittleEndian) (defined in dump.Reader)dump.Reader
AntiPDP11Endian (defined in dump.Reader)dump.Readerstatic
BigEndian (defined in dump.Reader)dump.Readerstatic
endian (defined in dump.Reader)dump.Reader
fp (defined in dump.Reader)dump.Reader
GetFormat(self, count, signed=False, endian=None) (defined in dump.Reader)dump.Reader
LittleEndian (defined in dump.Reader)dump.Readerstatic
ParseWord(self, data, signed=False, endian=None) (defined in dump.Reader)dump.Reader
PDP11Endian (defined in dump.Reader)dump.Readerstatic
Read(self, count=None) (defined in dump.Reader)dump.Reader
ReadToZero(self) (defined in dump.Reader)dump.Reader
ReadWord(self, count, signed=False, endian=None) (defined in dump.Reader)dump.Reader
Seek(self, offset) (defined in dump.Reader)dump.Reader
SeekEnd(self, offset=0) (defined in dump.Reader)dump.Reader
Skip(self, offset) (defined in dump.Reader)dump.Reader
Tell(self) (defined in dump.Reader)dump.Reader
+ + + + diff --git a/html/classdump_1_1Reader.html b/html/classdump_1_1Reader.html new file mode 100644 index 00000000..6833e010 --- /dev/null +++ b/html/classdump_1_1Reader.html @@ -0,0 +1,154 @@ + + + + + + + +RetroLinker: dump.Reader Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

__init__ (self, fp, endian=LittleEndian)
 
Tell (self)
 
Seek (self, offset)
 
Skip (self, offset)
 
SeekEnd (self, offset=0)
 
Read (self, count=None)
 
ReadToZero (self)
 
GetFormat (self, count, signed=False, endian=None)
 
ParseWord (self, data, signed=False, endian=None)
 
ReadWord (self, count, signed=False, endian=None)
 
+ + + + + +

+Public Attributes

fp
 
endian
 
+ + + + + + + + + +

+Static Public Attributes

+int LittleEndian = 1
 
+int BigEndian = 2
 
+int PDP11Endian = 3
 
+int AntiPDP11Endian = 4
 
+
The documentation for this class was generated from the following file:
    +
  • src/dump.py
  • +
+
+ + + + diff --git a/html/classes.html b/html/classes.html new file mode 100644 index 00000000..dc7ef17f --- /dev/null +++ b/html/classes.html @@ -0,0 +1,159 @@ + + + + + + + +RetroLinker: Class Index + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Index
+
+
+
A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | V | W | X | Y | Z
+
+
+
A
+
BWFormat::AbstractSegment (DOS16M)
P3Format::MultiSegmented::AbstractSegment (PharLap)
AdamFormat (SeychellDOS32)
AFPDirectoryID (Apple)
AFPFileInfo (Apple)
AFPShortName (Apple)
AOutFormat (AOut)
COFFFormat::AOutHeader (COFF)
AOutReader (dump)
AppleFormat (Binary)
AppleReader (dump)
AppleSingleDouble (Apple)
AS86ObjFormat (AS86Obj)
AtariFormat (Binary)
FileInfo::AUX (Apple)
+
+
B
+
BinaryFormat (Binary)
BitFieldDisplay::BitField (Dumper)
BitFieldDisplay (Dumper)
Block (Dumper)
BOutFormat (Xenix)
Buffer (Linker)
BWFormat (DOS16M)
+
+
C
+
ChoiceDisplay (Dumper)
ResourceFork::CodeResource (Apple)
COFFFormat (COFF)
COFFReader (dump)
Comment (Apple)
CommodoreFormat (Binary)
CommonSymbol (Linker)
Container (Dumper)
CPM3Format (Binary)
CPM68KFormat (DigitalResearch)
CPM68KReader (dump)
CPM8000Reader (dump)
CPM86Format (DigitalResearch)
CPM86Reader (dump)
CPM8KFormat (DigitalResearch)
+
+
D
+
D3X1Format (BrocaD3X)
DataFork (Apple)
DecDisplay (Dumper)
CPM86Format::Descriptor (DigitalResearch)
P3Format::MultiSegmented::Descriptor (PharLap)
P3Format::MultiSegmented::DescriptorTable (PharLap)
Determiner (dump)
Display (Dumper)
BWFormat::DummySegment (DOS16M)
Dumper (Dumper)
+
+
E
+
ELFFormat (ELF)
ELFReader (dump)
AppleSingleDouble::Entry (Apple)
ResourceFork::JumpTableCodeResource::Entry (Apple)
Entry (Dumper)
LEFormat::Entry (Microsoft)
NEFormat::Entry (Microsoft)
Exception (Linker)
ExportedSymbol (Linker)
+
+
F
+
CPM86Format::FastLoadDescriptor (DigitalResearch)
Field (Dumper)
FieldOf (Dumper)
FileDatesInfo (Apple)
FileInfo (Apple)
FileReader (dump)
FinderInfo (Apple)
P3Format::Flat (PharLap)
FlatFormat (DX64)
FLEXFormat (Binary)
COFFFormat::FlexOSAOutHeader (COFF)
Format (Linker)
format_description
format_magic
+
+
G
+
ResourceFork::GenericResource (Apple)
GeodeFormat (GEOS)
COFFFormat::GNUAOutHeader (COFF)
GSOSOMFReader (dump)
+
+
H
+
HexDisplay (Dumper)
HUFormat (X68000)
HunkFormat::Hunk (Amiga)
HunkFormat (Amiga)
HunkReader (dump)
HUReader (dump)
+
+
I
+
IconBW (Apple)
IconColor (Apple)
InputFormat (Linker)
+
+
J
+
ResourceFork::JumpTableCodeResource (Apple)
+
+
L
+
CPM86Format::FastLoadDescriptor::ldt_descriptor (DigitalResearch)
LEFormat (Microsoft)
LEReader (dump)
CPM86Format::library (DigitalResearch)
CPM86Format::library_id (DigitalResearch)
CPM86Format::LibraryDescriptor (DigitalResearch)
LinkerManager (Linker)
List (Script)
Location (Linker)
LVFormat (DX64)
+
+
M
+
MacBinary (Apple)
MacDriver (Apple)
COFFFormat::MachineType (COFF)
MachOFormat (MachO)
MachOReader (dump)
FileInfo::Macintosh (Apple)
MacintoshFileInfo (Apple)
MacintoshResourceReader (dump)
MINIXAOutReader (dump)
MINIXFormat (MINIX)
COFFFormat::MIPSAOutHeader (COFF)
Module (Linker)
MPFormat (PharLap)
FileInfo::MSDOS (Apple)
MSDOSFileInfo (Apple)
P3Format::MultiSegmented (PharLap)
MZFormat (Microsoft)
MZReader (dump)
MZSimpleStubWriter (Microsoft)
MZStubWriter (Microsoft)
+
+
N
+
LEFormat::Name (Microsoft)
NEFormat::Name (Microsoft)
NEFormat (Microsoft)
NEReader (dump)
Node (Script)
+
+
O
+
O65Format (O65)
LEFormat::Object (Microsoft)
OMFFormat (Apple)
OMFFormat (OMF)
COFFFormat::OptionalHeader (COFF)
output_format_type
OutputFormat (Linker)
+
+
P
+
P3Format (PharLap)
LEFormat::Page (Microsoft)
PEFFormat (Apple)
PEFormat (Microsoft)
PEFReader (dump)
PEReader (dump)
MZFormat::PIF (Microsoft)
PMW1Format (PMODE)
FinderInfo::Point (Apple)
Position (Linker)
PRLFormat (Binary)
FileInfo::ProDOS (Apple)
ProDOSFileInfo (Apple)
+
+
R
+
Reader (Linker)
Reader (dump)
RealName (Apple)
Reference (Linker)
Region (Dumper)
NEFormat::Segment::Relocation (Microsoft)
P3Format::MultiSegmented::Relocation (PharLap)
MPFormat::Relocation (PharLap)
MZFormat::Relocation (Microsoft)
LEFormat::Page::Relocation (Microsoft)
Relocation (Linker)
ELFFormat::Relocation (ELF)
CPM8KFormat::Relocation (DigitalResearch)
CPM86Format::Relocation (DigitalResearch)
CPM68KFormat::Relocation (DigitalResearch)
COFFFormat::Relocation (COFF)
CPM86Format::relocation_source (DigitalResearch)
BWFormat::RelocationSegment (DOS16M)
Resolution (Linker)
ResourceFork::Resource (Apple)
LEFormat::Resource (Microsoft)
NEFormat::Resource (Microsoft)
ResourceFork (Apple)
CPM3Format::rsx_record (Binary)
CPM86Format::rsx_record (DigitalResearch)
P3Format::RunTimeParameterBlock (PharLap)
+
+
S
+
ELFFormat::Section (ELF)
Section (Linker)
COFFFormat::Section (COFF)
SectionedDisplay (Dumper)
NEFormat::Segment (Microsoft)
P3Format::MultiSegmented::Segment (PharLap)
Segment (Linker)
BWFormat::Segment (DOS16M)
CPM8KFormat::Segment (DigitalResearch)
FLEXFormat::Segment (Binary)
AtariFormat::Segment (Binary)
SegmentedDisplay (Dumper)
StringDisplay (Dumper)
AOutFormat::Symbol (AOut)
COFFFormat::Symbol (COFF)
CPM8KFormat::Symbol (DigitalResearch)
ELFFormat::Symbol (ELF)
SymbolName (Linker)
+
+
T
+
Target (Linker)
P3Format::MultiSegmented::TaskStateSegment (PharLap)
TestExportedSymbol (UnitTests)
TestLocation (UnitTests)
TestMZFormat (UnitTests)
TestReader (UnitTests)
TestSection (UnitTests)
TestSymbolName (UnitTests)
+
+
U
+
COFFFormat::UnknownOptionalHeader (COFF)
UZI280Format (Binary)
UZIFormat (Binary)
+
+
V
+
Value (Script)
Value< void > (Script)
NEFormat::version (Microsoft)
VersionDisplay (Dumper)
+
+
W
+
Writable (Linker)
Writer (Linker)
+
+
X
+
XOutFormat (Xenix)
XPFormat (Ergo)
+
+
Y
+
yy_buffer_state
yy_trans_info
yyalloc
YYSTYPE
+
+
Z
+
COFFFormat::ZilogRelocation (COFF)
+
+
+ + + + diff --git a/html/clipboard.js b/html/clipboard.js new file mode 100644 index 00000000..42c1fb0e --- /dev/null +++ b/html/clipboard.js @@ -0,0 +1,61 @@ +/** + +The code below is based on the Doxygen Awesome project, see +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +let clipboard_title = "Copy to clipboard" +let clipboard_icon = `` +let clipboard_successIcon = `` +let clipboard_successDuration = 1000 + +$(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const clipboard_div = document.createElement("div") + clipboard_div.classList.add("clipboard") + clipboard_div.innerHTML = clipboard_icon + clipboard_div.title = clipboard_title + $(clipboard_div).click(function() { + const content = this.parentNode.cloneNode(true) + // filter out line number and folded fragments from file listings + content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) + let text = content.textContent + // remove trailing newlines and trailing spaces from empty lines + text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') + navigator.clipboard.writeText(text); + this.classList.add("success") + this.innerHTML = clipboard_successIcon + window.setTimeout(() => { // switch back to normal icon after timeout + this.classList.remove("success") + this.innerHTML = clipboard_icon + }, clipboard_successDuration); + }) + fragment.insertBefore(clipboard_div, fragment.firstChild) + } + } +}) diff --git a/html/closed.png b/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/html/coff_8h_source.html b/html/coff_8h_source.html new file mode 100644 index 00000000..a52560b1 --- /dev/null +++ b/html/coff_8h_source.html @@ -0,0 +1,709 @@ + + + + + + + +RetroLinker: src/format/coff.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
coff.h
+
+
+
1#ifndef COFF_H
+
2#define COFF_H
+
3
+
4#include <map>
+
5#include "cpm68k.h"
+
6#include "mzexe.h"
+
7#include "../common.h"
+
8#include "../linker/linker.h"
+
9#include "../linker/module.h"
+
10#include "../linker/segment.h"
+
11#include "../linker/writer.h"
+
12
+
13namespace COFF
+
14{
+
+ +
26 {
+
27 /* * * General members * * */
+
28 public:
+
+
32 enum cpu
+
33 {
+
34 CPU_UNKNOWN = 0,
+
35 // main supported types
+
36 CPU_I386 = 0x014C,
+
37 CPU_M68K = 0x0150,
+
38 // GNU binutils output
+
39 CPU_Z80 = 0x805A,
+
40 CPU_Z8K = 0x8000,
+
41 // other CPU types, included for completeness sake
+
42 CPU_I86 = 0x0148,
+
43 CPU_NS32K = 0x0154,
+
44 CPU_I370 = 0x0158, // IBM 370
+
45 CPU_MIPS = 0x0160,
+
46 CPU_M88K = 0x016D,
+
47 CPU_WE32K = 0x0170,
+
48 CPU_VAX = 0x0178,
+
49 CPU_AM29K = 0x017A,
+
50 CPU_ALPHA = 0x0183,
+
51 CPU_PPC = 0x01DF,
+
52 CPU_PPC64 = 0x01F7,
+
53 CPU_SHARC = 0x521C,
+
54 // overloaded values
+
55 // for now, none
+
56 };
+
+
57
+
+ +
59 {
+
60 cpu actual_cpu;
+
61 ::EndianType endian;
+
62 };
+
+
63
+
64 static const std::map<uint32_t, MachineType> MACHINE_TYPES;
+
65
+
67 char signature[2];
+
68
+
72 ::EndianType GetEndianType() const;
+
73
+
+ +
78 {
+
79 public:
+
80 virtual ~Relocation();
+
81 virtual offset_t GetAddress() = 0;
+
82 virtual size_t GetSize() = 0;
+
83 virtual void FillEntry(Dumper::Entry& entry) = 0;
+
84 };
+
+
85
+
+ +
90 {
+
91 public:
+
92 // https://github.com/aixoss/binutils/blob/master/include/coff/internal.h
+
93 // https://github.com/aixoss/binutils/blob/master/include/coff/z80.h
+
94 // https://github.com/aixoss/binutils/blob/master/include/coff/z8k.h
+
95
+
96 static const uint16_t R_Z80_IMM8 = 0x22;
+
97 static const uint16_t R_Z80_IMM16 = 0x01;
+
98 static const uint16_t R_Z80_IMM24 = 0x33;
+
99 static const uint16_t R_Z80_IMM32 = 0x17;
+
100 static const uint16_t R_Z80_OFF8 = 0x32;
+
101 static const uint16_t R_Z80_JR = 0x02;
+
102
+
103 static const uint16_t R_Z8K_IMM4L = 0x23;
+
104 static const uint16_t R_Z8K_IMM4H = 0x24;
+
105 static const uint16_t R_Z8K_DISP7 = 0x25; /* djnz */
+
106 static const uint16_t R_Z8K_IMM8 = 0x22;
+
107 static const uint16_t R_Z8K_IMM16 = 0x01;
+
108 static const uint16_t R_Z8K_REL16 = 0x04;
+
109 static const uint16_t R_Z8K_IMM32 = 0x11;
+
110 static const uint16_t R_Z8K_JR = 0x02; /* jr */
+
111 static const uint16_t R_Z8K_CALLR = 0x05; /* callr */
+
112
+
113 cpu cpu_type;
+
114
+
118 uint32_t address;
+
122 uint32_t symbol_index;
+
126 uint32_t offset;
+
130 uint16_t type;
+
134 uint16_t data;
+
135
+
136 ZilogRelocation(cpu cpu_type)
+
137 : cpu_type(cpu_type)
+
138 {
+
139 }
+
140
+
141 void Read(Linker::Reader& in);
+
142
+
143 offset_t GetAddress() override;
+
144
+
145 size_t GetSize() override;
+
146
+
147 void FillEntry(Dumper::Entry& entry) override;
+
148 };
+
+
149
+
+
153 class Symbol
+
154 {
+
155 public:
+
159 std::string name;
+
163 uint32_t name_index;
+
167 uint32_t value;
+ +
175 uint16_t type;
+ + +
186
+
187 void Read(Linker::Reader& rd);
+
188
+
189 bool IsExternal() const;
+
190 };
+
+
191
+
+ +
196 {
+
197 public:
+
201 std::string name;
+ +
209 uint32_t address;
+
213 uint32_t size;
+ + + + + +
237 uint32_t flags;
+
238
+ +
243
+
247 std::vector<Relocation *> relocations;
+
248
+
250 enum
+
251 {
+
253 TEXT = 0x0020,
+
255 DATA = 0x0040,
+
257 BSS = 0x0080,
+
258 };
+
259
+
260 void Initialize();
+
261
+
262 void Clear();
+
263
+
264 Section(uint32_t flags = 0, Linker::Writable * image = nullptr)
+
265 {
+
266 Initialize();
+
267 this->flags = flags;
+
268 this->image = image;
+
269 }
+
270
+
271 ~Section()
+
272 {
+
273 Clear();
+
274 }
+
275
+
276 void ReadSectionHeader(Linker::Reader& rd);
+
277
+
278 void WriteSectionHeader(Linker::Writer& wr);
+
279
+
280 uint32_t ActualDataSize();
+
281 };
+
+
282
+
286 std::vector<Section *> sections;
+
287
+ +
295 uint32_t timestamp;
+ +
303 uint32_t symbol_count;
+
307 std::vector<Symbol *> symbols;
+ +
315 uint16_t flags;
+
316
+
+ +
321 {
+
322 public:
+
323 virtual ~OptionalHeader();
+
324 virtual void Initialize();
+
328 virtual uint32_t GetSize() = 0;
+
329 virtual void ReadFile(Linker::Reader& rd) = 0;
+
330 virtual void WriteFile(Linker::Writer& wr) = 0;
+
334 virtual void PostReadFile(COFFFormat& coff, Linker::Reader& rd);
+
338 virtual void PostWriteFile(COFFFormat& coff, Linker::Writer& wr);
+
339
+
340 virtual void Dump(COFFFormat& coff, Dumper::Dumper& dump);
+
341 };
+
+
342
+ +
347
+
351 std::map<uint32_t, size_t> relocations; /* CDOS68K */
+
352
+
+ +
357 {
+
358 public:
+
359 Linker::Buffer * buffer;
+
360
+
361 UnknownOptionalHeader(offset_t size)
+
362 : buffer(new Linker::Buffer(size))
+
363 {
+
364 }
+
365
+ +
367 {
+
368 delete buffer;
+
369 }
+
370
+
371 void Initialize() override;
+
372
+
373 uint32_t GetSize() override;
+
374
+
375 void ReadFile(Linker::Reader& rd) override;
+
376
+
377 void WriteFile(Linker::Writer& wr) override;
+
378
+
379 void Dump(COFFFormat& coff, Dumper::Dumper& dump) override;
+
380 };
+
+
381
+
+ +
386 {
+
387 public:
+
391 uint16_t magic;
+ +
396
+
400 uint32_t code_size;
+
404 uint32_t data_size;
+
408 uint32_t bss_size;
+ +
416 uint32_t code_address;
+
420 uint32_t data_address;
+
421
+
422 void Initialize() override;
+
423
+
424 AOutHeader(uint16_t magic = 0)
+
425 {
+
426 Initialize();
+
427 this->magic = magic;
+
428 }
+
429
+
430 uint32_t GetSize() override;
+
431
+
432 void ReadFile(Linker::Reader& rd) override;
+
433
+
434 void WriteFile(Linker::Writer& wr) override;
+
435
+
436 protected:
+
437 virtual void DumpFields(COFFFormat& coff, Dumper::Dumper& dump, Dumper::Region& header_region);
+
438
+
439 public:
+
440 void Dump(COFFFormat& coff, Dumper::Dumper& dump) override;
+
441 };
+
+
442
+
+ +
448 {
+
449 public:
+ +
457 uint32_t stack_size;
+
458
+
459 void Initialize() override;
+
460
+ +
462 {
+
463 /* magic not needed for CDOS68K? */
+
464 }
+
465
+
466 uint32_t GetSize() override;
+
467
+
468 void ReadFile(Linker::Reader& rd) override;
+
469
+
470 void WriteFile(Linker::Writer& wr) override;
+
471
+
472 void PostReadFile(COFFFormat& coff, Linker::Reader& rd) override;
+
473
+
474 void PostWriteFile(COFFFormat& coff, Linker::Writer& wr) override;
+
475
+
476 protected:
+
477 void DumpFields(COFFFormat& coff, Dumper::Dumper& dump, Dumper::Region& header_region) override;
+
478 };
+
+
479
+
+ +
485 {
+
486 public:
+
487 /* Note: untested */
+
488 uint32_t info;
+
489 uint32_t code_size;
+
490 uint32_t data_size;
+
491 uint32_t bss_size;
+
492 uint32_t symbol_table_size;
+
493 uint32_t entry_address;
+
494 uint32_t code_relocation_size;
+
495 uint32_t data_relocation_size;
+
496
+
497 void Initialize() override;
+
498
+ +
500 {
+
501 Initialize();
+
502 }
+
503
+
504 uint32_t GetSize() override;
+
505
+
506 void ReadFile(Linker::Reader& wr) override;
+
507
+
508 void WriteFile(Linker::Writer& wr) override;
+
509
+
510 void Dump(COFFFormat& coff, Dumper::Dumper& dump) override;
+
511 };
+
+
512
+
+ +
519 {
+
520 public:
+
521 // https://web.archive.org/web/20140723105157/http://www-scf.usc.edu/~csci402/ncode/coff_8h-source.html
+
522 /* bss_start */
+
523 uint32_t bss_address;
+
524 /* gpr_mask */
+
525 uint32_t gpr_mask;
+
526 /* cprmask */
+
527 uint32_t cpr_mask[4];
+
528 /* gp_value */
+
529 uint32_t gp_value;
+
530 /* TODO */
+
531
+
532 protected:
+
533 void DumpFields(COFFFormat& coff, Dumper::Dumper& dump, Dumper::Region& header_region) override;
+
534 };
+
+
535
+
536 void Initialize() override;
+
537
+
538 void Clear() override;
+
539
+
540 void AssignMagicValue();
+
541
+ +
548
+
552 ::EndianType endiantype;
+
553
+
554 bool DetectCpuType(::EndianType expected);
+
555
+
556 void DetectCpuType();
+
557
+
558 void ReadFile(Linker::Reader& rd) override;
+
559
+
560 void WriteFile(Linker::Writer& wr) override;
+
561
+
562 void Dump(Dumper::Dumper& dump) override;
+
563
+
564 /* * * Reader members * * */
+
565
+
566 void SetupOptions(char special_char, Linker::OutputFormat * format) override;
+
567
+
568 char special_prefix_char;
+
569 /* GNU assembler can use '$', NASM must use '?' */
+
570 bool option_segmentation;
+
571
+
572 private:
+
573 /* symbols */
+
574 std::string segment_prefix();
+
575
+
576 std::string segment_of_prefix();
+
577
+
581 std::string segmented_address_prefix();
+
582
+
583#if 0
+
584 // TODO: can this be used?
+
585 std::string segment_difference_prefix();
+
586#endif
+
587
+
588 enum
+
589 {
+
590 /* section number */
+
591 N_UNDEF = 0,
+
592 N_ABS = 0xFFFF,
+
593 N_DEBUG = 0xFFFE,
+
594
+
595 /* storage class */
+
596 C_EXT = 2,
+
597 C_STAT = 3,
+
598 C_LABEL = 6,
+
599 };
+
600
+
601 void GenerateModule(Linker::Module& module);
+
602
+
603 public:
+
604 void ProduceModule(Linker::Module& module, Linker::Reader& rd) override;
+
605
+
606 /* * * Writer members * * */
+
607
+
608 public:
+
+ +
613 {
+ + + + +
630 };
+
+ +
635
+ +
640
+
644 uint32_t stub_size;
+
645
+ + + +
658
+ +
660 {
+
661 Initialize();
+
662 this->type = type;
+
663 }
+
664
+ +
666 {
+
667 Clear();
+
668 }
+
669
+
670 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
+
671
+
672 static COFFFormat * CreateWriter(format_type type);
+
673
+
674 using LinkerManager::SetLinkScript;
+
675
+
676 void SetOptions(std::map<std::string, std::string>& options) override;
+
677
+
679 enum
+
680 {
+
681 FLAG_NO_RELOCATIONS = 0x0001,
+
682 FLAG_EXECUTABLE = 0x0002,
+
683 FLAG_NO_LINE_NUMBERS = 0x0004,
+
684 FLAG_NO_SYMBOLS = 0x0008,
+
685 FLAG_32BIT_LITTLE_ENDIAN = 0x0100,
+
686 FLAG_32BIT_BIG_ENDIAN = 0x0200,
+
687
+
691 ZMAGIC = 0x010B,
+
692 };
+
693
+
694 void OnNewSegment(Linker::Segment * segment) override;
+
695
+
696 void CreateDefaultSegments();
+
697
+
698 Script::List * GetScript(Linker::Module& module);
+
699
+
700 void Link(Linker::Module& module);
+
701
+
703 Linker::Segment * GetSegment(Section * section);
+
704
+
705 Linker::Segment * GetCodeSegment();
+
706
+
707 Linker::Segment * GetDataSegment();
+
708
+
709 Linker::Segment * GetBssSegment();
+
710
+
711 void ProcessModule(Linker::Module& module) override;
+
712
+
713 void CalculateValues() override;
+
714
+
715 void GenerateFile(std::string filename, Linker::Module& module) override;
+
716
+
717 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
718 };
+
+
719
+
720}
+
721
+
722#endif /* COFF_H */
+
A standard 28 byte a.out optional header, used by DJGPP.
Definition coff.h:386
+
uint32_t code_address
unused (COFF name: text_start)
Definition coff.h:416
+
uint16_t version_stamp
unused (COFF name: vstamp)
Definition coff.h:395
+
uint32_t entry_address
Initial value of eip (COFF name: entry)
Definition coff.h:412
+
uint16_t magic
Type of executable, most typically ZMAGIC (COFF name: magic)
Definition coff.h:391
+
uint32_t GetSize() override
Returns size of optional header.
Definition coff.cc:347
+
uint32_t code_size
unused (COFF name: tsize)
Definition coff.h:400
+
uint32_t data_size
unused (COFF name: dsize)
Definition coff.h:404
+
uint32_t bss_size
unused (COFF name: bsize)
Definition coff.h:408
+
uint32_t data_address
unused (COFF name: data_start)
Definition coff.h:420
+
Concurrent DOS 68K/FlexOS 386 optional header Concurrent DOS 68K uses the typical a....
Definition coff.h:448
+
void PostWriteFile(COFFFormat &coff, Linker::Writer &wr) override
Stores any additional data in the file corresponding to this type of optional header.
Definition coff.cc:443
+
uint32_t GetSize() override
Returns size of optional header.
Definition coff.cc:419
+
void PostReadFile(COFFFormat &coff, Linker::Reader &rd) override
Retrieves any additional data from the file corresponding to this type of optional header.
Definition coff.cc:438
+
uint32_t stack_size
Size of stack for execution.
Definition coff.h:457
+
uint32_t relocations_offset
The offset to the crunched relocation data within the file.
Definition coff.h:453
+
GNU a.out optional header TODO.
Definition coff.h:485
+
uint32_t GetSize() override
Returns size of optional header.
Definition coff.cc:469
+
A standard 28 byte a.out optional header, used by DJGPP.
Definition coff.h:519
+
An abstract class to represent the optional header.
Definition coff.h:321
+
virtual void PostWriteFile(COFFFormat &coff, Linker::Writer &wr)
Stores any additional data in the file corresponding to this type of optional header.
Definition coff.cc:302
+
virtual uint32_t GetSize()=0
Returns size of optional header.
+
virtual void PostReadFile(COFFFormat &coff, Linker::Reader &rd)
Retrieves any additional data from the file corresponding to this type of optional header.
Definition coff.cc:298
+
A generic COFF relocation.
Definition coff.h:78
+
A COFF section.
Definition coff.h:196
+
std::string name
The name of the section (COFF name: s_name)
Definition coff.h:201
+
Linker::Writable * image
The stored image data.
Definition coff.h:242
+
uint32_t address
The virtual address of the section (COFF name: s_vaddr)
Definition coff.h:209
+
uint16_t relocation_count
COFF relocation count (COFF name: s_nreloc)
Definition coff.h:229
+
uint16_t line_number_count
unused (COFF name: s_nlnno)
Definition coff.h:233
+
uint32_t section_pointer
Offset of stored image data from COFF header start (COFF name: s_scnptr)
Definition coff.h:217
+
uint32_t relocation_pointer
Offset to COFF relocations (COFF name: s_relptr)
Definition coff.h:221
+
@ DATA
Section contains initialized data (COFF name: STYP_DATA)
Definition coff.h:255
+
@ BSS
Section contains uninitialized data (COFF name: STYP_BSS)
Definition coff.h:257
+
@ TEXT
Section contains executable (COFF name: STYP_TEXT)
Definition coff.h:253
+
uint32_t physical_address
The physical address of the section (expected to be identical to the virtual address) (COFF name: s_p...
Definition coff.h:205
+
uint32_t size
The size of the section (COFF name: s_size)
Definition coff.h:213
+
std::vector< Relocation * > relocations
Collection of COFF relocations.
Definition coff.h:247
+
uint32_t line_number_pointer
unused (COFF name: s_lnnoptr)
Definition coff.h:225
+
uint32_t flags
COFF section flags, determines the type of the section (text, data, bss, etc.) (COFF name: s_flags)
Definition coff.h:237
+
A COFF symbol.
Definition coff.h:154
+
std::string name
Symbol name (COFF name: n_name, if it fits inside field)
Definition coff.h:159
+
uint16_t section_number
The number of the section, with special values 0 (N_UNDEF), 1 (N_ABS) and 2 (N_DEBUG) (COFF name: n_s...
Definition coff.h:171
+
uint16_t type
The symbol type (COFF name: n_type)
Definition coff.h:175
+
uint8_t storage_class
COFF name: n_sclass, typical values are 2 (C_EXT), 3 (C_STAT)
Definition coff.h:181
+
uint32_t name_index
The index of the symbol name within the string table, if not stored directly in the entry,...
Definition coff.h:163
+
uint8_t auxiliary_count
Signifies how many extra entries are present, these should be skipped, 0 is a typical value (COFF nam...
Definition coff.h:185
+
uint32_t value
The actual value of the symbol (COFF name: n_value)
Definition coff.h:167
+
A simplified class to represent an optional header of unknown structure.
Definition coff.h:357
+
uint32_t GetSize() override
Returns size of optional header.
Definition coff.cc:315
+
A relocation, as stored by the Z80/Z8000 backend.
Definition coff.h:90
+
uint32_t symbol_index
Index of symbol in symbol table (COFF name: r_symndx)
Definition coff.h:122
+
uint16_t data
unknown (COFF name: r_stuff)
Definition coff.h:134
+
uint32_t address
Address of the relocation (COFF name: r_vaddr)
Definition coff.h:118
+
uint16_t type
Type of relocation (COFF name: r_type)
Definition coff.h:130
+
uint32_t offset
(COFF name: r_offset)
Definition coff.h:126
+
The UNIX COFF file format.
Definition coff.h:26
+
void Clear() override
Resets all fields to their default values, deallocate memory.
Definition coff.cc:559
+
void Initialize() override
Sets all fields to their default values.
Definition coff.cc:535
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition coff.cc:1662
+
std::vector< Section * > sections
The list of COFF sections.
Definition coff.h:286
+
void Dump(Dumper::Dumper &dump) override
Display file contents in a nice manner.
Definition coff.cc:822
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition coff.cc:1555
+
format_type
Represents the type of target system, which will determine the CPU type and several other fields.
Definition coff.h:613
+
@ CDOS386
FlexOS 386 executable (unknown)
Definition coff.h:629
+
@ GENERIC
An unspecified value, probably will not work.
Definition coff.h:617
+
@ DJGPP
DJGPP COFF executable.
Definition coff.h:621
+
@ CDOS68K
Concurrent DOS 68K executable (untested but confident)
Definition coff.h:625
+
uint32_t optional_header_size
The size of the optional header (COFF: f_opthdr)
Definition coff.h:311
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition coff.cc:778
+
@ ZMAGIC
Stored as the magic of the a.out header.
Definition coff.h:691
+
std::map< uint32_t, size_t > relocations
Concurrent DOS 68K requires a special block of data to represent "crunched" relocations (see CPM68KWr...
Definition coff.h:351
+
void ProduceModule(Linker::Module &module, Linker::Reader &rd) override
Reads a file and loads the information into a module object.
Definition coff.cc:1269
+
Linker::Segment * GetSegment(Section *section)
Return the segment stored inside the section, note that this only works for binary generation.
Definition coff.cc:1464
+
format_type type
A representation of the format to generate.
Definition coff.h:634
+
char signature[2]
The actual value of the magic number (COFF name: f_magic)
Definition coff.h:67
+
uint32_t symbol_table_offset
Offset to the first symbol (COFF name: f_symptr)
Definition coff.h:299
+
cpu
Represents the first 16-bit word of a COFF file.
Definition coff.h:33
+
std::vector< Symbol * > symbols
The symbols stored inside the COFF file.
Definition coff.h:307
+
::EndianType endiantype
The byte order.
Definition coff.h:552
+
uint32_t relocations_offset
Concurrent DOS 68K: Offset to relocations.
Definition coff.h:657
+
bool option_no_relocation
Suppress relocation generation, only relevant for Concurrent DOS 68K, since the other target formats ...
Definition coff.h:639
+
uint32_t stub_size
Size of MZ stub, only used for DJGPP COFF executables.
Definition coff.h:644
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition coff.cc:646
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition coff.cc:1624
+
uint16_t section_count
Section count (COFF name: f_nscns)
Definition coff.h:291
+
OptionalHeader * optional_header
The optional header instance used for reading/writing the COFF file.
Definition coff.h:346
+
uint32_t entry_address
Entry address, gets stored in optional header later.
Definition coff.h:653
+
Linker::Segment * stack
Concurrent DOS 68K and FlexOS 386: The stack segment, not stored as part of any section.
Definition coff.h:649
+
uint32_t symbol_count
The number of symbols (COFF name: f_nsyms)
Definition coff.h:303
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition coff.cc:1306
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition coff.cc:1294
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition coff.cc:1499
+
::EndianType GetEndianType() const
Retrieves the natural byte order for the architecture.
Definition coff.cc:76
+
uint16_t flags
COFF flags, such as whether the file is executable (f_flags)
Definition coff.h:315
+
cpu cpu_type
The CPU type, reflected by the first 16-bit word of a COFF file.
Definition coff.h:547
+
void SetupOptions(char special_char, Linker::OutputFormat *format) override
Initializes the reader for linking purposes.
Definition coff.cc:942
+
uint32_t timestamp
Time stamp, unused (COFF name: f_timdat)
Definition coff.h:295
+
A class to control the output of a file analysis.
Definition dumper.h:529
+
A brief record, such as a relocation or imported library.
Definition dumper.h:461
+
A record that represents a region within the file.
Definition dumper.h:445
+
A buffer that can be used to read and store data from a file.
Definition section.h:22
+
A class that provides a general interface to loading a module.
Definition format.h:165
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition mzexe.h:255
+
Definition script.h:61
+
Definition coff.h:59
+
+ + + + diff --git a/html/common_8h_source.html b/html/common_8h_source.html new file mode 100644 index 00000000..22535b1d --- /dev/null +++ b/html/common_8h_source.html @@ -0,0 +1,175 @@ + + + + + + + +RetroLinker: src/common.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
common.h
+
+
+
1#ifndef COMMON_H
+
2#define COMMON_H
+
3
+
4#include <cassert>
+
5#include <cstdint>
+
6#include <cstddef>
+
7#include <map>
+
8#include <iostream>
+
9#include <string>
+
10
+
11typedef uint64_t offset_t;
+
12typedef int64_t relative_offset_t;
+
13typedef size_t number_t;
+
14
+
15enum EndianType
+
16{
+
17 Undefined,
+
18 LittleEndian,
+
19 BigEndian,
+
20 PDP11Endian, /* little endian within a 16-bit word, big endian between words */
+
21 AntiPDP11Endian,
+
22};
+
23
+
24extern EndianType DefaultEndianType;
+
25
+
29size_t GetOffset(EndianType endiantype, size_t bytes, size_t index);
+
30
+
34offset_t AlignTo(offset_t value, offset_t align);
+
35
+
39uint16_t Swap16(uint16_t value);
+
40
+
44uint16_t FromLittleEndian16(uint16_t value);
+
45
+
49uint16_t FromBigEndian16(uint16_t value);
+
50
+
54uint32_t Swap32(uint32_t value);
+
55
+
59uint32_t Swap32words(uint32_t value);
+
60
+
64uint32_t FromLittleEndian32(uint32_t value);
+
65
+
69uint32_t FromBigEndian32(uint32_t value);
+
70
+
74uint32_t FromPDP11Endian32(uint32_t value);
+
75
+
79uint64_t Swap64(uint64_t value);
+
80
+
84uint64_t Swap64words(uint64_t value);
+
85
+
89uint64_t FromLittleEndian64(uint64_t value);
+
90
+
91uint64_t FromBigEndian64(uint64_t value);
+
92
+
93uint64_t FromPDP11Endian64(uint64_t value);
+
94
+
98uint64_t ReadUnsigned(size_t bytes, size_t maximum, uint8_t const * data, EndianType endiantype);
+
99
+
103int64_t SignExtend(size_t bytes, int64_t value);
+
104
+
108int64_t ReadSigned(size_t bytes, size_t maximum, uint8_t const * data, EndianType endiantype);
+
109
+
113void WriteWord(size_t bytes, size_t maximum, uint8_t * data, uint64_t value, EndianType endiantype);
+
114
+
115bool LookupOption(std::map<std::string, std::string>& options, std::string key, std::string& value);
+
116
+
117namespace Linker
+
118{
+
119 class Section;
+
120 class Location;
+
121 typedef std::map<Section *, Location> Displacement;
+
122
+
123 class Relocation;
+
124 class Segment;
+
125 class Writer;
+
126
+
127 /* TODO: implement these properly */
+
128 extern std::ostream Debug;
+
129 extern std::ostream Warning;
+
130 extern std::ostream Error;
+
131}
+
132
+
133#endif /* COMMON_H */
+
+ + + + diff --git a/html/cookie.js b/html/cookie.js new file mode 100644 index 00000000..53ad21d9 --- /dev/null +++ b/html/cookie.js @@ -0,0 +1,58 @@ +/*! + Cookie helper functions + Copyright (c) 2023 Dimitri van Heesch + Released under MIT license. +*/ +let Cookie = { + cookie_namespace: 'doxygen_', + + readSetting(cookie,defVal) { + if (window.chrome) { + const val = localStorage.getItem(this.cookie_namespace+cookie) || + sessionStorage.getItem(this.cookie_namespace+cookie); + if (val) return val; + } else { + let myCookie = this.cookie_namespace+cookie+"="; + if (document.cookie) { + const index = document.cookie.indexOf(myCookie); + if (index != -1) { + const valStart = index + myCookie.length; + let valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + return document.cookie.substring(valStart, valEnd); + } + } + } + return defVal; + }, + + writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete + if (window.chrome) { + if (days==0) { + sessionStorage.setItem(this.cookie_namespace+cookie,val); + } else { + localStorage.setItem(this.cookie_namespace+cookie,val); + } + } else { + let date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; + document.cookie = this.cookie_namespace + cookie + "=" + + val + "; SameSite=Lax;" + expiration + "path=/"; + } + }, + + eraseSetting(cookie) { + if (window.chrome) { + if (localStorage.getItem(this.cookie_namespace+cookie)) { + localStorage.removeItem(this.cookie_namespace+cookie); + } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { + sessionStorage.removeItem(this.cookie_namespace+cookie); + } + } else { + this.writeSetting(cookie,'',-1); + } + }, +} diff --git a/html/cpm68k_8h_source.html b/html/cpm68k_8h_source.html new file mode 100644 index 00000000..215f66d0 --- /dev/null +++ b/html/cpm68k_8h_source.html @@ -0,0 +1,311 @@ + + + + + + + +RetroLinker: src/format/cpm68k.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
cpm68k.h
+
+
+
1#ifndef CPM68K_H
+
2#define CPM68K_H
+
3
+
4#include <map>
+
5#include <set>
+
6#include <string>
+
7#include "../common.h"
+
8#include "../linker/linker.h"
+
9#include "../linker/module.h"
+
10#include "../linker/segment.h"
+
11#include "../linker/writer.h"
+
12#include "../dumper/dumper.h"
+
13
+
14namespace DigitalResearch
+
15{
+
+ +
27 {
+
28 public:
+
29 /* * * General members * * */
+
30
+
+ +
35 {
+ + +
47 MAGIC_CRUNCHED, /* Concurrent DOS 68K only */
+
48 };
+
+
49
+
51 char signature[2];
+
52
+
56 uint32_t code_size;
+
60 uint32_t data_size;
+
64 uint32_t bss_size;
+ +
72 uint32_t stack_size;
+
73
+
77 uint32_t code_address;
+
81 uint32_t program_flags; /* TODO: make parameter */
+
82
+ +
90 uint32_t data_address;
+
94 uint32_t bss_address;
+
98 offset_t file_size;
+
99
+ + +
108
+
109 /* filled in automatically */
+
+ +
111 {
+
115 size_t size;
+
119 unsigned segment;
+
120 operator size_t() const;
+
121 };
+
+
125 std::map<uint32_t, Relocation> relocations;
+
126
+
127 magic_type GetSignature() const;
+
128
+
129 void SetSignature(magic_type magic);
+
130
+
+ +
135 {
+ + +
147 SYSTEM_GEMDOS_EARLY, /* TODO: parametrize this type */
+ + + +
160 } system;
+
+
161
+
162 void Initialize() override;
+
163
+
164 void Clear() override;
+
165
+ +
167 {
+
168 Initialize();
+
169 SetSignature(magic);
+
170 this->system = system;
+
171 }
+
172
+
173 void ReadFile(Linker::Reader& rd) override;
+
174
+
175 template <typename SizeType>
+
176 static void CDOS68K_WriteRelocations(Linker::Writer& wr, std::map<uint32_t, SizeType> relocations)
+
177 {
+
178 /* TODO: test */
+
179 offset_t last_relocation = 0;
+
180 for(auto it : relocations)
+
181 {
+
182 offset_t difference = it.first - last_relocation;
+
183 uint8_t highbit = it.second/*.size*/ == 2 ? 0x80 : 0x00;
+
184 if(difference != 0 && difference <= 0x7C)
+
185 {
+
186 wr.WriteWord(1, highbit | difference);
+
187 }
+
188 else if(difference < 0x100)
+
189 {
+
190 wr.WriteWord(1, highbit | 0x7D);
+
191 wr.WriteWord(1, difference);
+
192 }
+
193 else if(difference < 0x10000)
+
194 {
+
195 wr.WriteWord(1, highbit | 0x7E);
+
196 wr.WriteWord(2, difference);
+
197 }
+
198 else
+
199 {
+
200 wr.WriteWord(1, highbit | 0x7F);
+
201 wr.WriteWord(4, difference);
+
202 }
+
203 }
+
204 }
+
205
+
206 void WriteFile(Linker::Writer& wr) override;
+
207
+
208 void Dump(Dumper::Dumper& dump) override;
+
209
+
210 void CalculateValues() override;
+
211
+
212 /* * * Writer members * * */
+
213
+ +
218
+ + +
223
+ +
226
+ +
229
+
230 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
+
231
+
232 using LinkerManager::SetLinkScript;
+
233
+
234 void SetOptions(std::map<std::string, std::string>& options) override;
+
235
+
236 void OnNewSegment(Linker::Segment * segment) override;
+
237
+
238 void CreateDefaultSegments();
+
239
+
240 Script::List * GetScript(Linker::Module& module);
+
241
+
242 void Link(Linker::Module& module);
+
243
+
244 void ProcessModule(Linker::Module& module) override;
+
245
+
246 void GenerateFile(std::string filename, Linker::Module& module) override;
+
247
+
248 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
249 };
+
+
250
+
251}
+
252
+
253#endif /* CPM68K_H */
+
The native executable format for the Motorola 68000 port of CP/M.
Definition cpm68k.h:27
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition cpm68k.cc:919
+
offset_t file_size
Size of entire file, not used for generation.
Definition cpm68k.h:98
+
uint32_t stack_size
Size of the stack segment. Only used by Concurrent DOS 68K.
Definition cpm68k.h:72
+
uint32_t code_address
Load address of the code/text segment. Not used by GEMDOS which stores the program flags at this offs...
Definition cpm68k.h:77
+
uint32_t bss_size
Size of the uninitialized data (bss) segment. Human68k includes the stack in it.
Definition cpm68k.h:64
+
void Initialize() override
Sets all fields to their default values.
Definition cpm68k.cc:44
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition cpm68k.cc:941
+
uint32_t program_flags
Program flags, used by GEMDOS.
Definition cpm68k.h:81
+
uint32_t bss_address
Load address of the uninitialized data (bss) segment. Only relevant for non-contiguous executables (C...
Definition cpm68k.h:94
+
std::map< uint32_t, Relocation > relocations
Relocations, not used for Human68k.
Definition cpm68k.h:125
+
bool option_no_relocation
Makes sure no relocations are placed into the output file.
Definition cpm68k.h:217
+
Linker::Segment * bss_segment
Segment to collect bss.
Definition cpm68k.h:220
+
uint16_t relocations_suppressed
Set to a non-0 value when relocations are suppressed. Typically this can be 1, but Human68k specifica...
Definition cpm68k.h:86
+
magic_type
Represents the magic number at the beginning of the executable file.
Definition cpm68k.h:35
+
@ MAGIC_CONTIGUOUS
Contiguous executables (magic value 0x601A in big endian) must load the code, data,...
Definition cpm68k.h:39
+
@ MAGIC_CRUNCHED
Contiguous executables with crunched relocations (magic value 0x601C in big endian),...
Definition cpm68k.h:47
+
@ MAGIC_NONCONTIGUOUS
Non-contiguous executables (magic value 0x601B in big endian) can load the code, data,...
Definition cpm68k.h:43
+
Linker::Segment * DataSegment()
Return data segment (if it exists)
Definition cpm68k.cc:566
+
Linker::Segment * CodeSegment()
Return code segment (if it exists)
Definition cpm68k.cc:561
+
void Clear() override
Resets all fields to their default values, deallocate memory.
Definition cpm68k.cc:66
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition cpm68k.cc:583
+
Linker::Segment * stack_segment
Segment to collect stack (Concurrent DOS 68K only)
Definition cpm68k.h:222
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition cpm68k.cc:533
+
void Dump(Dumper::Dumper &dump) override
Display file contents in a nice manner.
Definition cpm68k.cc:435
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition cpm68k.cc:655
+
system_type
The system which will load the executable. Different systems have different relocation formats and ex...
Definition cpm68k.h:135
+
@ SYSTEM_GEMDOS
Digital Research GEMDOS, Atari TOS, only contiguous, text load address field replaced by program fiel...
Definition cpm68k.h:151
+
@ SYSTEM_UNKNOWN
Unknown system: use GEMDOS with no relocations.
Definition cpm68k.h:139
+
@ SYSTEM_CDOS68K
Digital Research Concurrent DOS 68K, non-contiguous not allowed, but relocations can be in CP/M-68K f...
Definition cpm68k.h:159
+
@ SYSTEM_GEMDOS_EARLY
Digital Research GEMDOS, only contiguous, relocations always present, header is an unusual 0x1E bytes...
Definition cpm68k.h:147
+
@ SYSTEM_HUMAN68K
Sharp Corporation & Hudson Soft Human68k .z executable, only contiguous, no relocations or symbol tab...
Definition cpm68k.h:155
+
@ SYSTEM_CPM68K
Digital Research CP/M-68K, uses CP/M-68K relocations.
Definition cpm68k.h:143
+
uint32_t code_size
Size of the code/text segment.
Definition cpm68k.h:56
+
char signature[2]
The magic number at the beginning of the executable file, one of 0x601A (contiguous),...
Definition cpm68k.h:51
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition cpm68k.cc:822
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition cpm68k.cc:85
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition cpm68k.cc:333
+
uint32_t symbol_table_size
Size of the symbol table.
Definition cpm68k.h:68
+
Linker::Writable * code
Storage for code segment.
Definition cpm68k.h:103
+
Linker::Writable * data
Storage for data segment.
Definition cpm68k.h:107
+
uint32_t data_size
Size of the initialized data segment.
Definition cpm68k.h:60
+
uint32_t data_address
Load address of the initialized data segment. Only relevant for non-contiguous executables (CP/M-68K)...
Definition cpm68k.h:90
+
A class to control the output of a file analysis.
Definition dumper.h:529
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
void WriteWord(size_t bytes, uint64_t value, EndianType endiantype)
Read a word.
Definition writer.cc:47
+
Definition script.h:61
+ +
unsigned segment
Segment value, as required by CP/M-68K, they take the value that is stored in file: 1 for data,...
Definition cpm68k.h:119
+
size_t size
Size of value to relocate.
Definition cpm68k.h:115
+
+ + + + diff --git a/html/cpm86_8h_source.html b/html/cpm86_8h_source.html new file mode 100644 index 00000000..76b982f2 --- /dev/null +++ b/html/cpm86_8h_source.html @@ -0,0 +1,589 @@ + + + + + + + +RetroLinker: src/format/cpm86.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
cpm86.h
+
+
+
1#ifndef CPM86_H
+
2#define CPM86_H
+
3
+
4#include <map>
+
5#include <set>
+
6#include <vector>
+
7#include "../common.h"
+
8#include "../linker/linker.h"
+
9#include "../linker/module.h"
+
10#include "../linker/segment.h"
+
11#include "../linker/writer.h"
+
12#include "../dumper/dumper.h"
+
13
+
14namespace DigitalResearch
+
15{
+
+ +
30 {
+
31 public:
+
32 /* * * General members * * */
+
33
+
+ +
54 {
+
55 public:
+
57 CPM86Format * module;
+
+ +
60 {
+ +
64 Code = 1,
+ + + + + + + + +
81
+
83 Fixups = Auxiliary4, /* FlexOS 286 only */
+
85 FastLoad = 0xFE, /* TODO */
+
87 Libraries = 0xFF, /* TODO */
+
88
+ + +
93 };
+
+ +
97 uint16_t size_paras;
+
99 uint16_t load_segment;
+ + +
110 uint32_t offset;
+ + +
115
+
116 virtual void Initialize();
+
117
+
118 virtual void Clear();
+
119
+
120 Descriptor()
+
121 {
+
122 Initialize();
+
123 }
+
124
+ +
126 {
+
127 Clear();
+
128 }
+
129
+
133 virtual uint16_t GetSizeParas() const;
+
134
+
135 void ReadDescriptor(Linker::Reader& rd);
+
136
+
137 void WriteDescriptor(Linker::Writer& wr);
+
138
+
139 virtual void WriteData(Linker::Writer& wr);
+
140
+
141 std::string GetDefaultName();
+
142
+
143 virtual void ReadData(Linker::Reader& rd);
+
144 };
+
+
145
+
+ +
150 {
+
152 number_t segment;
+
154 offset_t offset;
+
155
+ +
157 : segment(0), offset(0)
+
158 {
+
159 }
+
160
+
161 relocation_source(size_t segment, offset_t offset)
+ +
163 {
+
164 }
+
165
+
166 bool operator<(const relocation_source& other) const;
+
167 };
+
+
168
+
+ +
173 {
+
174 uint8_t source;
+
175 uint16_t paragraph;
+
176 uint8_t offset;
+
177 uint8_t target;
+
178
+
179 Relocation()
+
180 : source(0), paragraph(0), offset(0), target(0)
+
181 {
+
182 }
+
183
+
184 Relocation(uint8_t source, uint16_t paragraph, uint16_t offset, uint8_t target)
+
185 : source(source), paragraph(paragraph), offset(offset), target(target)
+
186 {
+
187 }
+
188
+
189 Relocation(relocation_source source, uint8_t target)
+
190 : source(source.segment), paragraph(source.offset >> 4), offset(source.offset & 0xF), target(target)
+
191 {
+
192 }
+
193
+
194 operator bool() const;
+
195
+
196 void Read(Linker::Reader& rd, CPM86Format * module, bool is_library = false);
+
197
+
198 void Write(Linker::Writer& wr);
+
199
+
200 relocation_source GetSource() const;
+
201 };
+
+
202
+
+ +
209 {
+
211 std::string name;
+ +
226 CPM86Format * module;
+
227// static constexpr CPM86Format * TERMINATE = reinterpret_cast<CPM86Format *>(0);
+
228// static constexpr CPM86Format * DYNAMIC = reinterpret_cast<CPM86Format *>(1);
+
229#define RSX_TERMINATE (reinterpret_cast<CPM86Format *>(0))
+
230#define RSX_DYNAMIC (reinterpret_cast<CPM86Format *>(1))
+
231
+
232 void Initialize();
+
233
+
234 void Clear();
+
235
+
236 void Read(Linker::Reader& rd);
+
237
+
238 void ReadModule(Linker::Reader& rd);
+
239
+
240 void Write(Linker::Writer& wr);
+
241
+
242 void WriteModule(Linker::Writer& wr);
+
243 };
+
+
244
+
+ +
252 {
+
254 std::string name;
+ + +
260 uint32_t flags;
+
261
+
262 library_id() { }
+
263
+
264 library_id(std::string name, uint16_t major_version, uint16_t minor_version, uint32_t flags = 0x11010000)
+ +
266 {
+
267 }
+
268
+
269 void Write(Linker::Writer& wr);
+
270
+
271 void Read(Linker::Reader& rd);
+
272 };
+
+
273
+
+
280 struct library : public library_id
+
281 {
+
283 std::vector<Relocation> relocations;
+ +
286
+ +
290 uint16_t unknown;
+
291
+
292 library()
+
293 : library_id()
+
294 {
+
295 }
+
296
+
297 library(std::string name, uint16_t major_version, uint16_t minor_version, uint32_t flags = 0x11010000)
+ +
299 {
+
300 }
+
301
+
302 void Write(Linker::Writer& wr);
+
303
+
304 void WriteExtended(Linker::Writer& wr);
+
305
+
306 void Read(Linker::Reader& rd);
+
307
+
308 void ReadExtended(Linker::Reader& rd);
+
309 };
+
+
310
+
+ +
313 {
+
314 public:
+
316 std::vector<library> libraries;
+
317
+
318 void Clear() override;
+
319
+
323 bool IsFastLoadFormat() const;
+
324
+
325 uint16_t GetSizeParas() const override;
+
326
+
327 void WriteData(Linker::Writer& wr) override;
+
328
+
329 void ReadData(Linker::Reader& rd) override;
+
330 };
+
+
331
+
+ +
334 {
+
335 public:
+ + +
341 uint16_t index_base;
+ +
344
+
+ +
346 {
+
348 uint16_t limit;
+
350 uint32_t address;
+
352 uint8_t group;
+
353 uint16_t reserved;
+
354
+
355 void Read(Linker::Reader& rd);
+
356
+
357 void Write(Linker::Writer& wr);
+
358 };
+
+
359
+
360 std::vector<ldt_descriptor> ldt;
+
361
+
362 void Initialize() override;
+
363
+
364 void Clear() override;
+
365
+
366 uint16_t GetSizeParas() const override;
+
367
+
368 void WriteData(Linker::Writer& wr) override;
+
369
+
370 void ReadData(Linker::Reader& rd) override;
+
371 };
+
+
372
+ + + + +
392 std::vector<Relocation> relocations;
+ + + +
408 uint8_t flags; /* TODO: make parameter */
+
412 uint32_t file_offset;
+
413
+
414 enum
+
415 {
+ + + +
423 FLAG_RSX = 0x10,
+
425 FLAG_DIRECT_VIDEO = 0x08
+
426 };
+
427
+
428 void Initialize() override;
+
429
+
430 void Clear() override;
+
431
+
+ +
434 {
+ + + + +
454 FORMAT_FLEXOS, /* TODO: the documentation claims there are multiple models, is it about the model and not the format? */
+
455 }
+
+ +
458
+ +
460 {
+
461 Initialize();
+
462 this->format = format;
+
463 }
+
464
+ +
466 {
+
467 Clear();
+
468 }
+
469
+
470 uint16_t GetRelocationSizeParas() const;
+
471
+
472 size_t CountValidGroups();
+
473
+
474 number_t FindSegmentGroup(unsigned group) const;
+
475
+
476 void CheckValidSegmentGroup(unsigned group);
+
477
+
478 bool IsFastLoadFormat() const;
+
479
+
480 void ReadRelocations(Linker::Reader& rd);
+
481
+
482 void WriteRelocations(Linker::Writer& wr);
+
483
+
484 void ReadFile(Linker::Reader& rd) override;
+
485
+
486 void WriteFile(Linker::Writer& wr) override;
+
487
+
488 offset_t GetFullFileSize() const;
+
489
+
490 void Dump(Dumper::Dumper& dump) override;
+
491
+
492 void CalculateValues() override;
+
493
+
494 /* * * Writer members * * */
+
495
+
497 bool shared_code; /* TODO: make parameter */
+ +
500
+
+ +
503 {
+
504 MODEL_DEFAULT,
+ + + +
511 /* TODO: FlexOS model */
+
512 }
+
+ +
515
+
516 bool FormatSupportsSegmentation() const override;
+
517
+
518 bool FormatIs16bit() const override;
+
519
+
520 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
+
521
+
522 std::vector<Linker::Segment *>& Segments();
+
523
+
524 unsigned GetSegmentNumber(Linker::Segment * segment);
+
525
+
526 using LinkerManager::SetLinkScript;
+
527
+
528 void SetModel(std::string model) override;
+
529
+
530 void SetOptions(std::map<std::string, std::string>& options) override;
+
531
+
532 Script::List * GetScript(Linker::Module& module);
+
533
+
534 void Link(Linker::Module& module);
+
535
+
536 void ProcessModule(Linker::Module& module) override;
+
537
+
538 void GenerateFile(std::string filename, Linker::Module& module) override;
+
539
+
540 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
541 };
+
+
542
+
543}
+
544
+
545#endif /* CPM86_H */
+
A representation of segment group within the executable.
Definition cpm86.h:54
+
uint16_t load_segment
Load segment address of the group, or 0 if it can be relocated. Not to be used outside of system driv...
Definition cpm86.h:99
+
bool attach_zero_page
Set to true if a supplementary 256 bytes of zeros are required. When generating image,...
Definition cpm86.h:114
+
group_type type
The type of the group.
Definition cpm86.h:95
+
uint16_t max_size_paras
Maximum required size of the group, when loaded into memory, in 16-byte paragraphs.
Definition cpm86.h:103
+
virtual uint16_t GetSizeParas() const
Returns the size of the segment group in 16-byte paragraphs.
Definition cpm86.cc:26
+
uint16_t min_size_paras
Minimum required size of the group, when loaded into memory, in 16-byte paragraphs.
Definition cpm86.h:101
+
uint32_t offset
Offset to image in file.
Definition cpm86.h:110
+
uint16_t size_paras
Size of the group, as stored on disk, in 16-byte paragraphs.
Definition cpm86.h:97
+
group_type
Reference back to the main module.
Definition cpm86.h:60
+
@ Code
A group containing executable instructions, the starting segment will be loaded into CS....
Definition cpm86.h:64
+
@ Auxiliary2
A group containing data.
Definition cpm86.h:74
+
@ Undefined
This group type is not the type of an actual group. Instead, it signals the end of the group descript...
Definition cpm86.h:62
+
@ Libraries
(FlexOS 286 only) The shared runtime library group descriptor is stored at offset 0x48 in the header,...
Definition cpm86.h:87
+
@ Data
A group containing data, the starting segment will be loaded into DS.
Definition cpm86.h:66
+
@ Fixups
(FlexOS 286 only) The group containing the relocations. Not required, since the offset to the relocat...
Definition cpm86.h:83
+
@ Auxiliary3
A group containing data.
Definition cpm86.h:76
+
@ Extra
A group containing data, the starting semgnet will be loaded into ES.
Definition cpm86.h:68
+
@ Stack
A group describing the stack data. Unlike the other associated segments, SS does not point to it at t...
Definition cpm86.h:70
+
@ Auxiliary4
A group containing data. The group type was later repurposed to represent the relocations in a file....
Definition cpm86.h:78
+
@ ActualFixups
(FlexOS 286 only) The group containing the relocations, used when it is clear this is a fixup group
Definition cpm86.h:92
+
@ Auxiliary1
A group containing data.
Definition cpm86.h:72
+
@ ActualAuxiliary4
A group containing data, used when it is clear this is an auxiliary group.
Definition cpm86.h:90
+
@ FastLoad
(FlexOS 286 only) The fast load group descriptor is stored at offset 0x51 in the header,...
Definition cpm86.h:85
+
@ SharedCode
A group containing executable instructions, the starting segment will be loaded into CS....
Definition cpm86.h:80
+
Linker::Writable * image
The actual binary image of the group.
Definition cpm86.h:112
+
(FlexOS 286 only) The fast loading group (unimplemented)
Definition cpm86.h:334
+
uint16_t GetSizeParas() const override
Returns the size of the segment group in 16-byte paragraphs.
Definition cpm86.cc:366
+
uint16_t index_base
The index base.
Definition cpm86.h:341
+
uint16_t first_used_index
First used index.
Definition cpm86.h:343
+
uint16_t first_free_entry
First free entry in LDT after last filled entry.
Definition cpm86.h:339
+
uint16_t maximum_entries
Maximum allowed LDT entries.
Definition cpm86.h:337
+
A special descriptor to represent the group for imported shared runtime libraries.
Definition cpm86.h:313
+
uint16_t GetSizeParas() const override
Returns the size of the segment group in 16-byte paragraphs.
Definition cpm86.cc:285
+
bool IsFastLoadFormat() const
Support the newer POSTLINK format.
Definition cpm86.cc:280
+
std::vector< library > libraries
The shared runtime libraries to be imported.
Definition cpm86.h:316
+
The native file format for 8086 based CP/M derived operating systems, including FlexOS 186/286.
Definition cpm86.h:30
+
uint32_t rsx_table_offset
The actual RSX table, stored in 128 byte units at offset 0x7B.
Definition cpm86.h:404
+
enum DigitalResearch::CPM86Format::format_type format
Format of file to generate.
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition cpm86.cc:938
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition cpm86.cc:1292
+
void Initialize() override
Sets all fields to their default values.
Definition cpm86.cc:397
+
bool option_no_relocation
Flag to indicate that relocations must be suppressed.
Definition cpm86.h:499
+
rsx_record rsx_table[8]
Represents a list of attached RSX modules.
Definition cpm86.h:400
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition cpm86.cc:533
+
@ FLAG_DIRECT_VIDEO
Set when the program uses direct video access. Such programs cannot execute in the background.
Definition cpm86.h:425
+
@ FLAG_FIXUPS
Set when relocations are present, indicates that the executable is relocatable and needs fixing up be...
Definition cpm86.h:417
+
@ FLAG_REQUIRED_8087
Set when the software only runs if an 8087 is present. The system will allocate 8087 resources.
Definition cpm86.h:421
+
@ FLAG_RSX
Set for residential system extensions (RSX files)
Definition cpm86.h:423
+
@ FLAG_OPTIONAL_8087
Set when the software expects the system to allocate 8087 resources, but it can emulate the missing 8...
Definition cpm86.h:419
+
FastLoadDescriptor fastload_descriptor
FlexOS 286 defines a fast load segment (unknown name) at offset 0x51.
Definition cpm86.h:384
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition cpm86.cc:1402
+
bool shared_code
Flag indicating that the code group is shared, not possible in 8080 format.
Definition cpm86.h:497
+
format_type
Describes the number and type of segment groups.
Definition cpm86.h:434
+
@ FORMAT_FLEXOS
Only code (possibly shared), data and a stack segment is present, with postlink or SRTL (unfinished)
Definition cpm86.h:454
+
@ FORMAT_COMPACT
Each non-executable section will have its own group, including stack and up to 4 auxiliary groups.
Definition cpm86.h:450
+
@ FORMAT_8080
Only a single non-shared code group is present.
Definition cpm86.h:442
+
@ FORMAT_UNKNOWN
Unspecified.
Definition cpm86.h:438
+
@ FORMAT_SMALL
Only code (possibly shared) and a separate data group is present.
Definition cpm86.h:446
+
memory_model_t
Represents the memory model of the running executable, which is the way in which the segments are set...
Definition cpm86.h:503
+
@ MODEL_COMPACT
DS!=SS!=ES.
Definition cpm86.h:510
+
@ MODEL_TINY
CS=DS=SS=ES, only possible in 8080 mode.
Definition cpm86.h:506
+
@ MODEL_SMALL
DS=SS=ES, only possible in 8080 or small mode.
Definition cpm86.h:508
+
std::vector< Relocation > relocations
The sequence of intramodule relocations.
Definition cpm86.h:392
+
uint32_t relocations_offset
Offset of relocation records, stored in 128 byte units at offset 0x7D.
Definition cpm86.h:396
+
bool FormatIs16bit() const override
Whether the format is 16-bit or not.
Definition cpm86.cc:974
+
uint8_t flags
Execution flags, stored at offset 0x7F.
Definition cpm86.h:408
+
void SetModel(std::string model) override
Sets the way memory is organized, typically modifying a built-in script.
Definition cpm86.cc:1017
+
library_id lib_id
FlexOS 286 library identifier (for libraries) at offset 0x60.
Definition cpm86.h:388
+
enum DigitalResearch::CPM86Format::memory_model_t memory_model
Memory model of generated code, determines how the offsets are calculated within a segment group.
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition cpm86.cc:1052
+
void Clear() override
Resets all fields to their default values, deallocate memory.
Definition cpm86.cc:424
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition cpm86.cc:1391
+
Descriptor descriptors[8]
A .cmd file may contain up to 8 descriptors that describer the segment groups.
Definition cpm86.h:376
+
bool FormatSupportsSegmentation() const override
Whether the format supports multiple segments.
Definition cpm86.cc:969
+
LibraryDescriptor library_descriptor
FlexOS 286 defines a shared runtime library group at offset 0x48.
Definition cpm86.h:380
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition cpm86.cc:620
+
uint32_t file_offset
The start of the image within the file, typically 0 except for embedded modules, usually for embedded...
Definition cpm86.h:412
+
void Dump(Dumper::Dumper &dump) override
Display file contents in a nice manner.
Definition cpm86.cc:734
+
A class to control the output of a file analysis.
Definition dumper.h:529
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition script.h:61
+ +
uint32_t address
Intel 286 descriptor base address, 24-bit.
Definition cpm86.h:350
+
uint8_t group
Group the segment belongs to.
Definition cpm86.h:352
+
uint16_t limit
Intel 286 descriptor limit.
Definition cpm86.h:348
+
Represents a single relocation.
Definition cpm86.h:173
+
(FlexOS only) A shared runtime library identifier
Definition cpm86.h:252
+
uint16_t major_version
The major version of the library.
Definition cpm86.h:256
+
std::string name
The name of the library, 8 characters long.
Definition cpm86.h:254
+
uint32_t flags
System specific flags, undocumented.
Definition cpm86.h:260
+
uint16_t minor_version
The minor version of the library.
Definition cpm86.h:258
+
(FlexOS 286 only) A shared runtime library entry in the shared runtime library group
Definition cpm86.h:281
+
uint16_t relocation_count
Relocation count.
Definition cpm86.h:285
+
uint16_t first_selector
(FASTLOAD only) First selector that references this library
Definition cpm86.h:288
+
uint16_t unknown
(FASTLOAD only) Unknown
Definition cpm86.h:290
+
std::vector< Relocation > relocations
The set of relocations.
Definition cpm86.h:283
+
Represents the location of a 16-bit words that needs to be relocated.
Definition cpm86.h:150
+
offset_t offset
The offset to the word within the segment group.
Definition cpm86.h:154
+
number_t segment
The segment group number that contains the required relocation.
Definition cpm86.h:152
+
Represents an attached RSX file (residential system extension)
Definition cpm86.h:209
+
uint16_t offset_record
The offset to the attached RSX file, in 128-byte units.
Definition cpm86.h:218
+
std::string name
The filename of the RSX file, 8-byte long.
Definition cpm86.h:211
+
+ + + + diff --git a/html/cpm8k_8h_source.html b/html/cpm8k_8h_source.html new file mode 100644 index 00000000..efc1bd4c --- /dev/null +++ b/html/cpm8k_8h_source.html @@ -0,0 +1,294 @@ + + + + + + + +RetroLinker: src/format/cpm8k.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
cpm8k.h
+
+
+
1#ifndef CPM8K_H
+
2#define CPM8K_H
+
3
+
4#include <map>
+
5#include <set>
+
6#include <string>
+
7#include "../common.h"
+
8#include "../linker/linker.h"
+
9#include "../linker/module.h"
+
10#include "../linker/segment.h"
+
11#include "../linker/writer.h"
+
12
+
13namespace DigitalResearch
+
14{
+
+ +
19 {
+
20 public:
+
21 /* * * General members * * */
+
22
+
+
26 class Segment
+
27 {
+
28 public:
+
32 uint8_t number;
+
+ +
37 {
+
38 BSS = 1,
+
39 STACK,
+
40 CODE,
+
41 RODATA,
+
42 DATA,
+
43 MIXED,
+
44 MIXED_PROTECTABLE,
+
45 } type;
+
+
49 uint16_t length;
+ +
54
+
55 void Initialize();
+
56
+
57 void Clear();
+
58
+
59 bool IsPresent() const;
+
60 };
+
+
61
+
+ +
63 {
+
67 uint8_t segment;
+ +
86 uint16_t offset;
+
90 uint16_t target;
+
91 };
+
+
92
+
+
93 struct Symbol
+
94 {
+
95 /* TODO */
+
96 };
+
+
97
+
98 enum magic_type
+
99 {
+
100 MAGIC_SEGMENTED_OBJECT = 0xEE00,
+
101 MAGIC_SEGMENTED = 0xEE01,
+
102 MAGIC_NONSHARED_OBJECT = 0xEE02,
+
103 MAGIC_NONSHARED = 0xEE03,
+
104 MAGIC_SHARED_OBJECT = 0xEE06,
+
105 MAGIC_SHARED = 0xEE07,
+
106 MAGIC_SPLIT_OBJECT = 0xEE0A,
+
107 MAGIC_SPLIT = 0xEE0B,
+
108 };
+
109
+
111 char signature[2];
+ +
115 uint32_t total_size;
+ + +
120
+
121 std::vector<Segment> segments;
+
122 std::vector<Relocation> relocations;
+
123 std::vector<Symbol> symbols;
+
124
+
125 magic_type GetSignature() const;
+
126
+
127 void SetSignature(magic_type magic);
+
128
+
129 void Initialize() override;
+
130
+
131 void Clear() override;
+
132
+ +
134 {
+
135 Initialize();
+
136 }
+
137
+
138 CPM8KFormat(magic_type magic)
+
139 {
+
140 Initialize();
+
141 SetSignature(magic);
+
142 }
+
143
+
144 void ReadFile(Linker::Reader& rd) override;
+
145
+
146 void WriteFile(Linker::Writer& wr) override;
+
147
+
148 void Dump(Dumper::Dumper& dump) override;
+
149
+
150 void CalculateValues() override;
+
151
+
152 /* * * Writer members * * */
+
153
+ +
156
+
157 bool FormatSupportsSegmentation() const override;
+
158
+
159 std::vector<Linker::Segment *>& Segments();
+
160
+
161 unsigned GetSegmentNumber(Linker::Segment * segment);
+
162
+
163 using LinkerManager::SetLinkScript;
+
164
+
165 void SetOptions(std::map<std::string, std::string>& options) override;
+
166
+
167 void OnNewSegment(Linker::Segment * segment) override;
+
168
+
169 bool IsCombined();
+
170
+
171 Script::List * GetScript(Linker::Module& module);
+
172
+
173 void Link(Linker::Module& module);
+
174
+
175 void ProcessModule(Linker::Module& module) override;
+
176
+
177 void GenerateFile(std::string filename, Linker::Module& module) override;
+
178
+
179 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
180 };
+
+
181}
+
182
+
183#endif /* CPM8K_H */
+
Represents a segment within the module.
Definition cpm8k.h:27
+
segment_type
The type of a segment.
Definition cpm8k.h:37
+
Linker::Writable * image
Storage for segment.
Definition cpm8k.h:53
+
uint8_t number
Each segment has an associated number. For 0xFF, the linker can assign a value. For segmented executa...
Definition cpm8k.h:32
+
uint16_t length
Length of segment in bytes.
Definition cpm8k.h:49
+
CP/M-8000 .z8k file format.
Definition cpm8k.h:19
+
char signature[2]
The magic number at the beginning of the executable file.
Definition cpm8k.h:111
+
bool FormatSupportsSegmentation() const override
Whether the format supports multiple segments.
Definition cpm8k.cc:167
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition cpm8k.cc:116
+
uint32_t total_size
Total number of bytes in all the segments combined.
Definition cpm8k.h:115
+
void Initialize() override
Sets all fields to their default values.
Definition cpm8k.cc:61
+
uint16_t segment_count
Number of segments in the segment_array.
Definition cpm8k.h:113
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition cpm8k.cc:458
+
uint32_t relocation_size
Total size of relocations.
Definition cpm8k.h:117
+
uint32_t symbol_table_size
Total size of symbols.
Definition cpm8k.h:119
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition cpm8k.cc:81
+
void Clear() override
Resets all fields to their default values, deallocate memory.
Definition cpm8k.cc:71
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition cpm8k.cc:447
+
void Dump(Dumper::Dumper &dump) override
Display file contents in a nice manner.
Definition cpm8k.cc:144
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition cpm8k.cc:192
+
Linker::Segment * bss_segment
Segment to collect bss.
Definition cpm8k.h:155
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition cpm8k.cc:149
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition cpm8k.cc:188
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition cpm8k.cc:400
+
A class to control the output of a file analysis.
Definition dumper.h:529
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition script.h:61
+ + +
@ SEG_OFFSET
A 16-bit offset to segment.
Definition cpm8k.h:71
+
@ SEG_LONG_SEGMENTED
A 32-bit segmented address of segment.
Definition cpm8k.h:75
+
@ SEG_SHORT_SEGMENTED
A 16-bit segmented address of segment.
Definition cpm8k.h:73
+
@ EXT_LONG_SEGMENTED
A 32-bit segmented address of external item.
Definition cpm8k.h:81
+
@ EXT_SHORT_SEGMENTED
A 16-bit segmented address of external item.
Definition cpm8k.h:79
+
@ EXT_OFFSET
A 16-bit offset to external item.
Definition cpm8k.h:77
+
uint8_t segment
The source segment of the relocation.
Definition cpm8k.h:67
+
uint16_t offset
Source offset of relocation.
Definition cpm8k.h:86
+
uint16_t target
The segment or symbol number that the relocation references.
Definition cpm8k.h:90
+ +
+ + + + diff --git a/html/dir_244674c763b96fdad0a6ffe8d0250e08.html b/html/dir_244674c763b96fdad0a6ffe8d0250e08.html new file mode 100644 index 00000000..a8211095 --- /dev/null +++ b/html/dir_244674c763b96fdad0a6ffe8d0250e08.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: unittest Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
unittest Directory Reference
+
+
+ + + + + + +

+Directories

 format
 
 linker
 
+
+ + + + diff --git a/html/dir_24c049936c2e162b277227e4c6675044.html b/html/dir_24c049936c2e162b277227e4c6675044.html new file mode 100644 index 00000000..586933fc --- /dev/null +++ b/html/dir_24c049936c2e162b277227e4c6675044.html @@ -0,0 +1,150 @@ + + + + + + + +RetroLinker: src/format Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
format Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 8bitexe.h
 
 aout.h
 
 as86obj.h
 
 binary.h
 
 bwexp.h
 
 coff.h
 
 cpm68k.h
 
 cpm86.h
 
 cpm8k.h
 
 dosexe.h
 
 elf.h
 
 geos.h
 
 gsos.h
 
 huexe.h
 
 hunk.h
 
 leexe.h
 
 macho.h
 
 macos.h
 
 minix.h
 
 mzexe.h
 
 neexe.h
 
 o65.h
 
 omf.h
 
 peexe.h
 
 pefexe.h
 
 pharlap.h
 
 pmode.h
 
 xenix.h
 
 xpexp.h
 
+
+ + + + diff --git a/html/dir_33e3a8b77e98edc0abf3724e73dcab00.html b/html/dir_33e3a8b77e98edc0abf3724e73dcab00.html new file mode 100644 index 00000000..2feb082b --- /dev/null +++ b/html/dir_33e3a8b77e98edc0abf3724e73dcab00.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: src/dumper Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dumper Directory Reference
+
+
+ + + + +

+Files

 dumper.h
 
+
+ + + + diff --git a/html/dir_41b844c4f7b9bcc409e1bbd7bd44feef.html b/html/dir_41b844c4f7b9bcc409e1bbd7bd44feef.html new file mode 100644 index 00000000..0b9a816c --- /dev/null +++ b/html/dir_41b844c4f7b9bcc409e1bbd7bd44feef.html @@ -0,0 +1,120 @@ + + + + + + + +RetroLinker: src/linker Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
linker Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 format.h
 
 linker.h
 
 location.h
 
 module.h
 
 position.h
 
 reader.h
 
 relocation.h
 
 resolution.h
 
 section.h
 
 segment.h
 
 symbol.h
 
 target.h
 
 writable.h
 
 writer.h
 
+
+ + + + diff --git a/html/dir_4ef497cb82522960ed42bfda41084510.html b/html/dir_4ef497cb82522960ed42bfda41084510.html new file mode 100644 index 00000000..a8a01dae --- /dev/null +++ b/html/dir_4ef497cb82522960ed42bfda41084510.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: unittest/format Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
format Directory Reference
+
+
+ + + + +

+Files

 mzexe.cc
 
+
+ + + + diff --git a/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 00000000..9ced768f --- /dev/null +++ b/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,105 @@ + + + + + + + +RetroLinker: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+ + + + + + + + + + +

+Directories

 dumper
 
 format
 
 linker
 
 script
 
+ + + +

+Files

 common.h
 
+
+ + + + diff --git a/html/dir_bc4706af0fd62d102425849105df0478.html b/html/dir_bc4706af0fd62d102425849105df0478.html new file mode 100644 index 00000000..44340275 --- /dev/null +++ b/html/dir_bc4706af0fd62d102425849105df0478.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: unittest/linker Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
linker Directory Reference
+
+
+ + + + + + + + + + +

+Files

 location.cc
 
 reader.cc
 
 section.cc
 
 symbol.cc
 
+
+ + + + diff --git a/html/dir_fe414d616bd0c4668e6515f48824338f.html b/html/dir_fe414d616bd0c4668e6515f48824338f.html new file mode 100644 index 00000000..e0538104 --- /dev/null +++ b/html/dir_fe414d616bd0c4668e6515f48824338f.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: src/script Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
script Directory Reference
+
+
+ + + + + + +

+Files

 parse.tab.hh
 
 script.h
 
+
+ + + + diff --git a/html/doc.svg b/html/doc.svg new file mode 100644 index 00000000..0b928a53 --- /dev/null +++ b/html/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/html/docd.svg b/html/docd.svg new file mode 100644 index 00000000..ac18b275 --- /dev/null +++ b/html/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/html/dosexe_8h_source.html b/html/dosexe_8h_source.html new file mode 100644 index 00000000..07a93c7b --- /dev/null +++ b/html/dosexe_8h_source.html @@ -0,0 +1,211 @@ + + + + + + + +RetroLinker: src/format/dosexe.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
dosexe.h
+
+
+
1#ifndef DOSEXE_H
+
2#define DOSEXE_H
+
3
+
4#include "../common.h"
+
5#include "../linker/linker.h"
+
6#include "../linker/section.h"
+
7#include "mzexe.h"
+
8
+
9namespace SeychellDOS32
+
10{
+
+
14 class AdamFormat : public virtual Linker::Format
+
15 {
+
16 public:
+
17 bool is_v35; /* based on Michael Tippach's research */
+
18
+
19 AdamFormat(bool is_v35 = false)
+
20 : is_v35(is_v35)
+
21 {
+
22 if(is_v35)
+
23 {
+
24 Linker::Error << "Fatal Error: 3.5 format unimplemented" << std::endl;
+
25 assert(false);
+
26 }
+
27 }
+
28
+
29 bool is_dll;
+
30 uint16_t minimum_dos_version;
+
31 uint16_t dlink_version;
+
32 uint32_t relocation_size;
+
33 uint32_t header_size;
+
34 uint32_t extra_memory_size;
+
35 uint32_t eip;
+
36 uint32_t esp;
+
37 std::set<uint32_t> relocations;
+
38 uint32_t flags;
+
39
+
40 Linker::Writable * image;
+
41
+
42 enum
+
43 {
+
44 FLAG_COMPRESSED = 0x0001,
+
45 FLAG_DISPLAY_LOGO = 0x0002,
+
46 };
+
47
+
48 void ReadFile(Linker::Reader& rd) override;
+
49
+
50 void WriteFile(Linker::Writer& wr) override;
+
51 };
+
+
52};
+
53
+
54namespace BrocaD3X
+
55{
+
+
59 class D3X1Format : public virtual Linker::Format
+
60 {
+
61 public:
+
62 uint32_t header_size;
+
63 uint32_t binary_size;
+
64 uint32_t extra_size;
+
65 uint32_t entry;
+
66 uint32_t stack_top;
+
67
+ +
69 : header_size(24)
+
70 {
+
71 }
+
72
+
73 void ReadFile(Linker::Reader& rd) override;
+
74
+
75 void WriteFile(Linker::Writer& wr) override;
+
76 };
+
+
77};
+
78
+
79namespace DX64
+
80{
+
+
84 class FlatFormat : public virtual Linker::Format
+
85 {
+
86 public:
+
87 void ReadFile(Linker::Reader& rd) override;
+
88
+
89 void WriteFile(Linker::Writer& wr) override;
+
90 };
+
+
91
+
+
95 class LVFormat : public virtual Linker::Format
+
96 {
+
97 public:
+
98 void ReadFile(Linker::Reader& rd) override;
+
99
+
100 void WriteFile(Linker::Writer& wr) override;
+
101 };
+
+
102}
+
103
+
104/* TODO: other formats? */
+
105
+
106#endif /* DOSEXE_H */
+
Daniel Broca's D3X executable format.
Definition dosexe.h:60
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition dosexe.cc:97
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition dosexe.cc:109
+
CandyMan's DX64 "Flat" executable format.
Definition dosexe.h:85
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition dosexe.cc:127
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition dosexe.cc:121
+
CandyMan's DX64 "LV" executable format.
Definition dosexe.h:96
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition dosexe.cc:139
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition dosexe.cc:133
+
A class to encode a general file format.
Definition format.h:24
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Adam Seychell's DOS32 "Adam" executable format.
Definition dosexe.h:15
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition dosexe.cc:4
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition dosexe.cc:49
+
+ + + + diff --git a/html/doxygen.css b/html/doxygen.css new file mode 100644 index 00000000..7b7d851b --- /dev/null +++ b/html/doxygen.css @@ -0,0 +1,2225 @@ +/* The standard CSS for doxygen 1.10.0*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; +--fold-line-color: #808080; +--fold-minus-image: url('minus.svg'); +--fold-plus-image: url('plus.svg'); +--fold-minus-image-relpath: url('../../minus.svg'); +--fold-plus-image-relpath: url('../../plus.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: #090D16; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; +--fold-minus-image: url('minusd.svg'); +--fold-plus-image: url('plusd.svg'); +--fold-minus-image-relpath: url('../../minusd.svg'); +--fold-plus-image-relpath: url('../../plusd.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); +} + +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; +} + +/* @group Heading Levels */ + +.title { + font-family: var(--font-family-normal); + line-height: 28px; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h1.groupheader { + font-size: 150%; +} + +h2.groupheader { + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--glow-color); +} + +dt { + font-weight: bold; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: var(--nav-gradient-active-image); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); +} + +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: var(--page-link-color); + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: var(--page-visited-link-color); +} + +a:hover { + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); +} + +a:hover > span.arrow { + text-decoration: none; + background : var(--nav-background-color); +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: var(--code-link-color); +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); +} + +pre.fragment { + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: auto; + fill: var(--fragment-foreground-color); + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .28; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); +} + +.clipboard.success { + border-color: var(--fragment-copy-ok-color); +} + +div.line { + font-family: var(--font-family-monospace); + font-size: 13px; + min-height: 13px; + line-height: 1.2; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); +} + +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); + white-space: pre; +} +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); +} + +span.lineno a:hover { + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + color: var(--page-foreground-color); + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +p.formulaDsp { + text-align: center; +} + +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: var(--code-keyword-color); +} + +span.keywordtype { + color: var(--code-type-keyword-color); +} + +span.keywordflow { + color: var(--code-flow-keyword-color); +} + +span.comment { + color: var(--code-comment-color); +} + +span.preprocessor { + color: var(--code-preprocessor-color); +} + +span.stringliteral { + color: var(--code-string-literal-color); +} + +span.charliteral { + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); +} + +span.vhdldigit { + color: var(--code-vhdl-digit-color); +} + +span.vhdlchar { + color: var(--code-vhdl-char-color); +} + +span.vhdlkeyword { + color: var(--code-vhdl-keyword-color); +} + +span.vhdllogic { + color: var(--code-vhdl-logic-color); +} + +blockquote { + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid var(--table-cell-border-color); +} + +th.dirtab { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid var(--separator-color); +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: var(--memdecl-background-color); + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: var(--memdecl-foreground-color); +} + +.memSeparator { + border-bottom: 1px solid var(--memdecl-separator-color); + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: var(--memdecl-template-color); + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: var(--memdef-title-gradient-image); + background-repeat: repeat-x; + background-color: var(--memdef-title-background-color); + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: var(--memdef-template-color); + font-weight: normal; + margin-left: 9px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px var(--glow-color); +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; +} + +.overload { + font-family: var(--font-family-monospace); + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: var(--memdef-doc-background-color); + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; +} + +.paramname { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; +} + +.paramname em { + color: var(--memdef-param-name-color); + font-style: normal; + margin-right: 1px; +} + +.paramname .paramdefval { + font-family: var(--font-family-monospace); +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: var(--font-family-monospace); + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); + text-shadow: none; + color: var(--label-foreground-color); + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + +.directory tr.even { + padding-left: 6px; + background-color: var(--index-even-item-bg-color); +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: var(--page-link-color); +} + +.arrow { + color: var(--nav-arrow-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-open-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-closed-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-doc-image); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: var(--footer-foreground-color); +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid var(--memdef-border-color); +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image: var(--memdef-title-gradient-image); + background-repeat:repeat-x; + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: var(--nav-gradient-image); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image: var(--nav-gradient-image); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:var(--nav-breadcrumb-image); + background-repeat:no-repeat; + background-position:right; + color: var(--nav-foreground-color); +} + +.navpath li.navelem a +{ + height:32px; + display:block; + outline: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color: var(--footer-foreground-color); + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image: var(--header-gradient-image); + background-repeat:repeat-x; + background-color: var(--header-background-color); + margin: 0px; + border-bottom: 1px solid var(--header-separator-color); +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* + +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +*/ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-hl); +} + +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-hl); +} + +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); +} + +dl.todo dt { + color: var(--todo-color-hl); +} + +dl.test { + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.bug { + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font-size: 200%; + font-family: var(--font-family-title); + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font-size: 90%; + font-family: var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font-size: 50%; + font-family: 50% var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 15px; +} + +div.toc li.level4 { + margin-left: 15px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.inherit_header { + font-weight: bold; + color: var(--inherit-header-color); + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); + border-radius: 4px 4px 4px 4px; + box-shadow: var(--tooltip-shadow); + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: var(--tooltip-doc-color); + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip a { + color: var(--tooltip-link-color); +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: var(--tooltip-declaration-color); +} + +#powerTip div { + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +tt, code, kbd, samp +{ + display: inline-block; +} +/* @end */ + +u { + text-decoration: underline; +} + +details>summary { + list-style-type: none; +} + +details > summary::-webkit-details-marker { + display: none; +} + +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; +} + +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} + diff --git a/html/doxygen.svg b/html/doxygen.svg new file mode 100644 index 00000000..79a76354 --- /dev/null +++ b/html/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/html/doxygen_crawl.html b/html/doxygen_crawl.html new file mode 100644 index 00000000..6c76b9fb --- /dev/null +++ b/html/doxygen_crawl.html @@ -0,0 +1,571 @@ + + + +Validator / crawler helper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/html/dumper_8h_source.html b/html/dumper_8h_source.html new file mode 100644 index 00000000..d364bf10 --- /dev/null +++ b/html/dumper_8h_source.html @@ -0,0 +1,743 @@ + + + + + + + +RetroLinker: src/dumper/dumper.h Source File + + + + + + + + + + + + +
+
dumper.h
+
+
+
1#ifndef DUMPER_H
+
2#define DUMPER_H
+
3
+
4#include <iostream>
+
5#include <iomanip>
+
6#include <set>
+
7#include <vector>
+
8#include "../common.h"
+
9#include "../linker/writable.h"
+
10
+
11namespace Dumper
+
12{
+
13
+
14class Dumper;
+
15
+
19template <typename ... Ts>
+
+
20 class Display
+
21{
+
22public:
+
23 virtual ~Display() { }
+
24
+
+
26 virtual bool IsMissing(std::tuple<Ts...>& values)
+
27 {
+
28 //return is_missing(values);
+
29 return values == std::tuple<Ts...>();
+
30 }
+
+
31
+
33 virtual void DisplayValue(Dumper& dump, std::tuple<Ts...> values) = 0;
+
34};
+
+
35
+
+
39class ChoiceDisplay : public Display<offset_t>
+
40{
+
41public:
+
45 std::map<offset_t, std::string> names;
+
49 std::string default_name;
+
50
+ +
58 offset_t missing_value;
+
59
+
60 ChoiceDisplay(std::map<offset_t, std::string> names, std::string default_name = "unknown")
+ +
62 {
+
63 }
+
64
+
65 ChoiceDisplay(std::map<offset_t, std::string> names, offset_t missing_value, std::string default_name = "unknown")
+ +
67 {
+
68 }
+
69
+
+
73 ChoiceDisplay(std::string on_true, std::string on_false)
+ +
75 {
+
76 /* TODO: alternative?
+
77 default_name = on_true;
+
78 names[0] = on_false;
+
79 */
+
80 names[0] = on_false;
+
81 names[1] = on_true;
+
82 }
+
+
83
+
+
87 ChoiceDisplay(std::string on_true)
+
88 : default_name("unknown"), missing_on_value(false), missing_value(0)
+
89 {
+
90 /* TODO: alternative?
+
91 default_name = on_true;
+
92 missing_on_value = true;
+
93 missing_value = 0;
+
94 */
+
95 names[1] = on_true;
+
96 }
+
+
97
+
98 bool IsMissing(std::tuple<offset_t>& values) override;
+
99 void DisplayValue(Dumper& dump, std::tuple<offset_t> values) override;
+
100};
+
+
101
+
+
105class HexDisplay : public Display<offset_t>
+
106{
+
107public:
+
108 unsigned width;
+
109 HexDisplay(unsigned width = 8)
+
110 : width(width)
+
111 {
+
112 }
+
113
+
114 void DisplayValue(Dumper& dump, std::tuple<offset_t> values) override;
+
115};
+
+
116
+
+
120class DecDisplay : public Display<offset_t>
+
121{
+
122public:
+
123 std::string suffix;
+
124 DecDisplay(std::string suffix = "")
+
125 : suffix(suffix)
+
126 {
+
127 }
+
128
+
129 void DisplayValue(Dumper& dump, std::tuple<offset_t> values) override;
+
130};
+
+
131
+
+
135class SegmentedDisplay : public Display<offset_t, offset_t>
+
136{
+
137public:
+
138 unsigned width;
+
139 SegmentedDisplay(unsigned width = 4)
+
140 : width(width)
+
141 {
+
142 }
+
143
+
144 void DisplayValue(Dumper& dump, std::tuple<offset_t, offset_t> values) override;
+
145};
+
+
146
+
+
150class VersionDisplay : public Display<offset_t, offset_t>
+
151{
+
152public:
+
153 std::string separator;
+
154 VersionDisplay(std::string separator = ".")
+
155 : separator(separator)
+
156 {
+
157 }
+
158
+
159 void DisplayValue(Dumper& dump, std::tuple<offset_t, offset_t> values) override;
+
160};
+
+
161
+
165template <typename ... Ts>
+
+
166 class SectionedDisplay : public Display<offset_t, Ts...>
+
167{
+
168public:
+
169 std::string suffix;
+
170 Display<Ts...> * offset_display;
+
171
+
172 SectionedDisplay(Display<Ts...> * offset_display)
+
173 : suffix(""), offset_display(offset_display)
+
174 {
+
175 }
+
176
+
177 SectionedDisplay(std::string suffix, Display<Ts...> * offset_display)
+
178 : suffix(suffix), offset_display(offset_display)
+
179 {
+
180 }
+
181
+ +
183 {
+
184 delete offset_display;
+
185 }
+
186
+
187 void DisplayValue(Dumper& dump, std::tuple<offset_t, Ts...> values) override;
+
188};
+
+
189
+
+ +
194{
+
195public:
+
+ +
197 {
+
198 public:
+
199 unsigned offset, length;
+
200 Display<offset_t> * display;
+
201 bool optional_field;
+
202 BitField(unsigned offset, unsigned length, Display<offset_t> * display, bool optional_field)
+
203 : offset(offset), length(length), display(display), optional_field(optional_field)
+
204 {
+
205 }
+
206
+
207 ~BitField()
+
208 {
+
209 delete display;
+
210 }
+
211
+
212 bool ShouldDisplay(std::tuple<offset_t>& values)
+
213 {
+
214 return !optional_field || !display->IsMissing(values);
+
215 }
+
216 };
+
+
217
+
218 std::map<unsigned, BitField *> bitfields;
+
219
+
220 BitFieldDisplay(unsigned width = 8)
+
221 : HexDisplay(width)
+
222 {
+
223 }
+
224
+
225 static BitFieldDisplay& Make(unsigned width = 8)
+
226 {
+
227 return *new BitFieldDisplay(width);
+
228 }
+
229
+
230 ~BitFieldDisplay();
+
231
+
232 BitFieldDisplay& AddBitField(unsigned offset, unsigned length, Display<offset_t> * display, bool optional_field)
+
233 {
+
234 bitfields[offset] = new BitField(offset, length, display, optional_field);
+
235 return *this;
+
236 }
+
237
+
238 void DisplayValue(Dumper& dump, std::tuple<offset_t> values) override;
+
239};
+
+
240
+
+
244class StringDisplay : public Display<std::string>
+
245{
+
246public:
+
250 offset_t width;
+
251 std::string open_quote, close_quote;
+
252
+
253 StringDisplay(size_t width, std::string open_quote, std::string close_quote)
+
254 : width(width), open_quote(open_quote), close_quote(close_quote)
+
255 {
+
256 }
+
257
+
258 StringDisplay(size_t width, std::string quote = "")
+
259 : width(width), open_quote(quote), close_quote(quote)
+
260 {
+
261 }
+
262
+
263 StringDisplay(std::string quote = "")
+
264 : width(-1), open_quote(quote), close_quote(quote)
+
265 {
+
266 }
+
267
+
268 bool IsMissing(std::tuple<std::string>& values) override;
+
269 void DisplayValue(Dumper& dump, std::tuple<std::string> values) override;
+
270
+
271 using Display<std::string>::IsMissing;
+
272 bool IsMissing(std::tuple<offset_t>& values);
+
273 using Display<std::string>::DisplayValue;
+
274 void DisplayValue(Dumper& dump, std::tuple<offset_t> values);
+
275};
+
+
276
+
+
280class Field
+
281{
+
282public:
+
284 std::string label;
+ + +
289
+
290 Field(std::string label, bool optional_field = false, bool internal = false)
+ +
292 {
+
293 }
+
294
+
295 virtual ~Field();
+
296
+
297 virtual bool ShouldDisplay() = 0;
+
298 virtual void DisplayValue(Dumper& dump) = 0;
+
299};
+
+
300
+
304template <typename ... Ts>
+
+
305 class FieldOf : public Field
+
306{
+
307public:
+
309 Display<Ts...> * display;
+
310 std::tuple<Ts...> values;
+
311
+
312 FieldOf(std::string label, Display<Ts...> * display, Ts... values, bool optional_field = false, bool internal = false)
+
313 : Field(label, optional_field, internal), display{display}, values{values...}
+
314 {
+
315 }
+
316
+
317 ~FieldOf()
+
318 {
+
319 if(display)
+
320 delete display;
+
321 }
+
322
+
323 bool ShouldDisplay() override
+
324 {
+
325 return !internal && (!optional_field || !display->IsMissing(values));
+
326 }
+
327
+
328 void DisplayValue(Dumper& dump) override
+
329 {
+
330 display->DisplayValue(dump, values);
+
331 }
+
332};
+
+
333
+
+ +
338{
+
339public:
+
340 std::string name;
+
341
+
342 std::map<std::string, Field *> field_names;
+
343 std::vector<Field *> fields;
+
344
+
345 Container(std::string name = "")
+
346 : name(name)
+
347 {
+
348 }
+
349
+
350 virtual ~Container();
+
351
+
352 Field * FindField(std::string name)
+
353 {
+
354 auto it = field_names.find(name);
+
355 if(it == field_names.end())
+
356 return nullptr;
+
357 return it->second;
+
358 }
+
359
+
360 template <typename T>
+
361 T GetField(std::string name, offset_t default_value = T())
+
362 {
+
363 auto it = field_names.find(name);
+
364 if(it == field_names.end())
+
365 return default_value;
+
366 if(FieldOf<T> * field = dynamic_cast<FieldOf<T> *>(it->second))
+
367 {
+
368 return std::get<0>(field->values);
+
369 }
+
370 return default_value;
+
371 }
+
372
+
373#if 0
+
374 offset_t GetField(std::string name, int index, offset_t default_value)
+
375 {
+
376 auto it = field_names.find(name);
+
377 if(it == field_names.end())
+
378 return default_value;
+
379 return it->second->values[index];
+
380 }
+
381#endif
+
382
+
383 void AddField(Field * field)
+
384 {
+
385 fields.push_back(field);
+
386 field_names[field->label] = field;
+
387 }
+
388
+
389 void AddField(size_t index, Field * field)
+
390 {
+
391 fields.insert(fields.begin() + index, field);
+
392 field_names[field->label] = field;
+
393 }
+
394
+
395 template <typename D, typename ... Ts>
+
396// void AddField(std::string label, Display<Ts...> * display, Ts... values)
+
397 void AddField(std::string label, D * display, Ts... values)
+
398 {
+
399// AddField(new typename display_arguments<D>::Field(label, display, values..., false, false));
+
400 AddField(new FieldOf<Ts...>(label, display, values..., false, false));
+
401 }
+
402
+
403 template <typename D, typename ... Ts>
+
404// void AddOptionalField(std::string label, Display<Ts...> * display, Ts... values)
+
405 void AddOptionalField(std::string label, D * display, Ts... values)
+
406 {
+
407 AddField(new FieldOf<Ts...>(label, display, values..., true, false));
+
408 }
+
409
+
410 template <typename D, typename ... Ts>
+
411// void AddHiddenField(std::string label, Display<Ts...> * display, Ts... values)
+
412 void AddHiddenField(std::string label, D * display, Ts... values)
+
413 {
+
414 AddField(new FieldOf<Ts...>(label, display, values..., false, true));
+
415 }
+
416
+
417 template <typename D, typename ... Ts>
+
418// void AddField(std::string label, Display<Ts...> * display, Ts... values)
+
419 void InsertField(size_t index, std::string label, D * display, Ts... values)
+
420 {
+
421 AddField(index, new FieldOf<Ts...>(label, display, values..., false, false));
+
422 }
+
423
+
424 template <typename D, typename ... Ts>
+
425// void AddOptionalField(std::string label, Display<Ts...> * display, Ts... values)
+
426 void InsertOptionalField(size_t index, std::string label, D * display, Ts... values)
+
427 {
+
428 AddField(index, new FieldOf<Ts...>(label, display, values..., true, false));
+
429 }
+
430
+
431 template <typename D, typename ... Ts>
+
432// void AddHiddenField(std::string label, Display<Ts...> * display, Ts... values)
+
433 void InsertHiddenField(size_t index, std::string label, D * display, Ts... values)
+
434 {
+
435 AddField(index, new FieldOf<Ts...>(label, display, values..., false, true));
+
436 }
+
437
+
438 virtual void Display(Dumper& dump);
+
439};
+
+
440
+
+
444class Region : public Container
+
445{
+
446public:
+
447 Region(std::string name, offset_t offset, offset_t length, unsigned display_width)
+
448 : Container(name)
+
449 {
+
450 AddField("Offset", new HexDisplay(display_width), offset);
+
451 AddField("Length", new HexDisplay(display_width), length);
+
452 }
+
453
+
454// void Display(Dumper& dump);
+
455};
+
+
456
+
+
460class Entry : public Container
+
461{
+
462public:
+
463 offset_t number;
+
464 offset_t offset;
+
465 unsigned display_width;
+
466
+
467 Entry(std::string name, offset_t number, offset_t offset = offset_t(-1), unsigned display_width = 8)
+
468 : Container(name), number(number), offset(offset), display_width(display_width)
+
469 {
+
470 }
+
471
+
472 void Display(Dumper& dump) override;
+
473};
+
+
474
+
+
478class Block : public Region
+
479{
+
480public:
+ + + +
487
+
488 static char32_t encoding_default[256];
+
489 static char32_t encoding_cp437[256];
+
490 static char32_t encoding_st[256];
+
491
+
492 Linker::Writable * image;
+
493
+
494 std::set<offset_t> signal_starts;
+
495 std::set<offset_t> signal_ends;
+
496
+
+
503 void AddSignal(offset_t off, offset_t len)
+
504 {
+
505 offset_t end = off + len - 1;
+
506 signal_starts.insert(off);
+
507 signal_ends.insert(end);
+
508 }
+
+
509
+
510 Block(std::string name, offset_t offset, Linker::Writable * image, offset_t address, unsigned display_width,
+
511 unsigned offset_display_width = 8, unsigned address_display_width = -1, unsigned position_display_width = -1)
+
512 : Region(name, offset, image ? image->ActualDataSize() : 0, display_width),
+ + + + +
517 image(image)
+
518 {
+
519 AddField("Address", new HexDisplay(display_width), address);
+
520 }
+
521
+
522 void Display(Dumper& dump) override;
+
523};
+
+
524
+
+ +
529{
+
530public:
+
531 std::ostream& out;
+
532 bool use_ansi;
+
533
+
534 char32_t (* encoding)[256];
+
535
+
536 Dumper(std::ostream& out)
+
537 : out(out), use_ansi(true), encoding(nullptr)
+
538 {
+
539 }
+
540
+
541 void SetEncoding(char32_t (& encoding)[256], bool force = false)
+
542 {
+
543 if(this->encoding == nullptr || force)
+
544 {
+
545 this->encoding = &encoding;
+
546 }
+
547 }
+
548
+
549 void SetTitle(std::string title)
+
550 {
+
551 out << "=== " << title << " ===" << std::endl;
+
552 }
+
553
+
554// std::vector<Field> fields;
+
555
+
+
559 void PrintHex(offset_t value, unsigned width, std::string prefix = "0x")
+
560 {
+
561 out << prefix << std::hex << std::setw(width) << std::setfill('0') << value;
+
562 }
+
+
563
+
564#if 0
+
568 void PrintHex(offset_t value, unsigned width, bool prefixed)
+
569 {
+
570 PrintHex(value, width, prefixed ? "0x" : "");
+
571 }
+
572#endif
+
573
+
+
577 void PrintDec(offset_t value, std::string prefix = "#")
+
578 {
+
579 out << prefix << std::dec << value;
+
580 }
+
+
581
+
582#if 0
+
586 void PrintDec(offset_t value, bool prefixed)
+
587 {
+
588 PrintDec(value, prefixed ? "#" : "");
+
589 }
+
590#endif
+
591
+
+
595 void PutChar(char32_t c)
+
596 {
+
597 /* TODO: this should be customizable */
+
598 if(c < 0x80)
+
599 {
+
600 out.put(c);
+
601 }
+
602 else if(c < 0x800)
+
603 {
+
604 out.put((c >> 6) | 0xC0);
+
605 out.put((c & 0x3F) | 0x80);
+
606 }
+
607 else if(c < 0x10000)
+
608 {
+
609 out.put((c >> 12) | 0xE0);
+
610 out.put(((c >> 6) & 0x3F) | 0x80);
+
611 out.put((c & 0x3F) | 0x80);
+
612 }
+
613 else
+
614 {
+
615 out.put(((c >> 18) & 0x07) | 0xF0);
+
616 out.put(((c >> 12) & 0x3F) | 0x80);
+
617 out.put(((c >> 6) & 0x3F) | 0x80);
+
618 out.put((c & 0x3F) | 0x80);
+
619 }
+
620 }
+
+
621
+
+ +
626 {
+
627 if(use_ansi)
+
628 out << "\33[4m";
+
629 }
+
+
630
+
+ +
635 {
+
636 if(use_ansi)
+
637 out << "\33[m";
+
638 }
+
+
639};
+
+
640
+
641template <unsigned I, size_t ... Is, typename ... Ts>
+
642 inline auto rest_(std::tuple<Ts...> elements, std::index_sequence<Is...> s)
+
643{
+
644 return std::make_tuple(std::get<I + Is>(elements)...);
+
645}
+
646
+
647template <unsigned I, typename ... Ts>
+
648 inline auto rest(std::tuple<Ts...> elements)
+
649{
+
650 return rest_<I>(elements, std::make_index_sequence<sizeof...(Ts) - I>());
+
651}
+
652
+
653template <typename ... Ts>
+
654 void SectionedDisplay<Ts...>::DisplayValue(Dumper& dump, std::tuple<offset_t, Ts...> values)
+
655{
+
656 dump.PrintDec(std::get<0>(values), "");
+
657 dump.out << suffix << ':';
+
658 offset_display->DisplayValue(dump, rest<1>(values));
+
659}
+
660
+
661}
+
662
+
663#endif /* DUMPER_H */
+
Definition dumper.h:197
+
A value that is separated into bitfields, typically bit flags.
Definition dumper.h:194
+
A region within a file that can be dumped, decompiled, and it may contain fixups.
Definition dumper.h:479
+
unsigned offset_display_width
Displaying in-file offsets.
Definition dumper.h:482
+
void AddSignal(offset_t off, offset_t len)
Add a relocation inside the image block.
Definition dumper.h:503
+
unsigned position_display_width
Displaying in-segment positions.
Definition dumper.h:484
+
unsigned address_display_width
Displaying in-memory addresses.
Definition dumper.h:486
+
Represents an enumerated value, with named options.
Definition dumper.h:40
+
std::map< offset_t, std::string > names
Maps values to names.
Definition dumper.h:45
+
bool missing_on_value
If false, any value not listed in names is missing, otherwise only missing_value is missing.
Definition dumper.h:54
+
ChoiceDisplay(std::string on_true)
Creates a boolean choice that is either present with name or not present at all.
Definition dumper.h:87
+
std::string default_name
Name for values not contained in names.
Definition dumper.h:49
+
offset_t missing_value
The single missing value, only used for missing_on_value true.
Definition dumper.h:58
+
ChoiceDisplay(std::string on_true, std::string on_false)
Creates a boolean choice.
Definition dumper.h:73
+
A record whose values should be displayed together, as a collection.
Definition dumper.h:338
+
Represents a field with a decimal display, usually indices into an array or similar,...
Definition dumper.h:121
+
This class represents an entry that can be displayed in a file dump.
Definition dumper.h:21
+
virtual bool IsMissing(std::tuple< Ts... > &values)
Returns true if the specified value is such that it should not be displayed.
Definition dumper.h:26
+
virtual void DisplayValue(Dumper &dump, std::tuple< Ts... > values)=0
Prints the value through the Dumper, different types of fields can be displayed in different ways.
+
A class to control the output of a file analysis.
Definition dumper.h:529
+
void PrintHex(offset_t value, unsigned width, std::string prefix="0x")
Displays a hexadecimal value (default prefix is "0x")
Definition dumper.h:559
+
void EndUnderline()
ANSI escape sequence to remove all formatting.
Definition dumper.h:634
+
void PrintDec(offset_t value, std::string prefix="#")
Displays a decimal value (default prefix is "#")
Definition dumper.h:577
+
void BeginUnderline()
ANSI escape sequence to add underline.
Definition dumper.h:625
+
void PutChar(char32_t c)
Displays a Unicode character as a UTF-8 byte sequence.
Definition dumper.h:595
+
A brief record, such as a relocation or imported library.
Definition dumper.h:461
+
A typed representation of a named value within a structure.
Definition dumper.h:306
+
Display< Ts... > * display
The method to show it in.
Definition dumper.h:309
+
A representation of a named value within a structure.
Definition dumper.h:281
+
std::string label
The name to be displayed.
Definition dumper.h:284
+
bool internal
The field should not be displayed, it is for internal use (alternatively, it can be displayed through...
Definition dumper.h:288
+
bool optional_field
If the field is optional, it will not be displayed for certain values.
Definition dumper.h:286
+
Represents a field with a hexadecimal display, typically bitfields, addresses, sizes,...
Definition dumper.h:106
+
A record that represents a region within the file.
Definition dumper.h:445
+
A display with a prefix for a section.
Definition dumper.h:167
+
A value displayed as a colon-separated pair, typically 8086 segmented addresses.
Definition dumper.h:136
+
A display for a fixed or variable length string field.
Definition dumper.h:245
+
offset_t width
The width of the string field, exactly this many characters will be shown, unless it is offset_t(-1),...
Definition dumper.h:250
+
A value displayed as a separated pair, such as a version number.
Definition dumper.h:151
+
Represents an abstract interface whose data can be written to a file.
Definition writable.h:15
+
+ + + + diff --git a/html/dynsections.js b/html/dynsections.js new file mode 100644 index 00000000..8f493264 --- /dev/null +++ b/html/dynsections.js @@ -0,0 +1,194 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ + +let dynsection = { + + // helper function + updateStripes : function() { + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); + }, + + toggleVisibility : function(linkObj) { + const base = $(linkObj).attr('id'); + const summary = $('#'+base+'-summary'); + const content = $('#'+base+'-content'); + const trigger = $('#'+base+'-trigger'); + const src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; + }, + + toggleLevel : function(level) { + $('table.directory tr').each(function() { + const l = this.id.split('_').length-1; + const i = $('#img'+this.id.substring(3)); + const a = $('#arr'+this.id.substring(3)); + if (l'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; +/* @license-end */ diff --git a/html/elf_8h_source.html b/html/elf_8h_source.html new file mode 100644 index 00000000..20dfb458 --- /dev/null +++ b/html/elf_8h_source.html @@ -0,0 +1,301 @@ + + + + + + + +RetroLinker: src/format/elf.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
elf.h
+
+
+
1#ifndef ELF_H
+
2#define ELF_H
+
3
+
4#include <sstream>
+
5#include <vector>
+
6#include "../common.h"
+
7#include "../linker/format.h"
+
8#include "../linker/linker.h"
+
9#include "../linker/module.h"
+
10#include "../linker/reader.h"
+
11
+
12namespace ELF
+
13{
+
+
19 class ELFFormat : public virtual Linker::InputFormat, public virtual Linker::OutputFormat, public Linker::LinkerManager
+
20 {
+
21 public:
+
22 void WriteFile(Linker::Writer& wr) override;
+
23
+
24 Linker::OutputFormat * output_format;
+
25 void SetupOptions(char special_char, Linker::OutputFormat * format) override;
+
26
+
27 void ProduceModule(Linker::Module& module, Linker::Reader& rd) override;
+
28
+
29 EndianType endiantype;
+
30 Linker::Module * module;
+
31
+
32 ELFFormat()
+
33 : endiantype(::LittleEndian), module(nullptr), special_prefix_char('$'),
+
34 option_segmentation(false), option_16bit(true), option_stack_section(false), option_heap_section(false), option_resources(false), option_libraries(false)
+
35 {
+
36 }
+
37
+ +
39 : endiantype(::LittleEndian), module(&module), special_prefix_char('$'),
+
40 option_segmentation(false), option_16bit(true), option_stack_section(false), option_heap_section(false), option_resources(false), option_libraries(false)
+
41 {
+
42 }
+
43
+
44 char special_prefix_char;
+
45 /* GNU assembler can use '$', NASM must use '?' */
+
46 bool option_segmentation;
+
47 bool option_16bit;
+
48 bool option_linear;
+
49 bool option_stack_section;
+
50 bool option_heap_section;
+
51 bool option_resources;
+
52 bool option_libraries;
+
53 size_t wordbytes;
+
54 enum cpu_type
+
55 {
+
56 I386,
+
57 M68K,
+
58 ARM, /* TODO */
+
59 } cpu;
+
60
+
+
61 class Symbol
+
62 {
+
63 public:
+
64 uint32_t name_offset;
+
65 std::string name;
+
66 offset_t value, size;
+
67 uint8_t bind, type, other;
+
68 uint16_t shndx;
+
69 uint16_t sh_link;
+
70 bool defined;
+
71 bool unallocated;
+
72 Linker::Location location;
+
73 Linker::CommonSymbol specification;
+
74 };
+
+
75
+
+
76 class Section
+
77 {
+
78 public:
+
79 uint32_t name_offset;
+
80 std::string name;
+
81 uint32_t type, link, info;
+
82 offset_t flags;
+
83 offset_t address, file_offset, size, align, entsize;
+
84 Linker::Section * section;
+
85 std::vector<Symbol> symbols;
+
86 };
+
+
87 std::vector<Section> sections;
+
88
+
+ +
90 {
+
91 public:
+
92 offset_t offset;
+
93 uint32_t type;
+
94 uint32_t symbol;
+
95 int64_t addend;
+
96 uint16_t sh_link, sh_info;
+
97 bool addend_from_section_data;
+
98 };
+
+
99 std::vector<Relocation> relocations;
+
100
+
101 private:
+
102 /* symbols */
+
103 std::string segment_prefix();
+
104 std::string segment_of_prefix();
+
105 std::string segment_at_prefix();
+
106 std::string with_respect_to_segment_prefix();
+
107 std::string segment_difference_prefix();
+
108 std::string import_prefix();
+
109 std::string segment_of_import_prefix();
+
110 std::string export_prefix();
+
111
+
112 /* sections */
+
113 std::string resource_prefix();
+
114
+
115 public:
+
116 static const uint8_t ELFCLASS32 = 1;
+
117 static const uint8_t ELFCLASS64 = 2;
+
118 static const uint8_t ELFDATA2LSB = 1;
+
119 static const uint8_t ELFDATA2MSB = 2;
+
120
+
121 static const uint16_t EM_386 = 3;
+
122 static const uint16_t EM_68K = 4;
+
123 static const uint16_t EM_ARM = 40;
+
124
+
125 static const uint32_t SHT_PROGBITS = 1;
+
126 static const uint32_t SHT_SYMTAB = 2;
+
127 static const uint32_t SHT_STRTAB = 3;
+
128 static const uint32_t SHT_RELA = 4;
+
129 static const uint32_t SHT_NOBITS = 8;
+
130 static const uint32_t SHT_REL = 9;
+
131 static const uint32_t SHT_GROUP = 10;
+
132
+
133 static const offset_t SHF_WRITE = 0x0001;
+
134 static const offset_t SHF_ALLOC = 0x0002;
+
135 static const offset_t SHF_EXECINSTR = 0x0004;
+
136 static const offset_t SHF_MERGE = 0x0010;
+
137 static const offset_t SHF_GROUP = 0x0200;
+
138
+
139 static const uint16_t SHN_UNDEF = 0;
+
140 static const uint16_t SHN_ABS = 0xFFF1;
+
141 static const uint16_t SHN_COMMON = 0xFFF2;
+
142 static const uint16_t SHN_XINDEX = 0xFFFF;
+
143
+
144 static const uint8_t STB_LOCAL = 0;
+
145 static const uint8_t STB_GLOBAL = 1;
+
146
+
147 static const offset_t R_386_8 = 22;
+
148 static const offset_t R_386_PC8 = 23;
+
149 static const offset_t R_386_16 = 20;
+
150 static const offset_t R_386_PC16 = 21;
+
151 static const offset_t R_386_32 = 1;
+
152 static const offset_t R_386_PC32 = 2;
+
153 /* extensions, see https://github.com/tkchia/build-ia16/blob/master/elf16-writeup.md (TODO: unsupported for now) */
+
154 static const offset_t R_386_SEG16 = 45;
+
155 static const offset_t R_386_SUB16 = 46;
+
156 static const offset_t R_386_SUB32 = 47;
+
157 static const offset_t R_386_SEGRELATIVE = 48;
+
158 static const offset_t R_386_OZSEG16 = 80;
+
159 static const offset_t R_386_OZRELSEG16 = 81;
+
160
+
161 static const offset_t R_68K_8 = 3;
+
162 static const offset_t R_68K_PC8 = 6;
+
163 static const offset_t R_68K_16 = 2;
+
164 static const offset_t R_68K_PC16 = 5;
+
165 static const offset_t R_68K_32 = 1;
+
166 static const offset_t R_68K_PC32 = 4;
+
167
+
168 static const offset_t R_ARM_ABS8 = 8;
+
169 static const offset_t R_ARM_ABS16 = 16;
+
170 static const offset_t R_ARM_ABS32 = 2;
+
171 static const offset_t R_ARM_REL32 = 3;
+
172 static const offset_t R_ARM_CALL = 28;
+
173 static const offset_t R_ARM_JUMP24 = 29;
+
174 static const offset_t R_ARM_PC24 = 1;
+
175 static const offset_t R_ARM_V4BX = 40;
+
176
+
177 bool parse_imported_name(std::string reference_name, Linker::SymbolName& symbol);
+
178
+
179 bool parse_exported_name(std::string reference_name, Linker::ExportedSymbol& symbol);
+
180
+
181 void ReadFile(Linker::Reader& in) override;
+
182 };
+
+
183
+
184}
+
185
+
186#endif /* ELF_H */
+
Definition elf.h:90
+
Definition elf.h:77
+
Definition elf.h:62
+
ELF object and executable format.
Definition elf.h:20
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition elf.cc:6
+
void ReadFile(Linker::Reader &in) override
Loads file into memory.
Definition elf.cc:147
+
void SetupOptions(char special_char, Linker::OutputFormat *format) override
Initializes the reader for linking purposes.
Definition elf.cc:11
+
void ProduceModule(Linker::Module &module, Linker::Reader &rd) override
Reads a file and loads the information into a module object.
Definition elf.cc:23
+
Represents a currently unallocated variable that should be allocated in the final stages of the linki...
Definition symbol.h:224
+
Represents a symbol to be exported from the module.
Definition symbol.h:119
+
A class that provides a general interface to loading a module.
Definition format.h:165
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Represents a single offset within a section, or an absolute location in memory if the section is null...
Definition location.h:16
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A section of data as read from an object file.
Definition section.h:52
+
Represents an (imported or internal) symbol name, which can be more complex than a string.
Definition symbol.h:18
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
+ + + + diff --git a/html/files.html b/html/files.html new file mode 100644 index 00000000..2765debe --- /dev/null +++ b/html/files.html @@ -0,0 +1,148 @@ + + + + + + + +RetroLinker: File List + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  src
  dumper
 dumper.h
  format
 8bitexe.h
 aout.h
 as86obj.h
 binary.h
 bwexp.h
 coff.h
 cpm68k.h
 cpm86.h
 cpm8k.h
 dosexe.h
 elf.h
 geos.h
 gsos.h
 huexe.h
 hunk.h
 leexe.h
 macho.h
 macos.h
 minix.h
 mzexe.h
 neexe.h
 o65.h
 omf.h
 peexe.h
 pefexe.h
 pharlap.h
 pmode.h
 xenix.h
 xpexp.h
  linker
 format.h
 linker.h
 location.h
 module.h
 position.h
 reader.h
 relocation.h
 resolution.h
 section.h
 segment.h
 symbol.h
 target.h
 writable.h
 writer.h
  script
 parse.tab.hh
 script.h
 common.h
  unittest
  format
 mzexe.cc
  linker
 location.cc
 reader.cc
 section.cc
 symbol.cc
+
+
+ + + + diff --git a/html/folderclosed.svg b/html/folderclosed.svg new file mode 100644 index 00000000..b04bed2e --- /dev/null +++ b/html/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/html/folderclosedd.svg b/html/folderclosedd.svg new file mode 100644 index 00000000..52f0166a --- /dev/null +++ b/html/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/html/folderopen.svg b/html/folderopen.svg new file mode 100644 index 00000000..f6896dd2 --- /dev/null +++ b/html/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/html/folderopend.svg b/html/folderopend.svg new file mode 100644 index 00000000..2d1f06e7 --- /dev/null +++ b/html/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/html/format_8h_source.html b/html/format_8h_source.html new file mode 100644 index 00000000..00aad7d6 --- /dev/null +++ b/html/format_8h_source.html @@ -0,0 +1,204 @@ + + + + + + + +RetroLinker: src/linker/format.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
format.h
+
+
+
1#ifndef FORMAT_H
+
2#define FORMAT_H
+
3
+
4#include <map>
+
5#include <optional>
+
6#include <string>
+
7#include "../common.h"
+
8#include "reader.h"
+
9#include "writer.h"
+
10
+
11namespace Dumper
+
12{
+
13 class Dumper;
+
14}
+
15
+
16namespace Linker
+
17{
+
18 class Module;
+
19
+
+
23 class Format
+
24 {
+
25 public:
+
26 offset_t file_offset;
+
27
+
28 Format(offset_t file_offset = 0)
+
29 : file_offset(file_offset)
+
30 {
+
31 }
+
32
+
33 virtual ~Format();
+
37 virtual void Initialize();
+
41 virtual void Clear();
+
45 virtual void ReadFile(Reader& in) = 0;
+
49 virtual void WriteFile(Writer& out) = 0;
+
53 virtual void Dump(Dumper::Dumper& dump);
+
54 };
+
+
55
+
+
59 class OutputFormat : public virtual Format
+
60 {
+
61 public:
+
65 virtual bool AddSupplementaryOutputFormat(std::string subformat);
+
69 virtual void SetOptions(std::map<std::string, std::string>& options);
+
70
+
74 std::optional<std::string> FetchOption(std::map<std::string, std::string>& options, std::string name);
+
75
+
79 std::string FetchOption(std::map<std::string, std::string>& options, std::string name, std::string default_value);
+
80
+
84 std::optional<offset_t> FetchIntegerOption(std::map<std::string, std::string>& options, std::string name);
+
85
+
89 virtual void SetModel(std::string model);
+
93 virtual void SetLinkScript(std::string script_file, std::map<std::string, std::string>& options);
+
97 virtual void ProcessModule(Linker::Module& object);
+
102 virtual void CalculateValues();
+
106 virtual void GenerateFile(std::string filename, Linker::Module& module);
+
113 virtual std::string GetDefaultExtension(Linker::Module& module, std::string filename);
+
119 virtual std::string GetDefaultExtension(Linker::Module& module);
+
120 /* x86 only */
+
132 virtual bool FormatSupportsSegmentation() const;
+
138 virtual bool FormatIs16bit() const;
+
145 virtual bool FormatIsLinear() const;
+
146 /* general */
+
153 virtual bool FormatSupportsResources() const;
+
157 virtual bool FormatSupportsLibraries() const; /* imports/exports, fileformat level support, not system support */
+
158 virtual unsigned FormatAdditionalSectionFlags(std::string section_name) const;
+
159 };
+
+
160
+
+
164 class InputFormat : public virtual Format
+
165 {
+
166 public:
+
172 virtual void SetupOptions(char special_char, OutputFormat * format);
+
176 virtual void ProduceModule(Module& module, Reader& rd) = 0;
+
177 };
+
+
178}
+
179
+
180#endif /* FORMAT_H */
+
A class to control the output of a file analysis.
Definition dumper.h:529
+
A class to encode a general file format.
Definition format.h:24
+
virtual void WriteFile(Writer &out)=0
Stores data in memory to file.
+
virtual void Initialize()
Sets all fields to their default values.
Definition format.cc:16
+
virtual void ReadFile(Reader &in)=0
Loads file into memory.
+
virtual void Dump(Dumper::Dumper &dump)
Display file contents in a nice manner.
Definition format.cc:11
+
virtual void Clear()
Resets all fields to their default values, deallocate memory.
Definition format.cc:20
+
A class that provides a general interface to loading a module.
Definition format.h:165
+
virtual void ProduceModule(Module &module, Reader &rd)=0
Reads a file and loads the information into a module object.
+
virtual void SetupOptions(char special_char, OutputFormat *format)
Initializes the reader for linking purposes.
Definition format.cc:155
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
virtual bool FormatSupportsSegmentation() const
Whether the format supports multiple segments.
Definition format.cc:118
+
virtual void ProcessModule(Linker::Module &object)
Processes the module object and initializes format fields.
Definition format.cc:88
+
virtual bool FormatSupportsLibraries() const
Whether the format supports libraries.
Definition format.cc:145
+
virtual std::string GetDefaultExtension(Linker::Module &module)
Provides a default filename for the output file.
+
virtual bool FormatIsLinear() const
Whether the address space is linear or segmented.
Definition format.cc:128
+
virtual void GenerateFile(std::string filename, Linker::Module &module)
The main function that handles processing, calculating and generating the final image.
Definition format.cc:96
+
virtual void SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)
Selects a script file to use for linking.
Definition format.cc:83
+
virtual bool FormatIs16bit() const
Whether the format is 16-bit or not.
Definition format.cc:123
+
std::optional< offset_t > FetchIntegerOption(std::map< std::string, std::string > &options, std::string name)
Convenience method to look up option by name and convert it to integer.
Definition format.cc:59
+
virtual void SetOptions(std::map< std::string, std::string > &options)
Passes command line parameters as settings over to format object.
Definition format.cc:29
+
std::optional< std::string > FetchOption(std::map< std::string, std::string > &options, std::string name)
Convenience method to look up option by name.
Definition format.cc:33
+
virtual std::string GetDefaultExtension(Linker::Module &module, std::string filename)
Appends a default extension to the filename.
+
virtual void SetModel(std::string model)
Sets the way memory is organized, typically modifying a built-in script.
Definition format.cc:75
+
virtual void CalculateValues()
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition format.cc:92
+
virtual bool AddSupplementaryOutputFormat(std::string subformat)
If the output format actually drives multiple output formats (resource file, apple double,...
Definition format.cc:24
+
virtual bool FormatSupportsResources() const
Whether the format supports resources.
Definition format.cc:140
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
+ + + + diff --git a/html/functions.html b/html/functions.html new file mode 100644 index 00000000..3ae3ff2d --- /dev/null +++ b/html/functions.html @@ -0,0 +1,115 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+
+ + + + diff --git a/html/functions_b.html b/html/functions_b.html new file mode 100644 index 00000000..cd8805e4 --- /dev/null +++ b/html/functions_b.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- b -

+
+ + + + diff --git a/html/functions_c.html b/html/functions_c.html new file mode 100644 index 00000000..f54f3135 --- /dev/null +++ b/html/functions_c.html @@ -0,0 +1,106 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- c -

+
+ + + + diff --git a/html/functions_d.html b/html/functions_d.html new file mode 100644 index 00000000..a7969599 --- /dev/null +++ b/html/functions_d.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/html/functions_e.html b/html/functions_e.html new file mode 100644 index 00000000..8b91bf88 --- /dev/null +++ b/html/functions_e.html @@ -0,0 +1,98 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- e -

+
+ + + + diff --git a/html/functions_enum.html b/html/functions_enum.html new file mode 100644 index 00000000..c7d64528 --- /dev/null +++ b/html/functions_enum.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Class Members - Enumerations + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented enums with links to the class documentation for each member:
+
+ + + + diff --git a/html/functions_eval.html b/html/functions_eval.html new file mode 100644 index 00000000..0fe3fbd7 --- /dev/null +++ b/html/functions_eval.html @@ -0,0 +1,217 @@ + + + + + + + +RetroLinker: Class Members - Enumerator + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented enum values with links to the class documentation for each member:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- g -

+ + +

- h -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- w -

+ + +

- z -

+
+ + + + diff --git a/html/functions_f.html b/html/functions_f.html new file mode 100644 index 00000000..ca30570a --- /dev/null +++ b/html/functions_f.html @@ -0,0 +1,124 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- f -

+
+ + + + diff --git a/html/functions_func.html b/html/functions_func.html new file mode 100644 index 00000000..53f281f5 --- /dev/null +++ b/html/functions_func.html @@ -0,0 +1,103 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- a -

+
+ + + + diff --git a/html/functions_func_b.html b/html/functions_func_b.html new file mode 100644 index 00000000..4e1a3b46 --- /dev/null +++ b/html/functions_func_b.html @@ -0,0 +1,87 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- b -

+
+ + + + diff --git a/html/functions_func_c.html b/html/functions_func_c.html new file mode 100644 index 00000000..2f30416a --- /dev/null +++ b/html/functions_func_c.html @@ -0,0 +1,90 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/html/functions_func_d.html b/html/functions_func_d.html new file mode 100644 index 00000000..2624c442 --- /dev/null +++ b/html/functions_func_d.html @@ -0,0 +1,90 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- d -

+
+ + + + diff --git a/html/functions_func_e.html b/html/functions_func_e.html new file mode 100644 index 00000000..7c8e0e1f --- /dev/null +++ b/html/functions_func_e.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- e -

+
+ + + + diff --git a/html/functions_func_f.html b/html/functions_func_f.html new file mode 100644 index 00000000..44609f92 --- /dev/null +++ b/html/functions_func_f.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- f -

+
+ + + + diff --git a/html/functions_func_g.html b/html/functions_func_g.html new file mode 100644 index 00000000..5a2d185f --- /dev/null +++ b/html/functions_func_g.html @@ -0,0 +1,107 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- g -

+
+ + + + diff --git a/html/functions_func_i.html b/html/functions_func_i.html new file mode 100644 index 00000000..3a9d12cc --- /dev/null +++ b/html/functions_func_i.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- i -

+
+ + + + diff --git a/html/functions_func_l.html b/html/functions_func_l.html new file mode 100644 index 00000000..bea3395d --- /dev/null +++ b/html/functions_func_l.html @@ -0,0 +1,91 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- l -

+
+ + + + diff --git a/html/functions_func_o.html b/html/functions_func_o.html new file mode 100644 index 00000000..b1062813 --- /dev/null +++ b/html/functions_func_o.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/html/functions_func_p.html b/html/functions_func_p.html new file mode 100644 index 00000000..92bc0031 --- /dev/null +++ b/html/functions_func_p.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/html/functions_func_r.html b/html/functions_func_r.html new file mode 100644 index 00000000..ce7f172f --- /dev/null +++ b/html/functions_func_r.html @@ -0,0 +1,98 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/html/functions_func_s.html b/html/functions_func_s.html new file mode 100644 index 00000000..eaf86c60 --- /dev/null +++ b/html/functions_func_s.html @@ -0,0 +1,108 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- s -

+
+ + + + diff --git a/html/functions_func_t.html b/html/functions_func_t.html new file mode 100644 index 00000000..0c76e665 --- /dev/null +++ b/html/functions_func_t.html @@ -0,0 +1,88 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- t -

+
+ + + + diff --git a/html/functions_func_w.html b/html/functions_func_w.html new file mode 100644 index 00000000..a9c84c27 --- /dev/null +++ b/html/functions_func_w.html @@ -0,0 +1,90 @@ + + + + + + + +RetroLinker: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented functions with links to the class documentation for each member:
+ +

- w -

+
+ + + + diff --git a/html/functions_g.html b/html/functions_g.html new file mode 100644 index 00000000..16ae567f --- /dev/null +++ b/html/functions_g.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- g -

+
+ + + + diff --git a/html/functions_h.html b/html/functions_h.html new file mode 100644 index 00000000..4b9e1b1a --- /dev/null +++ b/html/functions_h.html @@ -0,0 +1,87 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- h -

+
+ + + + diff --git a/html/functions_i.html b/html/functions_i.html new file mode 100644 index 00000000..4287ae12 --- /dev/null +++ b/html/functions_i.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/html/functions_l.html b/html/functions_l.html new file mode 100644 index 00000000..720ec7cf --- /dev/null +++ b/html/functions_l.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- l -

+
+ + + + diff --git a/html/functions_m.html b/html/functions_m.html new file mode 100644 index 00000000..01614b8e --- /dev/null +++ b/html/functions_m.html @@ -0,0 +1,111 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- m -

+
+ + + + diff --git a/html/functions_n.html b/html/functions_n.html new file mode 100644 index 00000000..b343bd67 --- /dev/null +++ b/html/functions_n.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- n -

+
+ + + + diff --git a/html/functions_o.html b/html/functions_o.html new file mode 100644 index 00000000..21125fed --- /dev/null +++ b/html/functions_o.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- o -

+
+ + + + diff --git a/html/functions_p.html b/html/functions_p.html new file mode 100644 index 00000000..c52d59eb --- /dev/null +++ b/html/functions_p.html @@ -0,0 +1,101 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- p -

+
+ + + + diff --git a/html/functions_r.html b/html/functions_r.html new file mode 100644 index 00000000..c8969277 --- /dev/null +++ b/html/functions_r.html @@ -0,0 +1,113 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- r -

+
+ + + + diff --git a/html/functions_s.html b/html/functions_s.html new file mode 100644 index 00000000..a01abeb1 --- /dev/null +++ b/html/functions_s.html @@ -0,0 +1,153 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- s -

+
+ + + + diff --git a/html/functions_t.html b/html/functions_t.html new file mode 100644 index 00000000..637ad1dd --- /dev/null +++ b/html/functions_t.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- t -

+
+ + + + diff --git a/html/functions_u.html b/html/functions_u.html new file mode 100644 index 00000000..f288e32c --- /dev/null +++ b/html/functions_u.html @@ -0,0 +1,87 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- u -

+
+ + + + diff --git a/html/functions_v.html b/html/functions_v.html new file mode 100644 index 00000000..4b420309 --- /dev/null +++ b/html/functions_v.html @@ -0,0 +1,87 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- v -

+
+ + + + diff --git a/html/functions_vars.html b/html/functions_vars.html new file mode 100644 index 00000000..286f567c --- /dev/null +++ b/html/functions_vars.html @@ -0,0 +1,91 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- a -

+
+ + + + diff --git a/html/functions_vars_b.html b/html/functions_vars_b.html new file mode 100644 index 00000000..e40e9343 --- /dev/null +++ b/html/functions_vars_b.html @@ -0,0 +1,90 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- b -

+
+ + + + diff --git a/html/functions_vars_c.html b/html/functions_vars_c.html new file mode 100644 index 00000000..22040730 --- /dev/null +++ b/html/functions_vars_c.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- c -

+
+ + + + diff --git a/html/functions_vars_d.html b/html/functions_vars_d.html new file mode 100644 index 00000000..c8c8b281 --- /dev/null +++ b/html/functions_vars_d.html @@ -0,0 +1,92 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- d -

+
+ + + + diff --git a/html/functions_vars_e.html b/html/functions_vars_e.html new file mode 100644 index 00000000..537ea878 --- /dev/null +++ b/html/functions_vars_e.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- e -

+
+ + + + diff --git a/html/functions_vars_f.html b/html/functions_vars_f.html new file mode 100644 index 00000000..16121100 --- /dev/null +++ b/html/functions_vars_f.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- f -

+
+ + + + diff --git a/html/functions_vars_g.html b/html/functions_vars_g.html new file mode 100644 index 00000000..1ae60251 --- /dev/null +++ b/html/functions_vars_g.html @@ -0,0 +1,86 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- g -

+
+ + + + diff --git a/html/functions_vars_h.html b/html/functions_vars_h.html new file mode 100644 index 00000000..812d7894 --- /dev/null +++ b/html/functions_vars_h.html @@ -0,0 +1,86 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- h -

+
+ + + + diff --git a/html/functions_vars_i.html b/html/functions_vars_i.html new file mode 100644 index 00000000..b127c895 --- /dev/null +++ b/html/functions_vars_i.html @@ -0,0 +1,90 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- i -

+
+ + + + diff --git a/html/functions_vars_l.html b/html/functions_vars_l.html new file mode 100644 index 00000000..dfb92581 --- /dev/null +++ b/html/functions_vars_l.html @@ -0,0 +1,97 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- l -

+
+ + + + diff --git a/html/functions_vars_m.html b/html/functions_vars_m.html new file mode 100644 index 00000000..1a5effd4 --- /dev/null +++ b/html/functions_vars_m.html @@ -0,0 +1,97 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- m -

+
+ + + + diff --git a/html/functions_vars_n.html b/html/functions_vars_n.html new file mode 100644 index 00000000..c1edd79c --- /dev/null +++ b/html/functions_vars_n.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- n -

+
+ + + + diff --git a/html/functions_vars_o.html b/html/functions_vars_o.html new file mode 100644 index 00000000..7e64d996 --- /dev/null +++ b/html/functions_vars_o.html @@ -0,0 +1,97 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- o -

+
+ + + + diff --git a/html/functions_vars_p.html b/html/functions_vars_p.html new file mode 100644 index 00000000..f5e6285d --- /dev/null +++ b/html/functions_vars_p.html @@ -0,0 +1,90 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- p -

+
+ + + + diff --git a/html/functions_vars_r.html b/html/functions_vars_r.html new file mode 100644 index 00000000..8691b353 --- /dev/null +++ b/html/functions_vars_r.html @@ -0,0 +1,96 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- r -

+
+ + + + diff --git a/html/functions_vars_s.html b/html/functions_vars_s.html new file mode 100644 index 00000000..6628735c --- /dev/null +++ b/html/functions_vars_s.html @@ -0,0 +1,114 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- s -

+
+ + + + diff --git a/html/functions_vars_t.html b/html/functions_vars_t.html new file mode 100644 index 00000000..60ceaca6 --- /dev/null +++ b/html/functions_vars_t.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- t -

+
+ + + + diff --git a/html/functions_vars_u.html b/html/functions_vars_u.html new file mode 100644 index 00000000..54c8b3fb --- /dev/null +++ b/html/functions_vars_u.html @@ -0,0 +1,86 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- u -

+
+ + + + diff --git a/html/functions_vars_v.html b/html/functions_vars_v.html new file mode 100644 index 00000000..8fdeaafe --- /dev/null +++ b/html/functions_vars_v.html @@ -0,0 +1,87 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- v -

+
+ + + + diff --git a/html/functions_vars_w.html b/html/functions_vars_w.html new file mode 100644 index 00000000..626b7d59 --- /dev/null +++ b/html/functions_vars_w.html @@ -0,0 +1,86 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- w -

+
+ + + + diff --git a/html/functions_vars_y.html b/html/functions_vars_y.html new file mode 100644 index 00000000..cbf4a462 --- /dev/null +++ b/html/functions_vars_y.html @@ -0,0 +1,87 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- y -

+
+ + + + diff --git a/html/functions_vars_z.html b/html/functions_vars_z.html new file mode 100644 index 00000000..8c791750 --- /dev/null +++ b/html/functions_vars_z.html @@ -0,0 +1,86 @@ + + + + + + + +RetroLinker: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented variables with links to the class documentation for each member:
+ +

- z -

+
+ + + + diff --git a/html/functions_w.html b/html/functions_w.html new file mode 100644 index 00000000..2519aeef --- /dev/null +++ b/html/functions_w.html @@ -0,0 +1,92 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- w -

+
+ + + + diff --git a/html/functions_y.html b/html/functions_y.html new file mode 100644 index 00000000..4af781ca --- /dev/null +++ b/html/functions_y.html @@ -0,0 +1,87 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- y -

+
+ + + + diff --git a/html/functions_z.html b/html/functions_z.html new file mode 100644 index 00000000..90786a75 --- /dev/null +++ b/html/functions_z.html @@ -0,0 +1,88 @@ + + + + + + + +RetroLinker: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- z -

+
+ + + + diff --git a/html/geos_8h_source.html b/html/geos_8h_source.html new file mode 100644 index 00000000..0ad8a9e2 --- /dev/null +++ b/html/geos_8h_source.html @@ -0,0 +1,128 @@ + + + + + + + +RetroLinker: src/format/geos.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
geos.h
+
+
+
1#ifndef GEOS_H
+
2#define GEOS_H
+
3
+
4#include "../common.h"
+
5#include "../linker/linker.h"
+
6#include "../linker/reader.h"
+
7#include "../linker/writer.h"
+
8
+
9/* TODO: unimplemented */
+
10
+
11namespace GEOS
+
12{
+
+ +
17 {
+
18 public:
+
19 void ReadFile(Linker::Reader& in) override;
+
20 void WriteFile(Linker::Writer& out) override;
+
21 /* TODO */
+
22
+
23 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
24 };
+
+
25}
+
26
+
27#endif /* GEOS_H */
+
Berkeley Softworks GEOS or GeoWorks Ensemble or NewDeal Office or Breadbox Ensemble Geode file format...
Definition geos.h:17
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition geos.cc:18
+
void ReadFile(Linker::Reader &in) override
Loads file into memory.
Definition geos.cc:8
+
void WriteFile(Linker::Writer &out) override
Stores data in memory to file.
Definition geos.cc:13
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
+ + + + diff --git a/html/gsos_8h_source.html b/html/gsos_8h_source.html new file mode 100644 index 00000000..78133c25 --- /dev/null +++ b/html/gsos_8h_source.html @@ -0,0 +1,123 @@ + + + + + + + +RetroLinker: src/format/gsos.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
gsos.h
+
+
+
1#ifndef GSOS_H
+
2#define GSOS_H
+
3
+
4#include "../common.h"
+
5#include "../linker/linker.h"
+
6#include "../linker/module.h"
+
7#include "../linker/segment.h"
+
8#include "../linker/writer.h"
+
9
+
10namespace Apple
+
11{
+
+ +
19 {
+
20 public:
+
21 void ReadFile(Linker::Reader& rd) override;
+
22 void WriteFile(Linker::Writer& wr) override;
+
23 /* TODO */
+
24 };
+
+
25}
+
26
+
27#endif /* GSOS_H */
+
Apple GS/OS OMF file format.
Definition gsos.h:19
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition gsos.cc:11
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition gsos.cc:6
+
A helper class to collect sections into segments.
Definition linker.h:27
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
+ + + + diff --git a/html/hierarchy.html b/html/hierarchy.html new file mode 100644 index 00000000..92152f7c --- /dev/null +++ b/html/hierarchy.html @@ -0,0 +1,339 @@ + + + + + + + +RetroLinker: Class Hierarchy + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CDOS16M::BWFormat::AbstractSegment
 CPharLap::P3Format::MultiSegmented::AbstractSegment
 CDumper::BitFieldDisplay::BitField
 CLinker::CommonSymbolRepresents a currently unallocated variable that should be allocated in the final stages of the linking process
 CDumper::ContainerA record whose values should be displayed together, as a collection
 CDigitalResearch::CPM86Format::DescriptorA representation of segment group within the executable
 CPharLap::P3Format::MultiSegmented::Descriptor
 Cdump.Determiner
 CDumper::Display< Ts >This class represents an entry that can be displayed in a file dump
 CDumper::Display< offset_t >
 CDumper::Display< offset_t, offset_t >
 CDumper::Display< offset_t, Ts... >
 CDumper::Display< std::string >
 CDumper::Display< Ts... >
 CDumper::DumperA class to control the output of a file analysis
 CApple::ResourceFork::JumpTableCodeResource::Entry
 CMicrosoft::NEFormat::Entry
 CLinker::Exception
 CLinker::ExportedSymbolRepresents a symbol to be exported from the module
 CDumper::FieldA representation of a named value within a structure
 Cdump.FileReader
 CLinker::FormatA class to encode a general file format
 Cformat_description
 Cformat_magic
 CAmiga::HunkFormat::Hunk
 CDigitalResearch::CPM86Format::FastLoadDescriptor::ldt_descriptor
 CDigitalResearch::CPM86Format::library_id(FlexOS only) A shared runtime library identifier
 CLinker::LinkerManagerA helper class to collect sections into segments
 CScript::List
 CLinker::LocationRepresents a single offset within a section, or an absolute location in memory if the section is null
 CCOFF::COFFFormat::MachineType
 CLinker::ModuleEncodes an object module file as a collection of sections, symbols and relocations
 CMicrosoft::MZSimpleStubWriter
 CMicrosoft::MZStubWriter
 CMicrosoft::LEFormat::Name
 CMicrosoft::NEFormat::Name
 CScript::Node
 CMicrosoft::LEFormat::Object
 CCOFF::COFFFormat::OptionalHeaderAn abstract class to represent the optional header
 Coutput_format_type
 CMicrosoft::LEFormat::Page
 CMicrosoft::MZFormat::PIFConcurrent DOS embedded program information, produced by PIFED
 CApple::FinderInfo::Point
 CLinker::PositionStores an absolute address along with the containing segment or address space
 Cdump.Reader
 CLinker::ReaderA helper class, encapsulating functionality needed to import binary data
 CLinker::ReferenceRepresents a reference stored in a linker script
 CCOFF::COFFFormat::RelocationA generic COFF relocation
 CDigitalResearch::CPM68KFormat::Relocation
 CDigitalResearch::CPM86Format::RelocationRepresents a single relocation
 CDigitalResearch::CPM8KFormat::Relocation
 CELF::ELFFormat::Relocation
 CLinker::RelocationA representation of a value within some binary data that has to be fixed up once the exact position of certain symbols within memory is known
 CMicrosoft::MZFormat::RelocationRepresents a relocation entry in the header, as a pair of 16-bit words
 CMicrosoft::NEFormat::Segment::Relocation
 CPharLap::MPFormat::Relocation
 CPharLap::P3Format::MultiSegmented::Relocation
 CDigitalResearch::CPM86Format::relocation_sourceRepresents the location of a 16-bit words that needs to be relocated
 CLinker::ResolutionRepresenting a resolved relocation
 CMicrosoft::LEFormat::Resource
 CMicrosoft::NEFormat::Resource
 CBinary::CPM3Format::rsx_record
 CDigitalResearch::CPM86Format::rsx_recordRepresents an attached RSX file (residential system extension)
 CPharLap::P3Format::RunTimeParameterBlock
 CCOFF::COFFFormat::SectionA COFF section
 CELF::ELFFormat::Section
 CBinary::AtariFormat::Segment
 CBinary::FLEXFormat::Segment
 CDigitalResearch::CPM8KFormat::SegmentRepresents a segment within the module
 CMicrosoft::NEFormat::Segment
 CAOut::AOutFormat::Symbol
 CCOFF::COFFFormat::SymbolA COFF symbol
 CDigitalResearch::CPM8KFormat::Symbol
 CELF::ELFFormat::Symbol
 CLinker::SymbolNameRepresents an (imported or internal) symbol name, which can be more complex than a string
 CLinker::TargetRepresents a possible target or reference frame of a relocation
 CCppUnit::TestFixture
 CScript::Value< Type >
 CScript::Value< void >
 CMicrosoft::NEFormat::versionVersion number
 CLinker::WritableRepresents an abstract interface whose data can be written to a file
 CLinker::WriterA helper class, encapsulating functionality needed to export binary data
 Cyy_buffer_state
 Cyy_trans_info
 Cyyalloc
 CYYSTYPE
+
+
+ + + + diff --git a/html/huexe_8h_source.html b/html/huexe_8h_source.html new file mode 100644 index 00000000..49ca4d24 --- /dev/null +++ b/html/huexe_8h_source.html @@ -0,0 +1,172 @@ + + + + + + + +RetroLinker: src/format/huexe.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
huexe.h
+
+
+
1#ifndef HUEXE_H
+
2#define HUEXE_H
+
3
+
4#include "../common.h"
+
5#include "../linker/linker.h"
+
6#include "../linker/module.h"
+
7#include "../linker/segment.h"
+
8#include "../linker/writer.h"
+
9
+
10namespace X68000
+
11{
+
+ +
16 {
+
17 public:
+
18 void ReadFile(Linker::Reader& rd) override;
+
19
+
20 HUFormat()
+
21 : load_mode(MODE_NORMAL), entry_address(0), option_no_relocation(false)
+
22 {
+
23 }
+
24
+
25 enum
+
26 {
+
27 MODE_NORMAL,
+
28 MODE_SMALLEST,
+
29 MODE_HIGHEST,
+
30 } load_mode; /* TODO: make parameter */
+
31 uint32_t entry_address;
+
32 bool option_no_relocation; /* TODO: make parameter */
+
33
+
34 /* filled in automatically */
+
35 Linker::Segment * code, * data, * bss;
+
36 uint32_t relocation_size;
+
37 std::map<uint32_t, unsigned char> relocations;
+
38
+
39 using LinkerManager::SetLinkScript;
+
40
+
41 void SetOptions(std::map<std::string, std::string>& options) override;
+
42
+
43 void OnNewSegment(Linker::Segment * segment) override;
+
44
+
45 void CreateDefaultSegments();
+
46
+
47 Script::List * GetScript(Linker::Module& module);
+
48
+
49 void Link(Linker::Module& module);
+
50
+
51 void ProcessModule(Linker::Module& module) override;
+
52
+
53 void CalculateValues() override;
+
54
+
55 void WriteFile(Linker::Writer& wr) override;
+
56
+
57 void GenerateFile(std::string filename, Linker::Module& module) override;
+
58
+
59 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
60 };
+
+
61
+
62}
+
63
+
64#endif /* HUEXE_H */
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition script.h:61
+
Human68k "HU" .X file.
Definition huexe.h:16
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition huexe.cc:95
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition huexe.cc:161
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition huexe.cc:146
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition huexe.cc:200
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition huexe.cc:11
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition huexe.cc:6
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition huexe.cc:16
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition huexe.cc:210
+
+ + + + diff --git a/html/hunk_8h_source.html b/html/hunk_8h_source.html new file mode 100644 index 00000000..22a524f2 --- /dev/null +++ b/html/hunk_8h_source.html @@ -0,0 +1,226 @@ + + + + + + + +RetroLinker: src/format/hunk.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
hunk.h
+
+
+
1#ifndef HUNK_H
+
2#define HUNK_H
+
3
+
4#include "../common.h"
+
5#include "../linker/linker.h"
+
6#include "../linker/module.h"
+
7#include "../linker/segment.h"
+
8#include "../linker/writer.h"
+
9
+
10namespace Amiga
+
11{
+
+ +
18 {
+
19 public:
+ +
31
+
32 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
+
33
+
34 void ReadFile(Linker::Reader& rd) override;
+
35
+
36 enum
+
37 {
+
38 HUNK_CODE = 0x3E9,
+
39 HUNK_DATA = 0x3EA,
+
40 HUNK_BSS = 0x3EB,
+
41 HUNK_RELOC32 = 0x3EC,
+
42 HUNK_END = 0x3F2,
+
43 HUNK_HEADER = 0x3F3,
+
44 HUNK_PPC_CODE = 0x4E9,
+
45 };
+
46 uint32_t cpu;
+
47
+
+
48 class Hunk
+
49 {
+
50 public:
+
51 uint32_t hunk_type;
+
52 enum flag_type
+
53 {
+
54 LoadAny = 0x00000000,
+
55 LoadPublic = 0x00000001, /* default, not stored */
+
56 LoadChipMem = 0x00000002,
+
57 LoadFastMem = 0x00000004,
+
58 LoadLocalMem = 0x00000008,
+
59 Load24BitDma = 0x00000010,
+
60 LoadClear = 0x00010000,
+
61 } flags;
+
62 Linker::Segment * image;
+
63
+
64 Hunk(uint32_t hunk_type, std::string name = "image", unsigned flags = LoadAny)
+
65 : hunk_type(hunk_type), flags((flag_type)flags), image(new Linker::Segment(name))
+
66 {
+
67 }
+
68
+
69 Hunk(uint32_t hunk_type, Linker::Segment * segment, unsigned flags = LoadAny)
+
70 : hunk_type(hunk_type), flags((flag_type)flags), image(segment)
+
71 {
+
72 }
+
73
+
74 ~Hunk()
+
75 {
+
76// delete image;
+
77 }
+
78
+
79 std::map<uint32_t, std::vector<uint32_t> > relocations;
+
80
+
81 uint32_t GetSizeField();
+
82
+
83 bool RequiresAdditionalFlags();
+
84
+
85 uint32_t GetAdditionalFlags();
+
86 };
+
+
87
+
88 std::vector<Hunk> hunks;
+
89 std::map<Linker::Segment *, size_t> segment_index; /* makes it easier to lookup the indices of segments */
+
90
+
91 using LinkerManager::SetLinkScript;
+
92
+
93 void SetOptions(std::map<std::string, std::string>& options) override;
+
94
+
95 void AddHunk(const Hunk& hunk);
+
96
+
97 void OnNewSegment(Linker::Segment * segment) override;
+
98
+
99 Script::List * GetScript(Linker::Module& module);
+
100
+
101 void Link(Linker::Module& module);
+
102
+
103 void ProcessModule(Linker::Module& module) override;
+
104
+
105 void CalculateValues() override;
+
106
+
107 void WriteFile(Linker::Writer& wr) override;
+
108
+
109 void GenerateFile(std::string filename, Linker::Module& module) override;
+
110
+
111 std::string GetDefaultExtension(Linker::Module& module) override;
+
112
+
113 };
+
+
114
+
115}
+
116
+
117#endif /* HUNK_H */
+
Definition hunk.h:49
+
AmigaOS/TRIPOS Hunk files.
Definition hunk.h:18
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition hunk.cc:48
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition hunk.cc:169
+
std::string GetDefaultExtension(Linker::Module &module) override
Provides a default filename for the output file.
Definition hunk.cc:283
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition hunk.cc:273
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition hunk.cc:219
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition hunk.cc:215
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition hunk.cc:24
+
flags
Definition hunk.h:21
+
@ ChipMemory
Section to be stored in chip memory.
Definition hunk.h:29
+
@ FastMemory
Section to be stored in fast memory.
Definition hunk.h:25
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition hunk.cc:62
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
@ CustomFlag
Other flags.
Definition section.h:128
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition script.h:61
+
+ + + + diff --git a/html/index.html b/html/index.html new file mode 100644 index 00000000..436db56e --- /dev/null +++ b/html/index.html @@ -0,0 +1,377 @@ + + + + + + + +RetroLinker: RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats
+
+
+

+Introduction

+

This program grew out of a desire to be able to process and generate old object and executable file formats. The initial targets were 16-bit 8086 operating systems, in particular CP/M-86, MS-DOS, Windows and ELKS (16-bit port of Linux). It was also a goal to be able to parse Intel OMF object files as well as as86 object files, to provide a drop-in replacement for the WATCOM and dev86 compilers.

+

+Supported output formats

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
File format CPU

Platform

+

+
Flat binary (.com) Intel 8080
+Zilog Z80

CP/M-80
+MSX-DOS

+

+
Intel 8086

MS-DOS

+

+
Acorn ARM

RISC OS

+

+
Motorola 68000

QDOS for Sinclair QL

+

+
Relocatable (flat) binary (.r) Motorola 68000

Human68k

+

+
Page relocatable (.prl) Intel 8080
+Zilog Z80

MP/M-80
+CP/M-80 3.0

+

+
CMD binary (.cmd) 8080 model
+Small/compact model
Intel 8086

CP/M-86

+

+
FlexOS format (.186, .286)

FlexOS (untested)

+

+
MZ (.exe) Intel 8086

MS-DOS
+GEM

+

+
DL (.exm) Intel 8086

HP LX System Manager (untested)

+

+
NE (.exe) Intel 8086

Windows (16-bit)
+OS/2 (16-bit)
+(European) Multitasking MS-DOS 4.0

+

+
MINIX a.out Combined/impure
+Split/pure
Intel 8086

ELKS

+

+
BW (.exp, .exe) Intel 8086

DOS/16M extender

+

+
P2 (.exp) Intel 80286

Phar Lap extender (untested)

+

+
P3 (.exp) Intel 80386

Phar Lap extender

+

+
MP (.exp)
+MQ (.rex)
Intel 80386

Phar Lap extender

+

+
MP (.exp)
+MQ (.rex)
Intel 80386

Phar Lap extender

+

+
XP (.exp) Intel 80286
+Intel 80386

Ergo OS/286 and OS/386 extenders (unimplemented)

+

+
32-bit UNIX a.out ZMAGIC (.exe) Intel 80386

DJGPP (prior to 1.11)

+

+
OMAGIC (.exe) Intel 80386

early PDOS/386

+

+
COFF Intel 80386

DJGPP (since 1.11)

+

+

FlexOS 386 (.386) (untested)

+

+
Motorola 68000

Concurrent DOS 68K (.68k)
+with crunched relocations (untested)

+

+
PE (.exe) Intel 80386

Windows (32-bit)
+Windows NT
+Windows 95
+Win32s (unimplemented)

+

+
LE (.exe) LE (.exe)

DOS/4G

+

+
LX (.exe)

OS/2 (32-bit)

+

+
PMW1 (.exe) PMW1 (.exe)

PMODE/W (unimplemented)

+

+
CP/M-68K binary Contiguous binary Motorola 68000

CP/M-68K (.68k)
+GEMDOS (.prg)
+Atari TOS (.prg)
+Human68k (.z)

+

+
Non-contiguous binary (.68k)

CP/M-68K

+

+
Contiguous binary (.68k)
+with CP/M-68K or crunched relocations

Concurrent DOS 68K

+

+
HU (.x) Motorola 68000

Human68k

+

+
Hunk Motorola 68000
+PowerPC

AmigaOS

+

+
AppleSingle or AppleDouble
+Macintosh resource
+MacBinary
Motorola 68000

Mac OS

+

+
PEF PowerPC
+Motorola 68000

Mac OS (unimplemented)

+

+
OMF executable WDC65C816

GS/OS (unimplemented)

+

+
CP/M-8000 binary Zilog Z8000

CP/M-8000

+

+
Mach-O PowerPC
+AMD64
+ARM
+etc.

Mac OS X (unimplemented)

+

+
ELF Intel 80386
+etc.

Linux
+etc.

+

+
Apple ][ (.bin) MOS 6502

Apple ][ (untested)

+

+
Atari 400/800 (.exe) MOS 6502

Atari 400/800 (untested)

+

+
Commodore PET/VIC-20/64 (.prg) MOS 6502

Commodore PET/VIC-20/64 (untested)

+

+
CP/M Plus (.com) Intel 8080

CP/M Plus (untested)

+

+
FLEX (.cmd) Motorola 6800
+Motorola 6809

FLEX (untested)

+

+
UZI (Unix-like) Zilog Z80

UZI (untested)

+

+
UZI-280 (Unix-like) Zilog Z280

UZI-280 (untested)

+

+
Xenix b.out Intel 80286

Xenix (unimplemented)

+

+
Xenix x.out Intel 80286

Xenix (unimplemented)

+

+
D3X1 Intel 80386

D3X DOS extender (unimplemented)

+

+
Adam Intel 80386

Adam Seychell DOS32 extender (unimplemented)

+

+
64-bit Flat file AMD64

DX64 DOS extender (unimplemented)

+

+
64-bit LV file AMD64

DX64 DOS extender (unimplemented)

+

+
+

+Supported input formats

+ + + + + + + + + + + + + + + + + +
File format CPU

Used by

+

+
as86 object Intel 8086
+etc.

as86 (unimplemented)

+

+
UNIX a.out DEC PDP-11

GNU tools

+

+
COFF Zilog Z80
+Zilog Z8000

GNU tools

+

+
ELF Intel 80386
+etc.

GNU tools
+etc.

+

+
Mach-O PowerPC
+AMD64
+ARM
+etc.

Mac OS X (unimplemented)

+

+
xa object MOS 6502

xa (unimplemented)

+

+
Intel Relocatable Object Module Intel 8086
+Intel 80386

16-bit Microsoft
+Borland
+Watcom (unimplemented)

+

+
+
+ +
+ + + + diff --git a/html/jquery.js b/html/jquery.js new file mode 100644 index 00000000..1dffb65b --- /dev/null +++ b/html/jquery.js @@ -0,0 +1,34 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/html/leexe_8h_source.html b/html/leexe_8h_source.html new file mode 100644 index 00000000..5f8f1f5f --- /dev/null +++ b/html/leexe_8h_source.html @@ -0,0 +1,502 @@ + + + + + + + +RetroLinker: src/format/leexe.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
leexe.h
+
+
+
1#ifndef LEEXE_H
+
2#define LEEXE_H
+
3
+
4#include "mzexe.h"
+
5#include "../common.h"
+
6#include "../linker/linker.h"
+
7#include "../linker/module.h"
+
8#include "../linker/segment.h"
+
9#include "../linker/writer.h"
+
10
+
11namespace Microsoft
+
12{
+
+ +
25 {
+
26 public:
+
27 void ReadFile(Linker::Reader& rd) override;
+
28
+
29 bool FormatSupportsSegmentation() const override;
+
30
+
31 bool FormatSupportsLibraries() const override;
+
32
+
33 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
+
34
+
35 ::EndianType endiantype;
+
36
+
37 enum system_type
+
38 {
+
39 OS2 = 1, /* OS/2 2.0+ */
+
40 Windows, /* Windows 386 */
+
41 MSDOS4, /* ? */
+
42 Windows386, /* ? */
+
43
+
44 DOS4G = -1, /* not a real system type */
+
45 } system;
+
46
+
47 bool IsOS2() const;
+
48
+
49 enum
+
50 {
+
51 PreProcessInitialization = 0x00000004,
+
52 NoInternalFixup = 0x00000010,
+
53 NoExternalFixup = 0x00000020,
+
54 FullScreen = 0x00000100,
+
55 GUIAware = 0x00000200,
+
56 GUI = 0x00000300,
+
57 ErrorInImage = 0x00002000,
+
58 Library = 0x00008000,
+
59 ProtectedMemoryLibrary = 0x00018000,
+
60 PhysicalDriver = 0x00020000,
+
61 VirtualDriver = 0x00028000,
+
62 PerProcessTermination = 0x40000000,
+
63 };
+
64 uint32_t module_flags;
+
65
+
66 bool IsLibrary() const;
+
67
+
68 bool IsDriver() const;
+
69
+
70 bool extended_format;
+
71
+
72 enum cpu_type
+
73 {
+
74 I386 = 2,
+
75 } cpu;
+
76
+
77 enum compatibility_type
+
78 {
+
79 CompatibleNone,
+
80 CompatibleWatcom,
+
81 CompatibleMicrosoft, /* TODO??? */
+
82 CompatibleGNU, /* TODO: emx extender */
+
83 } compatibility;
+
84
+
85 protected:
+
86 LEFormat(unsigned system, unsigned module_flags, bool extended_format)
+
87 : endiantype(::LittleEndian), system((system_type)system), module_flags(module_flags), extended_format(extended_format),
+
88 cpu(I386), compatibility(CompatibleNone), imported_procedure_names_length(0)
+
89 {
+
90 }
+
91
+
92 public:
+
93 static LEFormat * CreateConsoleApplication(system_type system = OS2);
+
94
+
95 static LEFormat * CreateGUIApplication(system_type system = OS2);
+
96
+
97 static LEFormat * CreateLibraryModule(system_type system = OS2);
+
98
+
99 LEFormat * SimulateLinker(compatibility_type compatibility);
+
100
+
101 /*std::string stub_file;*/
+
102 std::string program_name, module_name;
+
103
+
104 uint32_t page_count;
+
105 uint32_t eip_object, eip_value, esp_object, esp_value;
+
106 union
+
107 {
+
108 uint32_t last_page_size; /* LE */
+
109 uint32_t page_offset_shift; /* LX */
+
110 };
+
111 uint32_t fixup_section_size, loader_section_size;
+
112 uint32_t object_table_offset, object_page_table_offset, object_iterated_pages_offset;
+
113 uint32_t resource_table_offset, resource_table_entry_count, resident_name_table_offset;
+
114 uint32_t entry_table_offset, fixup_page_table_offset, fixup_record_table_offset;
+
115 uint32_t imported_module_table_offset, imported_procedure_table_offset;
+
116 uint32_t data_pages_offset, nonresident_name_table_offset, nonresident_name_table_size;
+
117 uint32_t automatic_data, stack_size, heap_size;
+
118
+
+
119 class Object
+
120 {
+
121 public:
+
122 Linker::Segment * image;
+
123 enum flag_type
+
124 {
+
125 Readable = 0x0001,
+
126 Writable = 0x0002,
+
127 Execable = 0x0004,
+
128 Resource = 0x0008,
+
129 Discardable = 0x0010,
+
130 Shared = 0x0020,
+
131 PreloadPages = 0x0040,
+
132 InvalidPages = 0x0080,
+
133 ZeroFilledPages = 0x0100,
+
134 Resident = 0x0200,
+
135 ResidentContiguous = 0x0300,
+
136 ResidentLongLockable = 0x0400,
+
137 Alias16_16 = 0x1000, /* x86 */
+
138 BigSegment = 0x2000, /* x86 */
+
139 Conforming = 0x4000, /* x86 */
+
140 IOPrivilege = 0x8000, /* x86 */
+
141 } flags;
+
142 uint32_t page_table_index;
+
143 uint32_t page_entry_count;
+
144 uint32_t data_pages_offset;
+
145
+
146 Object(Linker::Segment * segment, unsigned flags)
+
147 : image(segment), flags((flag_type)flags)
+
148 {
+
149 }
+
150 };
+
+
151
+
152 void AddRelocation(Object& object, unsigned type, unsigned flags, size_t offset, uint16_t module, uint32_t target = 0, uint32_t addition = 0);
+
153
+
+
154 class Page
+
155 {
+
156 public:
+
157 union
+
158 {
+
159 struct
+
160 {
+
161 uint32_t fixup_table_index;
+
162 uint8_t type;
+
163 } le;
+
164 struct
+
165 {
+
166 uint32_t offset;
+
167 uint16_t size;
+
168 uint16_t flags;
+
169 } lx;
+
170 };
+
171
+
172 enum
+
173 {
+
174 /* LE types */
+
175 NoRelocations = 0,
+
176 Relocations = 3,
+
177
+
178 /* LX flags */
+
179 Preload = 0,
+
180 Iterated,
+
181 Invalid,
+
182 ZeroFilled,
+
183 Range,
+
184 };
+
185
+
186 uint32_t fixup_offset;
+
187
+
+ +
189 {
+
190 public:
+
191 enum source_type
+
192 {
+
193 Offset8 = 0,
+
194 Selector16 = 2,
+
195 Pointer32 = 3,
+
196 Offset16 = 5,
+
197 Pointer48 = 6,
+
198 Offset32 = 7,
+
199 Relative32 = 8,
+
200
+
201 SourceTypeMask = 0x0F,
+
202
+
203 Alias = 0x10,
+
204 SourceList = 0x20,
+
205 } type;
+
206 enum flag_type
+
207 {
+
208 Internal = 0,
+
209 ImportOrdinal = 1,
+
210 ImportName = 2,
+
211 Entry = 3,
+
212
+
213 FlagTypeMask = 3,
+
214
+
215 Additive = 4,
+
216 Target32 = 0x10,
+
217 Additive32 = 0x20,
+
218 Module16 = 0x40,
+
219 Ordinal8 = 0x80,
+
220 } flags;
+
221 uint16_t module;
+
222 uint32_t target;
+
223 uint32_t addition;
+
224
+
225 Relocation()
+
226 : Writer(::LittleEndian), type(), flags(), module(0), target(0), addition(0)
+
227 {
+
228 }
+
229
+
230 Relocation(unsigned type, unsigned flags, uint16_t offset, uint16_t module, uint32_t target = 0, uint32_t addition = 0)
+
231 : Writer(::LittleEndian), type((source_type)type), flags((flag_type)flags), module(module), target(target), addition(addition)
+
232 {
+
233 sources.push_back(offset);
+
234 }
+
235
+
236 static source_type GetType(Linker::Relocation& rel);
+
237
+
238 bool IsExternal() const;
+
239
+
240 bool IsSelectorOrOffset() const;
+
241
+
242 bool ComesBefore() const;
+
243
+
244 size_t GetSourceSize() const;
+
245
+
246 private:
+
247 std::vector<uint16_t> sources;
+
248
+
249 public:
+
250 /* do not call this */
+
251 void DecrementSingleSourceOffset(size_t amount);
+
252
+
253 bool IsSelector() const;
+
254 bool IsSourceList() const;
+
255 bool IsAdditive() const;
+
256 size_t GetTargetSize() const;
+
257 size_t GetAdditiveSize() const;
+
258 size_t GetModuleSize() const;
+
259 size_t GetOrdinalSize() const;
+
260
+
261 void CalculateSizes(compatibility_type compatibility);
+
262
+
263 size_t GetSize() const;
+
264
+
265 void WriteFile(Linker::Writer& wr, compatibility_type compatibility);
+
266 };
+
+
267 std::map<uint16_t, Relocation> relocations;
+
268
+
269 Page()
+
270 : lx{0, 0, 0}, fixup_offset(0)
+
271 {
+
272 }
+
273
+
274 protected:
+
275 Page(uint16_t fixup_table_index, uint8_t type)
+
276 : le{fixup_table_index, type}, fixup_offset(0)
+
277 {
+
278 }
+
279
+
280 Page(uint32_t offset, uint16_t size, uint8_t flags)
+
281 : lx{offset, size, flags}, fixup_offset(0)
+
282 {
+
283 }
+
284
+
285 public:
+
286 static Page LEPage(uint16_t fixup_table_index, uint8_t type);
+
287
+
288 static Page LXPage(uint32_t offset, uint16_t size, uint8_t flags);
+
289 };
+
+
290
+
+ +
292 {
+
293 /* TODO */
+
294 };
+
+
295
+
+
296 struct Name
+
297 {
+
298 public:
+
299 std::string name;
+
300 uint16_t ordinal;
+
301 };
+
+
302
+
+
303 class Entry : public Linker::Writer
+
304 {
+
305 public:
+
306 enum entry_type
+
307 {
+
308 Unused,
+
309 Entry16,
+
310 CallGate286,
+
311 Entry32,
+
312 Forwarder,
+
313 } type;
+
314 uint16_t object;
+
315 enum flag_type
+
316 {
+
317 Exported = 1,
+
318 SharedData = 2,
+
319 } flags;
+
320 uint32_t offset;
+
321
+
322 Entry()
+
323 : Writer(::LittleEndian), type(Unused), object(0), flags((flag_type)0), offset(0)
+
324 {
+
325 }
+
326
+
327 Entry(unsigned type, uint16_t object, unsigned flags, uint32_t offset)
+
328 : Writer(::LittleEndian), type((entry_type)type), object(object), flags((flag_type)flags), offset(offset)
+
329 {
+
330 }
+
331
+
332 bool SameBundle(const Entry& other) const;
+
333
+
334 offset_t GetEntryHeadSize() const;
+
335
+
336 offset_t GetEntryBodySize() const;
+
337
+
338 void WriteEntryHead(Linker::Writer& wr);
+
339
+
340 void WriteEntryBody(Linker::Writer& wr);
+
341 };
+
+
342
+
343 static const uint32_t page_size = 0x1000;
+
344
+
345 Linker::Segment * stack, * heap;
+
346 std::vector<Object> objects;
+
347 std::map<Linker::Segment *, size_t> object_index;
+
348 std::vector<Page> pages;
+
349 std::vector<Resource> resources;
+
350 std::vector<Name> resident_names, nonresident_names;
+
351 std::vector<Entry> entries;
+
352 std::vector<std::string> imported_modules, imported_procedures;
+
353 std::map<std::string, uint32_t> imported_procedure_name_offsets;
+
354 offset_t imported_procedure_names_length;
+
355
+
356 unsigned GetDefaultObjectFlags() const;
+
357 void AddObject(const Object& object);
+
358 uint16_t FetchImportedModuleName(std::string name);
+
359 uint16_t FetchImportedProcedureName(std::string name);
+
360 uint16_t MakeEntry(Linker::Position value);
+
361 uint16_t MakeEntry(uint16_t index, Linker::Position value);
+
362 uint8_t CountBundles(size_t entry_index);
+
363
+
364 using LinkerManager::SetLinkScript;
+
365 void SetOptions(std::map<std::string, std::string>& options) override;
+
366 void OnNewSegment(Linker::Segment * segment) override;
+
367 Script::List * GetScript(Linker::Module& module);
+
368 void Link(Linker::Module& module);
+
369 void ProcessModule(Linker::Module& module) override;
+
370 void CalculateValues() override;
+
371 void WriteFile(Linker::Writer& wr) override;
+
372 void GenerateFile(std::string filename, Linker::Module& module) override;
+
373 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
+
374
+
375 };
+
+
376
+
377}
+
378
+
379#endif /* LEEXE_H */
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
Stores an absolute address along with the containing segment or address space.
Definition position.h:17
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A representation of a value within some binary data that has to be fixed up once the exact position o...
Definition relocation.h:27
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition leexe.h:304
+
Definition leexe.h:120
+ +
Definition leexe.h:155
+
Definition leexe.h:292
+
LE/LX .EXE linear executable file format.
Definition leexe.h:25
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition leexe.cc:885
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition leexe.cc:1028
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition leexe.cc:562
+
std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
Appends a default extension to the filename.
Definition leexe.cc:1273
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition leexe.cc:1256
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition leexe.cc:7
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition leexe.cc:568
+
bool FormatSupportsSegmentation() const override
Whether the format supports multiple segments.
Definition leexe.cc:12
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition leexe.cc:646
+
bool FormatSupportsLibraries() const override
Whether the format supports libraries.
Definition leexe.cc:17
+
Definition mzexe.h:286
+
Definition script.h:61
+
Definition leexe.h:297
+
+ + + + diff --git a/html/linker_8h_source.html b/html/linker_8h_source.html new file mode 100644 index 00000000..e62bdf5e --- /dev/null +++ b/html/linker_8h_source.html @@ -0,0 +1,240 @@ + + + + + + + +RetroLinker: src/linker/linker.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
linker.h
+
+
+
1#ifndef LINKER_H
+
2#define LINKER_H
+
3
+
4#include <fstream>
+
5#include <optional>
+
6#include <string>
+
7#include <variant>
+
8#include "module.h"
+
9#include "writer.h"
+
10#include "../script/script.h"
+
11
+
12namespace Linker
+
13{
+
+ +
15 {
+
16 public:
+
17 std::string message;
+
18 Exception(std::string message) : message(message)
+
19 {
+
20 }
+
21 };
+
+
22
+
+ +
27 {
+
28 protected:
+ +
33
+
34 bool current_is_template;
+
35 bool current_is_template_head;
+
36 offset_t template_counter;
+
37 std::string current_template_name;
+
38 public:
+
45 offset_t current_base;
+
49 std::vector<Segment *> segment_vector;
+
53 std::map<std::string, Segment *> segment_map;
+ +
61 std::map<std::string, Location> linker_parameters;
+
65 std::string linker_script;
+
66
+
67 void InitializeLinkerManager();
+
68 void ClearLinkerManager();
+
69
+ +
71 {
+
72 InitializeLinkerManager();
+
73 }
+
74
+ +
76 {
+
77 ClearLinkerManager();
+
78 }
+
79
+
83 void SetLinkScript(std::string script_file, std::map<std::string, std::string>& options);
+
84
+
88 bool SetLinkerParameter(std::map<std::string, std::string>& options, std::string key);
+
89
+
93 bool SetLinkerParameter(std::map<std::string, std::string>& options, std::string key, std::string variable);
+
94
+ +
99
+
103 offset_t GetCurrentAddress() const;
+
104
+
108 void SetCurrentAddress(offset_t address);
+
109
+
113 void AlignCurrentAddress(offset_t align);
+
114
+
118 void SetLatestBase(offset_t address);
+
119
+ +
124
+
129 virtual void OnNewSegment(Segment * segment);
+
130
+
135 Segment * AppendSegment(std::string name);
+
136
+
140 Segment * FetchSegment(std::string name);
+
141
+
145 void AppendSection(Section * section);
+
146
+
151 void ProcessScript(Script::List * directives, Module& module);
+
152 void ProcessAction(Script::Node * action, Module& module);
+
153 void PostProcessAction(Script::Node * action, Module& module);
+
154 void ProcessCommand(Script::Node * command, Module& module);
+
155 bool CheckPredicate(Script::Node * predicate, Section * section, Module& module);
+
156 offset_t EvaluateExpression(Script::Node * expression, Module& module);
+
157 };
+
+
158
+
159 bool starts_with(std::string str, std::string start);
+
160 bool ends_with(std::string str, std::string end);
+
161
+
+ +
168 {
+
169 public:
+
170 std::optional<std::string> segment;
+
171 std::variant<std::string, offset_t> offset;
+
172
+
173 Reference(std::variant<std::string, offset_t> offset = offset_t(0))
+
174 : segment(), offset(offset)
+
175 {
+
176 }
+
177
+
178 Reference(std::string segment, std::variant<std::string, offset_t> offset = offset_t(0))
+
179 : segment(segment), offset(offset)
+
180 {
+
181 }
+
182
+
186 Location ToLocation(Module& module) const;
+
187 };
+
+
188
+
189 std::ostream& operator<<(std::ostream& out, const Reference& ref);
+
190}
+
191
+
192#endif /* LINKER_H */
+
Definition linker.h:15
+
A helper class to collect sections into segments.
Definition linker.h:27
+
virtual void OnNewSegment(Segment *segment)
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition linker.cc:162
+
void AlignCurrentAddress(offset_t align)
Aligns current address to alignment, using SetCurrentAddress.
Definition linker.cc:140
+
void SetLinkScript(std::string script_file, std::map< std::string, std::string > &options)
Sets up the linker script and linker parameters.
Definition linker.cc:44
+
offset_t GetCurrentAddress() const
Retrieves current address pointer.
Definition linker.cc:112
+
Segment * FetchSegment(std::string name)
Attempts to fetch a segment, returns null if not found.
Definition linker.cc:176
+
std::map< std::string, Location > linker_parameters
Parameters that permit customizing the linker script.
Definition linker.h:61
+
void ProcessScript(Script::List *directives, Module &module)
Executes a parsed linker script on a module and collects segments The function OnNewSegment can be de...
Definition linker.cc:195
+
void SetCurrentAddress(offset_t address)
Moves the current address pointer further, and if the current segment already contains data,...
Definition linker.cc:124
+
std::map< std::string, Segment * > segment_map
Map of segments from their names.
Definition linker.h:53
+
offset_t current_address
Holds the current address value when there is no current_segment.
Definition linker.h:32
+
Segment * current_segment
Currently processed segment.
Definition linker.h:57
+
Segment * AppendSegment(std::string name)
Terminates the current segment (if there is one), creates a new segment and attaches it to the image.
Definition linker.cc:167
+
void FinishCurrentSegment()
Closes the current segment, sets current_segment to null.
Definition linker.cc:152
+
Script::List * GetScript(Linker::Module &module)
Compiles the linker script into an internal format.
Definition linker.cc:96
+
std::vector< Segment * > segment_vector
Ordered sequence of segments.
Definition linker.h:49
+
bool SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)
Sets a single linker parameter, if inside options.
Definition linker.cc:67
+
void SetLatestBase(offset_t address)
Sets the base of the current section (the value from which offsets are counted from)
Definition linker.cc:145
+
offset_t current_base
The base address of the current section.
Definition linker.h:45
+
std::string linker_script
Contents of the linker script.
Definition linker.h:65
+
void AppendSection(Section *section)
Adds a new section to the current segment, sets the base to the same as the segment.
Definition linker.cc:189
+
Represents a single offset within a section, or an absolute location in memory if the section is null...
Definition location.h:16
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
Represents a reference stored in a linker script.
Definition linker.h:168
+
Location ToLocation(Module &module) const
Converts to location, resolving the symbol if it is a symbol.
Definition linker.cc:513
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
Definition script.h:61
+
Definition script.h:89
+
+ + + + diff --git a/html/location_8h_source.html b/html/location_8h_source.html new file mode 100644 index 00000000..6a584308 --- /dev/null +++ b/html/location_8h_source.html @@ -0,0 +1,152 @@ + + + + + + + +RetroLinker: src/linker/location.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
location.h
+
+
+
1#ifndef LOCATION_H
+
2#define LOCATION_H
+
3
+
4#include <iostream>
+
5#include "../common.h"
+
6#include "position.h"
+
7
+
8namespace Linker
+
9{
+
10 class Section;
+
11
+
+ +
16 {
+
17 public:
+ +
25 offset_t offset;
+
26
+
+
30 Location(Section * section, offset_t offset = 0)
+ +
32 {
+
33 }
+
+
34
+
+
38 Location(offset_t offset = 0)
+
39 : section(nullptr), offset(offset)
+
40 {
+
41 }
+
+
42
+
50 bool Displace(const Displacement& displacement);
+
51
+
60 Position GetPosition(bool segment_of = false) const;
+
61
+
62 bool operator==(const Location& other) const;
+
63
+
64 Location& operator+=(offset_t value);
+
65
+
66 Location& operator-=(offset_t value);
+
67 };
+
+
68
+
69 Location operator+(Location a, offset_t b);
+
70 Location operator-(Location a, offset_t b);
+
71 std::ostream& operator<<(std::ostream& out, const Location& location);
+
72}
+
73
+
74#endif /* LOCATION_H */
+
Represents a single offset within a section, or an absolute location in memory if the section is null...
Definition location.h:16
+
Location(Section *section, offset_t offset=0)
Creates a location within a section.
Definition location.h:30
+
offset_t offset
The offset of the symbol within a section, or the absolute address.
Definition location.h:25
+
Location(offset_t offset=0)
Creates an absolute location.
Definition location.h:38
+
Position GetPosition(bool segment_of=false) const
Calculates the address.
Definition location.cc:22
+
Section * section
The section the symbol is located in, or null for an absolute location.
Definition location.h:21
+
bool Displace(const Displacement &displacement)
Recalculates location after a section has moved.
Definition location.cc:8
+
Stores an absolute address along with the containing segment or address space.
Definition position.h:17
+
A section of data as read from an object file.
Definition section.h:52
+
+ + + + diff --git a/html/macho_8h_source.html b/html/macho_8h_source.html new file mode 100644 index 00000000..638c75a0 --- /dev/null +++ b/html/macho_8h_source.html @@ -0,0 +1,124 @@ + + + + + + + +RetroLinker: src/format/macho.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
macho.h
+
+
+
1#ifndef MACHO_H
+
2#define MACHO_H
+
3
+
4#include <sstream>
+
5#include <vector>
+
6#include "../common.h"
+
7#include "../linker/linker.h"
+
8#include "../linker/module.h"
+
9#include "../linker/reader.h"
+
10
+
11namespace MachO
+
12{
+
+ +
19 {
+
20 public:
+
21 void ReadFile(Linker::Reader& rd) override;
+
22 void WriteFile(Linker::Writer& wr) override;
+
23 /* TODO */
+
24 };
+
+
25}
+
26
+
27#endif /* MACHO_H */
+
A helper class to collect sections into segments.
Definition linker.h:27
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Mach/NeXTSTEP/Mac OS X (macOS) file format.
Definition macho.h:19
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition macho.cc:6
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macho.cc:11
+
+ + + + diff --git a/html/macos_8h_source.html b/html/macos_8h_source.html new file mode 100644 index 00000000..f1480a5d --- /dev/null +++ b/html/macos_8h_source.html @@ -0,0 +1,1037 @@ + + + + + + + +RetroLinker: src/format/macos.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
RetroLinker +
+
Linker for several 8-bit, 16-bit and 32-bit formats
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
macos.h
+
+
+
1#ifndef MACOS_H
+
2#define MACOS_H
+
3
+
4#include <filesystem>
+
5#include <optional>
+
6#include <set>
+
7#include <vector>
+
8#include "../linker/linker.h"
+
9#include "../linker/module.h"
+
10#include "../linker/segment.h"
+
11#include "../linker/writer.h"
+
12
+
13/* Classic 68000 Mac OS file formats */
+
14
+
15namespace Apple
+
16{
+
17 typedef char OSType[4];
+
18
+
19 /* TODO: rework with Linker::Format */
+
20
+
+ +
33 {
+
34 public:
+
35 void ReadFile(Linker::Reader& rd) override;
+
36
+
37 bool FormatSupportsResources() const override;
+
38
+
39 enum format_type
+
40 {
+
41 SINGLE,
+
42 DOUBLE,
+
43 } type;
+
44 unsigned version;
+
45 /* Only relevant for version 1 */
+
46 enum hfs_type
+
47 {
+
48 HFS_UNDEFINED,
+
49 HFS_Macintosh,
+
50 HFS_ProDOS,
+
51 HFS_MSDOS,
+
52 HFS_UNIX,
+
53 HFS_VAX_VMS,
+
54 } home_file_system;
+
55
+
+
56 class Entry : public virtual Linker::Format
+
57 {
+
58 public:
+
59 const uint32_t id;
+
60 protected:
+
61 Entry(uint32_t id)
+
62 : id(id)
+
63 {
+
64 }
+
65 public:
+
66 virtual offset_t GetLength();
+
67 void ReadFile(Linker::Reader& rd) override;
+
68 void WriteFile(Linker::Writer& out) override;
+
69
+
70 virtual void ProcessModule(Linker::Module& module);
+
71 virtual void CalculateValues();
+
72 };
+
+
73
+
74 private:
+
75 static const char TXT_undefined[16];
+
76 static const char TXT_Macintosh[16];
+
77 static const char TXT_ProDOS[16];
+
78 static const char TXT_MS_DOS[16];
+
79 static const char TXT_UNIX[16];
+
80 static const char TXT_VAX_VMS[16];
+
81
+
82 public:
+
83 std::vector<Entry *> entries;
+
84
+
85 enum
+
86 {
+
87 ID_DataFork = 1,
+
88 ID_ResourceFork,
+
89 ID_RealName,
+
90 ID_Comment,
+
91 ID_IconBW,
+
92 ID_IconColor,
+
93 ID_FileInfo, /* v1 only */
+
94 ID_FileDatesInfo, /* v2 only */
+
95 ID_FinderInfo,
+
96 ID_MacintoshFileInfo, /* v2 only */
+
97 ID_ProDOSFileInfo, /* v2 only */
+
98 ID_MSDOSFileInfo, /* v2 only */
+
99 ID_AFPShortName, /* v2 only */
+
100 ID_AFPFileInfo, /* v2 only */
+
101 ID_AFPDirectoryID, /* v2 only */
+
102 };
+
103
+
104 AppleSingleDouble(format_type type, unsigned version, hfs_type home_file_system)
+
105 : type(type), version(version), home_file_system(version == 1 ? home_file_system : HFS_UNDEFINED)
+
106 {
+
107 assert(type == SINGLE || type == DOUBLE);
+
108 }
+
109
+
110 AppleSingleDouble(format_type type, hfs_type home_file_system)
+
111 : type(type), version(1), home_file_system(home_file_system)
+
112 {
+
113 assert(type == SINGLE || type == DOUBLE);
+
114 }
+
115
+
116 AppleSingleDouble(format_type type, unsigned version = 2)
+
117 : type(type), version(version), home_file_system(HFS_UNDEFINED)
+
118 {
+
119 assert(type == SINGLE || type == DOUBLE);
+
120 }
+
121
+
122 /* TODO: a destructor might remove the entries of the other object as well */
+
123 explicit AppleSingleDouble(AppleSingleDouble& other, format_type type)
+
124 : type(type), version(other.version), home_file_system(other.home_file_system)
+
125 {
+
126 if(type == SINGLE && other.type == DOUBLE)
+
127 {
+
128 GetDataFork();
+
129 }
+
130 for(auto entry : other.entries)
+
131 {
+
132 if(type == DOUBLE && entry->id == ID_DataFork)
+
133 continue;
+
134 entries.push_back(entry);
+
135 }
+
136 }
+
137
+
138 explicit AppleSingleDouble(AppleSingleDouble& other)
+
139 : type(other.type), version(other.version), home_file_system(other.home_file_system)
+
140 {
+
141 for(auto entry : other.entries)
+
142 {
+
143 entries.push_back(entry);
+
144 }
+
145 }
+
146
+
147 void SetOptions(std::map<std::string, std::string>& options) override;
+
148 void SetModel(std::string model) override;
+
149 void SetLinkScript(std::string script_file, std::map<std::string, std::string>& options) override;
+
150
+
151 Entry * FindEntry(uint32_t id);
+
152
+
153 protected:
+
154 Entry * GetFileDatesInfo();
+
155 Entry * GetMacintoshFileInfo();
+
156 Entry * GetAUXFileInfo();
+
157 Entry * GetProDOSFileInfo();
+
158 Entry * GetMSDOSFileInfo();
+
159
+
160 Entry * GetDataFork();
+
161 Entry * GetResourceFork();
+
162 Entry * GetFinderInfo();
+
163
+
164 public:
+
165 void SetCreationDate(uint32_t CreationDate);
+
166 void SetModificationDate(uint32_t ModificationDate);
+
167 void SetBackupDate(uint32_t BackupDate);
+
168 void SetAccessDate(uint32_t AccessDate);
+
169 void SetMacintoshAttributes(uint32_t Attributes);
+
170 void SetProDOSAccess(uint16_t Access);
+
171 void SetProDOSFileType(uint16_t FileType);
+
172 void SetProDOSAUXType(uint32_t AUXType);
+
173 void SetMSDOSAttributes(uint16_t Attributes);
+
174
+
175 uint32_t GetCreationDate();
+
176 uint32_t GetModificationDate();
+
177 uint32_t GetMacintoshAttributes();
+
178
+
179 void ProcessModule(Linker::Module& module) override;
+
180 void CalculateValues() override;
+
181 void WriteFile(Linker::Writer& wr) override;
+
182
+
183 std::string PrefixFilename(std::string prefix, std::string filename);
+
184 std::string PrefixFilename(std::string prefix, std::string filename, size_t limit);
+
185 std::string ReplaceExtension(std::string filename, std::string extension, size_t limit);
+
186
+
187 std::string GetUNIXDoubleFilename(std::string filename);
+
188 std::string GetMacOSXDoubleFilename(std::string filename);
+
189 std::string GetProDOSDoubleFilename(std::string filename);
+
190 std::string GetMSDOSDoubleFilename(std::string filename);
+
191
+
192 void GenerateFile(std::string filename, Linker::Module& module) override;
+
193
+
194 std::string GetDefaultExtension(Linker::Module& module) override;
+
195 };
+
+
196
+
+ +
198 {
+
199 public:
+
200 DataFork()
+
201 : Entry(AppleSingleDouble::ID_DataFork)
+
202 {
+
203 }
+
204 /* TODO - this is a stub */
+
205 };
+
+
206
+
+ +
216 {
+
217 public:
+
+
218 bool FormatSupportsResources() const override
+
219 {
+
220 return true;
+
221 }
+
+
222
+
223 using LinkerManager::SetLinkScript;
+
224
+
225 enum memory_model_t
+
226 {
+
227 MODEL_DEFAULT,
+
228 MODEL_TINY,
+
229 } memory_model;
+
230
+
231
+
232 void SetOptions(std::map<std::string, std::string>& options) override;
+
233
+
234 void SetModel(std::string model) override;
+
235
+
+ +
237 {
+
238 public:
+
239 void ReadFile(Linker::Reader& rd) override;
+
240 void WriteFile(Linker::Writer& wr) override;
+
241
+
242 protected:
+
243 Resource(const char type[4], uint16_t id, uint8_t attributes = 0)
+
244 : id(id), attributes(attributes), name_offset(0), data_offset(0)
+
245 {
+
246 memcpy(this->type, type, 4);
+
247 }
+
248
+
249 Resource(const char type[4], uint16_t id, std::string name, uint8_t attributes = 0)
+
250 : id(id), name(name), attributes(attributes), name_offset(0), data_offset(0)
+
251 {
+
252 memcpy(this->type, type, 4);
+
253 }
+
254
+
255 public:
+
256 char type[4];
+
257 uint16_t id;
+
258
+
259 std::optional<std::string> name;
+
260 uint8_t attributes;
+
261
+
262 /* calculated later */
+
263 uint16_t name_offset;
+
264 uint32_t data_offset;
+
265
+
266 virtual offset_t GetLength() = 0;
+
267 };
+
+
268
+
+ +
270 {
+
271 public:
+
272 GenericResource(const char type[4], uint16_t id)
+
273 : Resource(type, id)
+
274 {
+
275 }
+
276
+
277 Linker::Segment * resource;
+
278
+
279 void ProcessModule(Linker::Module& module) override;
+
280
+
281 void CalculateValues() override;
+
282
+
283 offset_t GetLength() override;
+
284
+
285 void WriteFile(Linker::Writer& wr) override;
+
286 };
+
+
287
+
+ +
289 {
+
290 public:
+ +
292 : Resource("CODE", 0), above_a5(0), below_a5(0)
+
293 {
+
294 }
+
295
+
+
296 struct Entry
+
297 {
+
298 uint16_t segment;
+
299 uint32_t offset;
+
300 };
+
+
301
+
302 uint32_t above_a5;
+
303 uint32_t below_a5;
+
304 std::vector<Entry> near_entries;
+
305 std::vector<Entry> far_entries;
+
306
+
307 void ProcessModule(Linker::Module& module) override;
+
308
+
309 void CalculateValues() override;
+
310
+
311 offset_t GetLength() override;
+
312
+
313 enum
+
314 {
+
315 MOVE_DATA_SP = 0x3F3C,
+
316 LOADSEG = 0xA9F0,
+
317 };
+
318
+
319 void WriteFile(Linker::Writer& wr) override;
+
320 };
+
+
321
+
+
322 class CodeResource : public Resource
+
323 {
+
324 public:
+
325 JumpTableCodeResource * jump_table;
+
326 Linker::Segment * image;
+
327
+
328 CodeResource(uint16_t id, JumpTableCodeResource * jump_table)
+
329 : Resource("CODE", id), jump_table(jump_table)/*, image("code")*/, is_far(false), a5_address(0), base_address(0)
+
330 {
+
331 }
+
332
+
333 bool is_far; /* TODO: test far segments thoroughly */
+
334 uint32_t a5_address; /* TODO: meaning */
+
335 uint32_t base_address; /* TODO: meaning */
+
336
+
337// std::vector<JumpTableCodeResource::Entry> near_entries;
+
338// std::vector<JumpTableCodeResource::Entry> far_entries;
+
339 std::set<uint16_t> near_entries;
+
340 std::set<uint32_t> far_entries;
+
341 std::set<uint32_t> a5_relocations;
+
342 std::set<uint32_t> segment_relocations;
+
343
+
344 /* filled in after calculation */
+
345 uint32_t first_near_entry_offset;
+
346 uint32_t first_far_entry_offset;
+
347 uint32_t a5_relocation_offset;
+
348 uint32_t segment_relocation_offset;
+
349 uint32_t resource_size;
+
350
+
351 void ProcessModule(Linker::Module& module) override;
+
352
+
353 void CalculateValues() override;
+
354
+
355 offset_t GetLength() override;
+
356
+
357 uint32_t MeasureRelocations(std::set<uint32_t>& relocations);
+
358
+
359 void WriteRelocations(Linker::Writer& wr, std::set<uint32_t>& relocations);
+
360
+
361 void WriteFile(Linker::Writer& wr) override;
+
362 };
+
+
363
+ +
365 : Entry(AppleSingleDouble::ID_ResourceFork), attributes(0), data_offset(0)/*,
+
366 a5world(".bss")*/
+
367 {
+
368 }
+
369
+ +
371 {
+
372 }
+
373
+
374 uint16_t attributes; /* TODO: parametrize */
+
375 std::map<uint32_t, std::map<uint16_t, Resource *> > resources;
+
376
+
377 /* these will be calculated */
+
378 uint32_t data_offset, data_length, map_offset, map_length;
+
379 uint16_t name_list_offset;
+
380 std::map<uint32_t, uint16_t> reference_list_offsets;
+
381
+
382 /* filled in during generation */
+
383 JumpTableCodeResource * jump_table;
+
384 std::vector<CodeResource *> codes;
+
385 std::map<Linker::Segment *, CodeResource *> segments;
+
386 Linker::Segment * a5world;
+
387
+
388 void AddResource(Resource * resource);
+
389
+
390 void OnNewSegment(Linker::Segment * segment) override;
+
391
+
392 Script::List * GetScript(Linker::Module& module);
+
393
+
394 void Link(Linker::Module& module);
+
395
+
396 void ProcessModule(Linker::Module& module) override;
+
397
+
398 void CalculateValues() override;
+
399
+
400 offset_t GetLength() override;
+
401
+
402 void WriteFile(Linker::Writer& wr) override;
+
403
+
404 void GenerateFile(std::string filename, Linker::Module& module) override;
+
405
+
406 std::string GetDefaultExtension(Linker::Module& module) override;
+
407 };
+
+
408
+
+ +
410 {
+
411 public:
+
412 std::string name;
+
413
+
414 RealName(std::string name)
+
415 : Entry(AppleSingleDouble::ID_RealName), name(name)
+
416 {
+
417 }
+
418
+
419 offset_t GetLength() override;
+
420
+
421 void WriteFile(Linker::Writer& wr) override;
+
422 };
+
+
423
+
+ +
425 {
+
426 public:
+
427 Comment()
+
428 : Entry(AppleSingleDouble::ID_Comment)
+
429 {
+
430 }
+
431 /* TODO - this is a stub */
+
432 };
+
+
433
+
+ +
435 {
+
436 public:
+
437 IconBW()
+
438 : Entry(AppleSingleDouble::ID_IconBW)
+
439 {
+
440 }
+
441 /* TODO - this is a stub */
+
442 };
+
+
443
+
+ +
445 {
+
446 public:
+
447 IconColor()
+
448 : Entry(AppleSingleDouble::ID_IconColor)
+
449 {
+
450 }
+
451 /* TODO - this is a stub */
+
452 };
+
+
453
+
454 /* Version 1 only */
+
+ +
456 {
+
457 protected:
+
458 FileInfo()
+
459 : Entry(AppleSingleDouble::ID_FileInfo)
+
460 {
+
461 }
+
462
+
463 public:
+
464 class Macintosh;
+
465 class ProDOS;
+
466 class MSDOS;
+
467 class AUX;
+
468 };
+
+
469
+
+ +
471 {
+
472 public:
+
473 uint32_t CreationDate;
+
474 uint32_t ModificationDate;
+
475 uint32_t LastBackupDate;
+
476 uint32_t Attributes;
+
477
+
478 Macintosh(uint32_t CreationDate = 0,
+
479 uint32_t ModificationDate = 0,
+
480 uint32_t LastBackupDate = 0,
+
481 uint32_t Attributes = 0)
+
482 : CreationDate(CreationDate), ModificationDate(ModificationDate), LastBackupDate(LastBackupDate), Attributes(Attributes)
+
483 {
+
484 }
+
485
+
486 offset_t GetLength() override;
+
487
+
488 void WriteFile(Linker::Writer& wr) override;
+
489 };
+
+
490
+
+ +
492 {
+
493 public:
+
494 uint32_t CreationDate;
+
495 uint32_t ModificationDate;
+
496 uint16_t Access;
+
497 uint16_t FileType;
+
498 uint32_t AUXType;
+
499
+
500 ProDOS(uint32_t CreationDate = 0,
+
501 uint32_t ModificationDate = 0,
+
502 uint16_t Access = 0,
+
503 uint16_t FileType = 0,
+
504 uint32_t AUXType = 0)
+
505 : CreationDate(CreationDate), ModificationDate(ModificationDate), Access(Access), FileType(FileType), AUXType(AUXType)
+
506 {
+
507 }
+
508
+
509 offset_t GetLength() override;
+
510
+
511 void WriteFile(Linker::Writer& wr) override;
+
512 };
+
+
513
+
+ +
515 {
+
516 public:
+
517 uint32_t ModificationDate;
+
518 uint16_t Attributes;
+
519
+
520 MSDOS(uint32_t ModificationDate = 0,
+
521 uint16_t Attributes = 0)
+
522 : ModificationDate(ModificationDate), Attributes(Attributes)
+
523 {
+
524 }
+
525
+
526 offset_t GetLength() override;
+
527
+
528 void WriteFile(Linker::Writer& wr) override;
+
529 };
+
+
530
+
+
531 class FileInfo::AUX : public FileInfo
+
532 {
+
533 public:
+
534 uint32_t CreationDate;
+
535 uint32_t AccessDate;
+
536 uint32_t ModificationDate;
+
537
+
538 AUX(uint32_t CreationDate = 0,
+
539 uint32_t AccessDate = 0,
+
540 uint32_t ModificationDate = 0)
+
541 : CreationDate(CreationDate), AccessDate(AccessDate), ModificationDate(ModificationDate)
+
542 {
+
543 }
+
544
+
545 offset_t GetLength() override;
+
546
+
547 void WriteFile(Linker::Writer& wr) override;
+
548 };
+
+
549
+
550 /* Version 2 only */
+
+ +
552 {
+
553 public:
+
554 uint32_t CreationDate;
+
555 uint32_t ModificationDate;
+
556 uint32_t BackupDate;
+
557 uint32_t AccessDate;
+
558
+ +
560 uint32_t CreationDate = 0,
+
561 uint32_t ModificationDate = 0,
+
562 uint32_t BackupDate = 0,
+
563 uint32_t AccessDate = 0)
+
564 : Entry(AppleSingleDouble::ID_FileDatesInfo),
+
565 CreationDate(CreationDate), ModificationDate(ModificationDate), BackupDate(BackupDate), AccessDate(AccessDate)
+
566 {
+
567 }
+
568
+
569 offset_t GetLength() override;
+
570
+
571 void WriteFile(Linker::Writer& wr) override;
+
572 };
+
+
573
+
+ +
575 {
+
576 public:
+
+
577 struct Point
+
578 {
+
579 uint16_t x, y;
+
580 };
+
+
581
+
582 char Type[4];
+
583 char Creator[4];
+
584 uint16_t Flags;
+
585 Point Location;
+
586
+
587 FinderInfo()
+
588 : Entry(AppleSingleDouble::ID_FinderInfo), Flags(0), Location({0,0})
+
589 {
+
590 memcpy(Type, "????", 4);
+
591 memcpy(Creator, "????", 4);
+
592 }
+
593
+
594 offset_t GetLength() override;
+
595
+
596 void WriteFile(Linker::Writer& wr) override;
+
597
+
598 void ProcessModule(Linker::Module& module) override;
+
599 };
+
+
600
+
601 /* Version 2 only */
+
+ +
603 {
+
604 public:
+
605 uint32_t Attributes;
+
606 MacintoshFileInfo(uint32_t Attributes = 0)
+
607 : Entry(AppleSingleDouble::ID_MacintoshFileInfo), Attributes(Attributes)
+
608 {
+
609 }
+
610
+
611 offset_t GetLength() override;
+
612
+
613 void WriteFile(Linker::Writer& wr) override;
+
614 };
+
+
615
+
616 /* Version 2 only */
+
+ +
618 {
+
619 public:
+
620 uint16_t Access;
+
621 uint16_t FileType;
+
622 uint32_t AUXType;
+
623
+
624 ProDOSFileInfo(uint16_t Access = 0,
+
625 uint16_t FileType = 0,
+
626 uint32_t AUXType = 0)
+
627 : Entry(AppleSingleDouble::ID_ProDOSFileInfo), Access(Access), FileType(FileType), AUXType(AUXType)
+
628 {
+
629 }
+
630
+
631 offset_t GetLength() override;
+
632
+
633 void WriteFile(Linker::Writer& wr) override;
+
634 };
+
+
635
+
636 /* Version 2 only */
+
+ +
638 {
+
639 public:
+
640 uint16_t Attributes;
+
641
+
642 MSDOSFileInfo(uint16_t Attributes = 0)
+
643 : Entry(AppleSingleDouble::ID_MSDOSFileInfo), Attributes(Attributes)
+
644 {
+
645 }
+
646
+
647 offset_t GetLength() override;
+
648
+
649 void WriteFile(Linker::Writer& wr) override;
+
650 };
+
+
651
+
652 /* Version 2 only */
+
+ +
654 {
+
655 public:
+ +
657 : Entry(AppleSingleDouble::ID_AFPShortName)
+
658 {
+
659 }
+
660 /* TODO - this is a stub */
+
661 };
+
+
662
+
663 /* Version 2 only */
+
+ +
665 {
+
666 public:
+ +
668 : Entry(AppleSingleDouble::ID_AFPFileInfo)
+
669 {
+
670 }
+
671 /* TODO - this is a stub */
+
672 };
+
+
673
+
674 /* Version 2 only */
+
+ +
676 {
+
677 public:
+ +
679 : Entry(AppleSingleDouble::ID_AFPDirectoryID)
+
680 {
+
681 }
+
682 /* TODO - this is a stub */
+
683 };
+
+
684
+
+ +
689 {
+
690 public:
+
691 enum version_t
+
692 {
+
693 /* assigning values to the first two does not matter, because we don't generate the fields that hold them */
+
694 MACBIN1,
+
695 MACBIN1_GETINFO, /* extension */
+
696 MACBIN2 = 0x11,
+
697 MACBIN3 = 0x12,
+
698 } version, minimum_version;
+
699
+
700 uint16_t secondary_header_size; /* TODO */
+
701 uint16_t crc;
+
702
+
703 std::string generated_file_name;
+
704
+
705 MacBinary(version_t version = MACBIN3)
+
706 : AppleSingleDouble(AppleSingleDouble::DOUBLE), version(version), minimum_version(version <= MACBIN2 ? version : MACBIN2), secondary_header_size(0)
+
707 {
+
708 }
+
709
+
710 MacBinary(version_t version, version_t minimum_version)
+
711 : AppleSingleDouble(AppleSingleDouble::DOUBLE), version(version), minimum_version(version < minimum_version ? version : minimum_version), secondary_header_size(0)
+
712 {
+
713 }
+
714
+
715 explicit MacBinary(AppleSingleDouble& apple, version_t version, version_t minimum_version)
+
716 : AppleSingleDouble(apple, AppleSingleDouble::DOUBLE), version(version), minimum_version(version < minimum_version ? version : minimum_version), secondary_header_size(0)
+
717 {
+
718 }
+
719
+
720 /* CRC16-CCITT */
+
721 static uint16_t crc_step[256];
+
722
+
723 void CRC_Initialize();
+
724
+
725 void CRC_Step(uint8_t byte = 0);
+
726
+
727 void Skip(Linker::Writer& wr, size_t count);
+
728
+
729 void WriteData(Linker::Writer& wr, size_t count, const void * data);
+
730
+
731 void WriteData(Linker::Writer& wr, size_t count, std::string text);
+
732
+
733 void WriteWord(Linker::Writer& wr, size_t bytes, uint64_t value);
+
734
+
735 void WriteHeader(Linker::Writer& wr);
+
736
+
737 void WriteFile(Linker::Writer& wr) override;
+
738
+
739 void GenerateFile(std::string filename, Linker::Module& module) override;
+
740 };
+
+
741
+
+ +
750 {
+
751 public:
+
752 /* format of "filename" */
+
753 enum target_format_t
+
754 {
+
755 TARGET_NONE, /* do not generate main file */
+
756 TARGET_DATA_FORK, /* main file is a data fork, typically empty */
+
757 TARGET_RESOURCE_FORK, /* main file is a resource fork */
+
758 TARGET_APPLE_SINGLE, /* main file is an AppleSingle */
+
759 } target;
+
760
+
761 /* other files to produce */
+
762 enum produce_format_t
+
763 {
+
764 PRODUCE_RESOURCE_FORK = 1 << 0, /* under .rsrc */
+
765 PRODUCE_FINDER_INFO = 1 << 1, /* under .finf */
+
766 PRODUCE_APPLE_DOUBLE = 1 << 2, /* with % prefix */
+
767 PRODUCE_MAC_BINARY = 1 << 3, /* with .mbin extension */
+
768 } produce;
+
769
+
770 /* Typical combinations:
+
771 * - Executor: Generate a data fork and an AppleDouble with % prefix
+
772 * - Basilisk: Generate a data fork, a resource fork (under .rsrc) and a Finder Info file (under .finf)
+
773 * - Generate a MacBinary with .mbin extension
+
774 * - Generate an AppleSingle
+
775 */
+
776
+
777 unsigned apple_single_double_version;
+
778 /* Only relevant for version 1 */
+
779 AppleSingleDouble::hfs_type home_file_system;
+
780
+
781 MacBinary::version_t macbinary_version, macbinary_minimum_version;
+
782
+
783 MacDriver(target_format_t target = TARGET_DATA_FORK)
+
784 : target(target),
+
785 produce(target == TARGET_NONE ? PRODUCE_MAC_BINARY
+
786 : target == TARGET_DATA_FORK ? PRODUCE_APPLE_DOUBLE
+
787 : produce_format_t(0)),
+
788 apple_single_double_version(2),
+
789 home_file_system(AppleSingleDouble::HFS_UNDEFINED),
+
790 macbinary_version(MacBinary::MACBIN3),
+
791 macbinary_minimum_version(MacBinary::MACBIN2)
+
792 {
+
793 }
+
794
+
795 MacDriver(target_format_t target, int produce)
+
796 : target(target), produce((produce_format_t)produce),
+
797 apple_single_double_version(2),
+
798 home_file_system(AppleSingleDouble::HFS_UNDEFINED),
+
799 macbinary_version(MacBinary::MACBIN3),
+
800 macbinary_minimum_version(MacBinary::MACBIN2)
+
801 {
+
802 }
+
803
+
804 bool FormatSupportsResources() const override;
+
805
+
806 bool AddSupplementaryOutputFormat(std::string subformat) override;
+
807
+
808 private:
+
809 AppleSingleDouble * container;
+
810
+
811 public:
+
812 void SetOptions(std::map<std::string, std::string>& options) override;
+
813
+
814 void SetModel(std::string model) override;
+
815
+
816 void SetLinkScript(std::string script_file, std::map<std::string, std::string>& options) override;
+
817
+
818 void GenerateFile(std::string filename, Linker::Module& module) override;
+
819
+
820 void ReadFile(Linker::Reader& rd) override;
+
821
+
822 void WriteFile(Linker::Writer& wr) override;
+
823 };
+
+
824}
+
825
+
826#endif /* MACOS_H */
+
Definition macos.h:676
+
Definition macos.h:665
+
Definition macos.h:654
+
Definition macos.h:57
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition macos.cc:18
+
void WriteFile(Linker::Writer &out) override
Stores data in memory to file.
Definition macos.cc:28
+
AppleSingle & AppleDouble.
Definition macos.h:33
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition macos.cc:48
+
bool FormatSupportsResources() const override
Whether the format supports resources.
Definition macos.cc:13
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition macos.cc:8
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition macos.cc:526
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition macos.cc:660
+
std::string GetDefaultExtension(Linker::Module &module) override
Provides a default filename for the output file.
Definition macos.cc:696
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:560
+
void SetModel(std::string model) override
Sets the way memory is organized, typically modifying a built-in script.
Definition macos.cc:55
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition macos.cc:552
+
void SetLinkScript(std::string script_file, std::map< std::string, std::string > &options) override
Selects a script file to use for linking.
Definition macos.cc:60
+
Definition macos.h:425
+
Definition macos.h:198
+
Definition macos.h:552
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1302
+
Definition macos.h:532
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1289
+
Definition macos.h:515
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1277
+
Definition macos.h:471
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1248
+
Definition macos.h:492
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1262
+
Definition macos.h:456
+
Definition macos.h:575
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1316
+
Definition macos.h:435
+
Definition macos.h:445
+
Definition macos.h:638
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1363
+
MacBinary is an alternative format to AppleSingle for representing a Macintosh file on a non-Macintos...
Definition macos.h:689
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition macos.cc:1549
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1524
+
This is not actually a file format, but an interface to permit generating multiple binary outputs for...
Definition macos.h:750
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition macos.cc:1729
+
bool FormatSupportsResources() const override
Whether the format supports resources.
Definition macos.cc:1557
+
void SetLinkScript(std::string script_file, std::map< std::string, std::string > &options) override
Selects a script file to use for linking.
Definition macos.cc:1603
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1735
+
bool AddSupplementaryOutputFormat(std::string subformat) override
If the output format actually drives multiple output formats (resource file, apple double,...
Definition macos.cc:1562
+
void SetModel(std::string model) override
Sets the way memory is organized, typically modifying a built-in script.
Definition macos.cc:1598
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition macos.cc:1608
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition macos.cc:1593
+
Definition macos.h:603
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1339
+
Definition macos.h:618
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1350
+
Definition macos.h:410
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1237
+
Definition macos.h:323
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition macos.cc:811
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition macos.cc:815
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:887
+ +
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition macos.cc:737
+
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition macos.cc:733
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:746
+ +
void ProcessModule(Linker::Module &module) override
Processes the module object and initializes format fields.
Definition macos.cc:751
+
void CalculateValues() override
Intermediate step between processing module and generating output file to set up headers and manageme...
Definition macos.cc:755
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:779
+
Definition macos.h:237
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:728
+
void ReadFile(Linker::Reader &rd) override
Loads file into memory.
Definition macos.cc:723
+
A Macintosh resource fork.
Definition macos.h:216
+
void WriteFile(Linker::Writer &wr) override
Stores data in memory to file.
Definition macos.cc:1160
+
void GenerateFile(std::string filename, Linker::Module &module) override
The main function that handles processing, calculating and generating the final image.
Definition macos.cc:1217
+
void SetModel(std::string model) override
Sets the way memory is organized, typically modifying a built-in script.
Definition macos.cc:706
+
void SetOptions(std::map< std::string, std::string > &options) override
Passes command line parameters as settings over to format object.
Definition macos.cc:701
+
bool FormatSupportsResources() const override
Whether the format supports resources.
Definition macos.h:218
+
std::string GetDefaultExtension(Linker::Module &module) override
Provides a default filename for the output file.
Definition macos.cc:1227
+
void OnNewSegment(Linker::Segment *segment) override
Callback function when allocating a new segment When the linker script runs, it creates segments cons...
Definition macos.cc:924
+
A class to encode a general file format.
Definition format.h:24
+
A helper class to collect sections into segments.
Definition linker.h:27
+
Encodes an object module file as a collection of sections, symbols and relocations.
Definition module.h:19
+
A class that provides a general interface to setting up generation for a format.
Definition format.h:60
+
A helper class, encapsulating functionality needed to import binary data.
Definition reader.h:15
+
A class representing a sequence of sections that must be written to the output file as a group.
Definition segment.h:25
+
A helper class, encapsulating functionality needed to export binary data.
Definition writer.h:15
+
Definition script.h:61
+
Definition macos.h:578
+ +
+ + + + diff --git a/html/menu.js b/html/menu.js new file mode 100644 index 00000000..717761d0 --- /dev/null +++ b/html/menu.js @@ -0,0 +1,134 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + let result=''; + if ('children' in data) { + result+='
    '; + for (let i in data.children) { + let url; + const link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
  • '+ + data.children[i].text+''+ + makeTree(data.children[i],relPath)+'
  • '; + } + result+='
'; + } + return result; + } + let searchBoxHtml; + if (searchEnabled) { + if (serverSide) { + searchBoxHtml='
'+ + '
'+ + '
 '+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBoxHtml='
'+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + const $mainMenuState = $('#main-menu-state'); + let prevWidth = 0; + if ($mainMenuState.length) { + const initResizableIfExists = function() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function() { + const $menu = $('#main-menu'); + let options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = () => $menu.css('display', 'block'); + $menu.hide().slideDown(options); + } else { + options['complete'] = () => $menu.css('display', 'none'); + $menu.show().slideUp(options); + } + }); + // set default menu visibility + const resetState = function() { + const $menu = $('#main-menu'); + const newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } + } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/html/menudata.js b/html/menudata.js new file mode 100644 index 00000000..5fd959e2 --- /dev/null +++ b/html/menudata.js @@ -0,0 +1,114 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"hierarchy.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, +{text:"h",url:"functions_h.html#index_h"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"v",url:"functions_v.html#index_v"}, +{text:"w",url:"functions_w.html#index_w"}, +{text:"y",url:"functions_y.html#index_y"}, +{text:"z",url:"functions_z.html#index_z"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func_b.html#index_b"}, +{text:"c",url:"functions_func_c.html#index_c"}, +{text:"d",url:"functions_func_d.html#index_d"}, +{text:"e",url:"functions_func_e.html#index_e"}, +{text:"f",url:"functions_func_f.html#index_f"}, +{text:"g",url:"functions_func_g.html#index_g"}, +{text:"i",url:"functions_func_i.html#index_i"}, +{text:"l",url:"functions_func_l.html#index_l"}, +{text:"o",url:"functions_func_o.html#index_o"}, +{text:"p",url:"functions_func_p.html#index_p"}, +{text:"r",url:"functions_func_r.html#index_r"}, +{text:"s",url:"functions_func_s.html#index_s"}, +{text:"t",url:"functions_func_t.html#index_t"}, +{text:"w",url:"functions_func_w.html#index_w"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"a",url:"functions_vars.html#index_a"}, +{text:"b",url:"functions_vars_b.html#index_b"}, +{text:"c",url:"functions_vars_c.html#index_c"}, +{text:"d",url:"functions_vars_d.html#index_d"}, +{text:"e",url:"functions_vars_e.html#index_e"}, +{text:"f",url:"functions_vars_f.html#index_f"}, +{text:"g",url:"functions_vars_g.html#index_g"}, +{text:"h",url:"functions_vars_h.html#index_h"}, +{text:"i",url:"functions_vars_i.html#index_i"}, +{text:"l",url:"functions_vars_l.html#index_l"}, +{text:"m",url:"functions_vars_m.html#index_m"}, +{text:"n",url:"functions_vars_n.html#index_n"}, +{text:"o",url:"functions_vars_o.html#index_o"}, +{text:"p",url:"functions_vars_p.html#index_p"}, +{text:"r",url:"functions_vars_r.html#index_r"}, +{text:"s",url:"functions_vars_s.html#index_s"}, +{text:"t",url:"functions_vars_t.html#index_t"}, +{text:"u",url:"functions_vars_u.html#index_u"}, +{text:"v",url:"functions_vars_v.html#index_v"}, +{text:"w",url:"functions_vars_w.html#index_w"}, +{text:"y",url:"functions_vars_y.html#index_y"}, +{text:"z",url:"functions_vars_z.html#index_z"}]}, +{text:"Enumerations",url:"functions_enum.html"}, +{text:"Enumerator",url:"functions_eval.html",children:[ +{text:"a",url:"functions_eval.html#index_a"}, +{text:"b",url:"functions_eval.html#index_b"}, +{text:"c",url:"functions_eval.html#index_c"}, +{text:"d",url:"functions_eval.html#index_d"}, +{text:"e",url:"functions_eval.html#index_e"}, +{text:"f",url:"functions_eval.html#index_f"}, +{text:"g",url:"functions_eval.html#index_g"}, +{text:"h",url:"functions_eval.html#index_h"}, +{text:"l",url:"functions_eval.html#index_l"}, +{text:"m",url:"functions_eval.html#index_m"}, +{text:"o",url:"functions_eval.html#index_o"}, +{text:"r",url:"functions_eval.html#index_r"}, +{text:"s",url:"functions_eval.html#index_s"}, +{text:"t",url:"functions_eval.html#index_t"}, +{text:"u",url:"functions_eval.html#index_u"}, +{text:"w",url:"functions_eval.html#index_w"}, +{text:"z",url:"functions_eval.html#index_z"}]}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}]}]} diff --git a/html/minix_8h_source.html b/html/minix_8h_source.html new file mode 100644 index 00000000..360079b0 --- /dev/null +++ b/html/minix_8h_source.html @@ -0,0 +1,194 @@ + + + + + + + +RetroLinker: src/format/minix.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    minix.h
    +
    +
    +
    1#ifndef MINIX_H
    +
    2#define MINIX_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/linker.h"
    +
    6#include "../linker/module.h"
    +
    7#include "../linker/segment.h"
    +
    8#include "../linker/writer.h"
    +
    9
    +
    10namespace MINIX
    +
    11{
    +
    + +
    18 {
    +
    19 public:
    +
    20 /* TODO: incorporate relocations and far code segment from around ELKS 0.8.0 */
    +
    21
    +
    22 void ReadFile(Linker::Reader& rd) override;
    +
    23
    +
    24 bool FormatIs16bit() const override;
    +
    25
    +
    26 enum format_type
    +
    27 {
    +
    28 FormatCombined = 0x10,
    +
    29 FormatSeparate = 0x20,
    +
    30 UnmappedZeroPage = 0x01,
    +
    31 } format;
    +
    32
    +
    33 enum cpu_type
    +
    34 {
    +
    35 /* TODO: extend for 68K? */
    +
    36 I86 = 0x04,
    +
    37 M68K = 0x0B,
    +
    38 NS16K = 0x0C,
    +
    39 I386 = 0x10,
    +
    40 SPARC = 0x17,
    +
    41 } cpu;
    +
    42
    +
    43 static ::EndianType GetEndianType(cpu_type cpu);
    +
    44
    +
    45 ::EndianType GetEndianType() const;
    +
    46
    +
    47 static constexpr size_t PAGE_SIZE = 0x1000;
    +
    48
    +
    49 MINIXFormat(format_type format, cpu_type cpu = cpu_type(0))
    +
    50 : format(format), cpu(cpu), code_base_address(0), heap_top_address(0)
    +
    51 {
    +
    52 }
    +
    53
    +
    54 uint32_t code_base_address; /* TODO: parametrize */
    +
    55 //uint32_t data_base_address; /* TODO: parametrize */
    +
    56 uint32_t heap_top_address; /* TODO: parametrize */
    +
    57
    +
    58 /* generated */
    +
    59 Linker::Segment * code, * data, * bss;
    +
    60 uint32_t entry_address;
    +
    61
    +
    62 using LinkerManager::SetLinkScript;
    +
    63
    +
    64 void SetOptions(std::map<std::string, std::string>& options) override;
    +
    65
    +
    66 void OnNewSegment(Linker::Segment * segment) override;
    +
    67
    +
    68 void CreateDefaultSegments();
    +
    69
    +
    70 Script::List * GetScript(Linker::Module& module);
    +
    71
    +
    72 void Link(Linker::Module& module);
    +
    73
    +
    74 void ProcessModule(Linker::Module& module) override;
    +
    75
    +
    76 void CalculateValues() override;
    +
    77
    +
    78 void WriteFile(Linker::Writer& wr) override;
    +
    79
    +
    80 void GenerateFile(std::string filename, Linker::Module& module) override;
    +
    81
    +
    82 std::string GetDefaultExtension(Linker::Module& module) override;
    +
    83 };
    +
    +
    84
    +
    85}
    +
    86
    +
    87#endif /* MINIX_H */
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    MINIX/ELKS a.out file format.
    Definition minix.h:18
    +
    void SetOptions(std::map< std::string, std::string > &options) override
    Passes command line parameters as settings over to format object.
    Definition minix.cc:39
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition minix.cc:6
    +
    void ProcessModule(Linker::Module &module) override
    Processes the module object and initializes format fields.
    Definition minix.cc:164
    +
    bool FormatIs16bit() const override
    Whether the format is 16-bit or not.
    Definition minix.cc:11
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition minix.cc:243
    +
    void CalculateValues() override
    Intermediate step between processing module and generating output file to set up headers and manageme...
    Definition minix.cc:226
    +
    void OnNewSegment(Linker::Segment *segment) override
    Callback function when allocating a new segment When the linker script runs, it creates segments cons...
    Definition minix.cc:44
    +
    std::string GetDefaultExtension(Linker::Module &module) override
    Provides a default filename for the output file.
    Definition minix.cc:278
    +
    void GenerateFile(std::string filename, Linker::Module &module) override
    The main function that handles processing, calculating and generating the final image.
    Definition minix.cc:261
    +
    Definition script.h:61
    +
    + + + + diff --git a/html/minus.svg b/html/minus.svg new file mode 100644 index 00000000..f70d0c1a --- /dev/null +++ b/html/minus.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/html/minusd.svg b/html/minusd.svg new file mode 100644 index 00000000..5f8e8796 --- /dev/null +++ b/html/minusd.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/html/module_8h_source.html b/html/module_8h_source.html new file mode 100644 index 00000000..76b64627 --- /dev/null +++ b/html/module_8h_source.html @@ -0,0 +1,221 @@ + + + + + + + +RetroLinker: src/linker/module.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    module.h
    +
    +
    +
    1#ifndef MODULE_H
    +
    2#define MODULE_H
    +
    3
    +
    4#include <map>
    +
    5#include <vector>
    +
    6#include <string>
    +
    7#include "../common.h"
    +
    8#include "location.h"
    +
    9#include "relocation.h"
    +
    10
    +
    11namespace Linker
    +
    12{
    +
    13 class Section;
    +
    14
    +
    +
    18 class Module
    +
    19 {
    +
    20 public:
    +
    + +
    25 {
    +
    26 NONE,
    +
    27 I80, /* also Z80 */
    +
    28 I86,
    +
    29 I386,
    +
    30 X86_64,
    +
    31 M6800,
    +
    32 M6809,
    +
    33 M68K,
    +
    34 MOS6502,
    +
    35 W65K,
    +
    36 Z8K,
    +
    37 PPC,
    +
    38 PPC64,
    +
    39 ARM,
    +
    40 ARM64,
    +
    41 PDP11,
    +
    42 MIPS,
    +
    43 SPARC,
    +
    44 SH,
    +
    45 } cpu;
    +
    +
    46
    +
    47 Module()
    +
    48 : cpu(NONE)
    +
    49 {
    +
    50 }
    +
    51 private:
    +
    52 std::vector<Section *> sections;
    +
    53 std::map<std::string, Section *> section_names;
    +
    54 std::map<std::string, Location> symbols;
    +
    55 std::map<std::string, Location> local_symbols;
    +
    56 std::map<std::string, CommonSymbol> unallocated_symbols;
    +
    57 std::vector<SymbolName> imported_symbols;
    +
    58 std::map<ExportedSymbol, Location> exported_symbols;
    +
    59 public:
    +
    63 std::vector<Relocation> relocations;
    +
    64
    +
    68 void AddLocalSymbol(std::string name, Location symbol);
    +
    69
    +
    73 void AddGlobalSymbol(std::string name, Location symbol);
    +
    74
    +
    78 void AddCommonSymbol(std::string name, CommonSymbol symbol);
    +
    79
    + +
    84
    +
    88 void AddExportedSymbol(ExportedSymbol name, Location symbol);
    +
    89
    +
    93 const std::vector<SymbolName>& GetImportedSymbols() const;
    +
    94
    +
    98 const std::map<ExportedSymbol, Location>& GetExportedSymbols() const;
    +
    99
    +
    103 bool FindLocalSymbol(std::string name, Location& location);
    +
    104
    +
    108 bool FindGlobalSymbol(std::string name, Location& location);
    +
    109
    +
    113 void AddSection(Section * section);
    +
    114
    +
    118 const std::vector<Section *>& Sections() const;
    +
    119
    +
    123 void DeleteSection(size_t index);
    +
    124
    +
    128 void RemoveSections();
    +
    129
    +
    133 Section * FindSection(std::string name);
    +
    134
    +
    138 Section * FetchSection(std::string name, unsigned default_flags);
    +
    139
    +
    143 void ResolveRelocations();
    +
    144
    +
    148 void Append(Section * dst, Section * src);
    +
    149
    +
    153 void Append(Module& other);
    +
    154
    +
    158 void AllocateSymbols(Section * section);
    +
    159
    +
    163 void AllocateSymbols();
    +
    164 };
    +
    +
    165}
    +
    166
    +
    167#endif /* MODULE_H */
    +
    Represents a currently unallocated variable that should be allocated in the final stages of the linki...
    Definition symbol.h:224
    +
    Represents a symbol to be exported from the module.
    Definition symbol.h:119
    +
    Represents a single offset within a section, or an absolute location in memory if the section is null...
    Definition location.h:16
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    void Append(Section *dst, Section *src)
    Appends two of its sections.
    Definition module.cc:130
    +
    const std::vector< SymbolName > & GetImportedSymbols() const
    Retrieves list of all imported symbols.
    Definition module.cc:34
    +
    Section * FetchSection(std::string name, unsigned default_flags)
    Searches or creates a section with a specific name, with the assigned flags.
    Definition module.cc:102
    +
    void AddExportedSymbol(ExportedSymbol name, Location symbol)
    Adds an exported symbol.
    Definition module.cc:29
    +
    void AddCommonSymbol(std::string name, CommonSymbol symbol)
    Adds a common symbol.
    Definition module.cc:16
    +
    const std::vector< Section * > & Sections() const
    Retrieves list of all sections.
    Definition module.cc:78
    +
    bool FindGlobalSymbol(std::string name, Location &location)
    Searches for a global symbol.
    Definition module.cc:53
    +
    void AddGlobalSymbol(std::string name, Location symbol)
    Adds an exported symbol.
    Definition module.cc:11
    +
    void RemoveSections()
    Removes all sections from internal list, without deleting them.
    Definition module.cc:90
    +
    Section * FindSection(std::string name)
    Searches for a section with a specific name.
    Definition module.cc:96
    +
    void AddImportedSymbol(SymbolName name)
    Adds an imported symbol.
    Definition module.cc:21
    +
    void AddLocalSymbol(std::string name, Location symbol)
    Adds an internal symbol.
    Definition module.cc:6
    +
    cpu_type
    Encodes the CPU for the target.
    Definition module.h:25
    +
    bool FindLocalSymbol(std::string name, Location &location)
    Searches for a local symbol.
    Definition module.cc:44
    +
    void ResolveRelocations()
    Attempts to resolve the targets of all relocations.
    Definition module.cc:113
    +
    void DeleteSection(size_t index)
    Deletes a specific sections.
    Definition module.cc:83
    +
    void AddSection(Section *section)
    Adds a new section.
    Definition module.cc:62
    +
    const std::map< ExportedSymbol, Location > & GetExportedSymbols() const
    Retrieves map of all exported symbols and their locations.
    Definition module.cc:39
    +
    std::vector< Relocation > relocations
    List of relocations within the module.
    Definition module.h:63
    +
    void AllocateSymbols()
    All common symbols are converted to global symbols and assigned addresses within a "....
    Definition module.cc:235
    +
    A section of data as read from an object file.
    Definition section.h:52
    +
    Represents an (imported or internal) symbol name, which can be more complex than a string.
    Definition symbol.h:18
    +
    + + + + diff --git a/html/mzexe_8h_source.html b/html/mzexe_8h_source.html new file mode 100644 index 00000000..47942262 --- /dev/null +++ b/html/mzexe_8h_source.html @@ -0,0 +1,431 @@ + + + + + + + +RetroLinker: src/format/mzexe.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    mzexe.h
    +
    +
    +
    1#ifndef MZEXE_H
    +
    2#define MZEXE_H
    +
    3
    +
    4#include <iomanip>
    +
    5#include <set>
    +
    6#include <string>
    +
    7#include <vector>
    +
    8#include "../common.h"
    +
    9#include "../linker/linker.h"
    +
    10#include "../linker/format.h"
    +
    11#include "../linker/module.h"
    +
    12#include "../linker/reader.h"
    +
    13#include "../linker/section.h"
    +
    14#include "../linker/segment.h"
    +
    15#include "../linker/writer.h"
    +
    16#include "../dumper/dumper.h"
    +
    17
    +
    18namespace Microsoft
    +
    19{
    +
    + +
    35 {
    +
    36 public:
    +
    37 /* * * General members * * */
    +
    38
    +
    + +
    41 {
    + + + +
    48 };
    +
    +
    49
    +
    51 char signature[2]; /* TODO: make parameter */
    +
    52
    + +
    56 uint16_t file_size_blocks; /* TODO: consider making file size a parameter */
    +
    57
    +
    58 uint32_t GetFileSize() const;
    +
    59
    + +
    63 uint16_t header_size_paras; /* TODO: make header size a parameter */
    + + +
    69 uint16_t ss;
    +
    71 uint16_t sp;
    +
    73 uint16_t checksum; /* TODO: fill when writing */
    +
    75 uint16_t ip;
    +
    77 uint16_t cs;
    +
    79 uint16_t relocation_offset; /* TODO: make parameter */
    +
    80
    + +
    84 uint16_t data_segment;
    +
    85
    +
    + +
    92 {
    +
    94 uint16_t segment;
    +
    96 uint16_t offset;
    +
    97
    +
    98 Relocation(uint16_t segment, uint16_t offset)
    + +
    100 {
    +
    101 }
    +
    102
    +
    103 static Relocation FromLinear(uint32_t address);
    +
    104
    +
    105 uint32_t GetOffset() const;
    +
    106
    +
    107 bool operator ==(const Relocation& other) const;
    +
    108
    +
    109 bool operator <(const Relocation& other) const;
    +
    110 };
    +
    +
    111
    +
    113 std::vector<Relocation> relocations;
    +
    114
    +
    +
    116 struct PIF
    +
    117 {
    +
    118 static constexpr uint32_t MAGIC_BEGIN = 0x0013EDC1;
    +
    119 static constexpr uint32_t MAGIC_END = 0xEDC10013;
    +
    120 static constexpr size_t SIZE = 19;
    +
    121
    +
    122 /* TODO: requires testing */
    +
    123 uint16_t maximum_extra_paragraphs;
    +
    124 uint16_t minimum_extra_paragraphs;
    +
    125 uint8_t flags;
    +
    126 uint8_t lowest_used_interrupt;
    +
    127 uint8_t highest_used_interrupt;
    +
    128 uint8_t com_port_usage;
    +
    129 uint8_t lpt_port_usage;
    +
    130 uint8_t screen_usage;
    +
    131
    +
    132 void SetDefaults();
    +
    133
    +
    134 void ReadFile(Linker::Reader& rd);
    +
    135
    +
    136 void WriteFile(Linker::Writer& wr);
    +
    137
    +
    138 void Dump(Dumper::Dumper& dump, offset_t file_offset);
    +
    139 };
    +
    +
    140
    + +
    143
    + +
    146
    +
    147 magic_type GetSignature() const;
    +
    148
    +
    149 void SetSignature(magic_type magic);
    +
    150
    +
    151 void Initialize() override;
    +
    152
    +
    153 void Clear() override;
    +
    154
    +
    155 MZFormat()
    +
    156 {
    +
    157 Initialize();
    +
    158 }
    +
    159
    +
    160 ~MZFormat()
    +
    161 {
    +
    162 Clear();
    +
    163 }
    +
    164
    +
    165 void SetFileSize(uint32_t size);
    +
    166
    +
    167 uint32_t GetHeaderSize();
    +
    168
    +
    169 uint32_t GetPifOffset() const;
    +
    170
    +
    171 void ReadFile(Linker::Reader& rd) override;
    +
    172
    +
    173 void WriteFile(Linker::Writer& wr) override;
    +
    174
    +
    175 void Dump(Dumper::Dumper& dump) override;
    +
    176
    +
    177 void CalculateValues() override;
    +
    178
    +
    179 /* * * Writer members * * */
    +
    180
    + + +
    197
    +
    198 /* filled in automatically */
    +
    200 uint16_t extra_paras;
    +
    201
    +
    203 uint32_t zero_fill;
    +
    204
    + +
    207
    + +
    210
    +
    211 bool FormatSupportsSegmentation() const override;
    +
    212
    +
    213 bool FormatIs16bit() const override;
    +
    214
    +
    215 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
    +
    216
    +
    217 using LinkerManager::SetLinkScript;
    +
    218
    +
    219 void SetModel(std::string model) override;
    +
    220
    +
    221 void SetOptions(std::map<std::string, std::string>& options) override;
    +
    222
    +
    223 void OnNewSegment(Linker::Segment * segment) override;
    +
    224
    + +
    230
    +
    231 Script::List * GetScript(Linker::Module& module);
    +
    232
    +
    236 void Link(Linker::Module& module);
    +
    237
    +
    238#if 0
    +
    242 void LinkLarge(Linker::Module& module);
    +
    243#endif
    +
    244
    +
    245 void ProcessModule(Linker::Module& module) override;
    +
    246
    +
    247 uint32_t GetDataSize() const;
    +
    248
    +
    249 void GenerateFile(std::string filename, Linker::Module& module) override;
    +
    250
    +
    251 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
    +
    252 };
    +
    +
    253
    +
    + +
    255 {
    +
    256 public:
    +
    257 std::string stub_file;
    +
    258 bool stub_file_valid;
    +
    259 std::ifstream stub;
    +
    260
    +
    261 MZSimpleStubWriter(std::string stub_file = "")
    +
    262 : stub_file(stub_file), stub_file_valid(true), stub_size(-1)
    +
    263 {
    +
    264 }
    +
    265
    +
    266 offset_t stub_size;
    +
    267
    +
    268 bool OpenAndCheckValidFile();
    +
    269
    +
    270 offset_t GetStubImageSize();
    +
    271
    +
    272 void WriteStubImage(std::ostream& out);
    +
    273
    +
    274 void WriteStubImage(Linker::Writer& wr);
    +
    275
    + +
    277 {
    +
    278 if(stub.is_open())
    +
    279 {
    +
    280 stub.close();
    +
    281 }
    +
    282 }
    +
    283 };
    +
    +
    284
    +
    + +
    286 {
    +
    287 public:
    +
    288 std::string stub_file;
    +
    289 bool stub_file_valid;
    +
    290 std::ifstream stub;
    +
    291
    +
    292 MZStubWriter(std::string stub_file = "")
    +
    293 : stub_file(stub_file), stub_file_valid(true), original_file_size(-1)
    +
    294 {
    +
    295 }
    +
    296
    +
    297 uint32_t original_file_size;
    +
    298 uint32_t stub_file_size;
    +
    299 uint16_t stub_reloc_count;
    +
    300 uint32_t original_header_size;
    +
    301 uint32_t stub_header_size;
    +
    302 uint16_t original_reloc_offset;
    +
    303 uint16_t stub_reloc_offset;
    +
    304
    +
    305 bool OpenAndCheckValidFile();
    +
    306
    +
    307 offset_t GetStubImageSize();
    +
    308
    +
    309 void WriteStubImage(std::ostream& out);
    +
    310
    +
    311 void WriteStubImage(Linker::Writer& wr);
    +
    312
    + +
    314 {
    +
    315 if(stub.is_open())
    +
    316 {
    +
    317 stub.close();
    +
    318 }
    +
    319 }
    +
    320 };
    +
    +
    321
    +
    322}
    +
    323
    +
    324#endif /* MZEXE_H */
    +
    A class to control the output of a file analysis.
    Definition dumper.h:529
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    Represents an abstract interface whose data can be written to a file.
    Definition writable.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    MZ .EXE format for MS-DOS.
    Definition mzexe.h:35
    +
    void Initialize() override
    Sets all fields to their default values.
    Definition mzexe.cc:148
    +
    std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
    Appends a default extension to the filename.
    Definition mzexe.cc:710
    +
    void CreateDefaultSegments()
    Create the required segments, if they have not already been allocated. The MZ format uses a single se...
    Definition mzexe.cc:491
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition mzexe.cc:266
    +
    void Dump(Dumper::Dumper &dump) override
    Display file contents in a nice manner.
    Definition mzexe.cc:301
    +
    uint16_t relocation_offset
    Offset to first relocation. Updated by CalculateValues.
    Definition mzexe.h:79
    +
    uint16_t cs
    Initial value for the code segment (CS)
    Definition mzexe.h:77
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition mzexe.cc:207
    +
    uint16_t min_extra_paras
    Minimum required extra memory, in paragraphs.
    Definition mzexe.h:65
    +
    magic_type
    Type of magic number, usually "MZ".
    Definition mzexe.h:41
    +
    @ MAGIC_DL
    HP 100LX/200LX System Manager modules (.exm) use the magic number "DL".
    Definition mzexe.h:47
    +
    @ MAGIC_ZM
    According to some sources such as Ralf Brown's interrupt list, some early excutables started with the...
    Definition mzexe.h:45
    +
    @ MAGIC_MZ
    The most common magic number "MZ".
    Definition mzexe.h:43
    +
    void Link(Linker::Module &module)
    Link application according to script or memory model ()
    Definition mzexe.cc:574
    +
    uint16_t checksum
    Checksum.
    Definition mzexe.h:73
    +
    void GenerateFile(std::string filename, Linker::Module &module) override
    The main function that handles processing, calculating and generating the final image.
    Definition mzexe.cc:700
    +
    uint16_t last_block_size
    Size of last 512 byte block, 0 if full. Set by CalculateValues.
    Definition mzexe.h:54
    +
    PIF * pif
    Concurrent DOS program information entry, allocated only if present.
    Definition mzexe.h:142
    +
    bool FormatSupportsSegmentation() const override
    Whether the format supports multiple segments.
    Definition mzexe.cc:402
    +
    uint16_t extra_paras
    Required maximum extra paragraphs after bss.
    Definition mzexe.h:200
    +
    uint32_t option_file_align
    User provided alignment value for file align.
    Definition mzexe.h:209
    +
    uint16_t header_size_paras
    Size of MZ header. Updated by CalculateValues.
    Definition mzexe.h:63
    +
    void CalculateValues() override
    Intermediate step between processing module and generating output file to set up headers and manageme...
    Definition mzexe.cc:350
    +
    uint16_t file_size_blocks
    Size of MZ image in 512 blocks, rounded up. Set by CalculateValues.
    Definition mzexe.h:56
    +
    void SetModel(std::string model) override
    Sets the way memory is organized, typically modifying a built-in script.
    Definition mzexe.cc:430
    +
    uint32_t zero_fill
    Total size of bss and stack.
    Definition mzexe.h:203
    +
    uint16_t relocation_count
    Number of relocations. Updated by CalculateValues.
    Definition mzexe.h:61
    +
    void Clear() override
    Resets all fields to their default values, deallocate memory.
    Definition mzexe.cc:177
    +
    Linker::Writable * image
    The program image, placed after the MZ header.
    Definition mzexe.h:145
    +
    uint16_t data_segment
    Starting paragraph of program data, only required for .exm files.
    Definition mzexe.h:84
    +
    memory_model_t
    Represents the memory model of the running executable, which is the way in which the segments are set...
    Definition mzexe.h:183
    +
    @ MODEL_LARGE
    Large model, every section is a separate segment.
    Definition mzexe.h:193
    +
    @ MODEL_SMALL
    Small model, separate code and data segments.
    Definition mzexe.h:189
    +
    @ MODEL_DEFAULT
    Default model, same as small.
    Definition mzexe.h:185
    +
    @ MODEL_TINY
    Tiny model, code and data segment are the same.
    Definition mzexe.h:187
    +
    @ MODEL_COMPACT
    Compact model, separate code and multiple data segments.
    Definition mzexe.h:191
    +
    uint16_t ip
    Entry point initial value for IP.
    Definition mzexe.h:75
    +
    memory_model_t memory_model
    Memory model of generated executable.
    Definition mzexe.h:196
    +
    uint16_t sp
    Initial value for the stack (SP)
    Definition mzexe.h:71
    +
    char signature[2]
    The magic number at the start of the executable file, usually "MZ".
    Definition mzexe.h:51
    +
    std::vector< Relocation > relocations
    Address relocation offsets to paragraph fixups.
    Definition mzexe.h:113
    +
    uint32_t option_header_align
    User provided alignment value for header size.
    Definition mzexe.h:206
    +
    bool FormatIs16bit() const override
    Whether the format is 16-bit or not.
    Definition mzexe.cc:407
    +
    uint16_t ss
    Initial value for the stack segment (SS)
    Definition mzexe.h:69
    +
    uint16_t overlay_number
    Overlay number, should be 0 for main programs, not used for .exm files.
    Definition mzexe.h:82
    +
    uint16_t max_extra_paras
    Maximum required extra memory, in paragraphs. Set by CalculateValues using extra_paras.
    Definition mzexe.h:67
    +
    void OnNewSegment(Linker::Segment *segment) override
    Callback function when allocating a new segment When the linker script runs, it creates segments cons...
    Definition mzexe.cc:471
    +
    void ProcessModule(Linker::Module &module) override
    Processes the module object and initializes format fields.
    Definition mzexe.cc:615
    +
    void SetOptions(std::map< std::string, std::string > &options) override
    Passes command line parameters as settings over to format object.
    Definition mzexe.cc:459
    +
    Definition mzexe.h:255
    +
    Definition mzexe.h:286
    +
    Definition script.h:61
    +
    Concurrent DOS embedded program information, produced by PIFED.
    Definition mzexe.h:117
    +
    Represents a relocation entry in the header, as a pair of 16-bit words.
    Definition mzexe.h:92
    +
    uint16_t segment
    Segment of relocation.
    Definition mzexe.h:94
    +
    uint16_t offset
    Offset of relocation within segment.
    Definition mzexe.h:96
    +
    + + + + diff --git a/html/nav_f.png b/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/html/nav_fd.png b/html/nav_fd.png new file mode 100644 index 0000000000000000000000000000000000000000..032fbdd4c54f54fa9a2e6423b94ef4b2ebdfaceb GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQU#tajv*C{Z|C~*H7f|XvG1G8 zt7aS*L7xwMeS}!z6R#{C5tIw-s~AJ==F^i}x3XyJseHR@yF& zerFf(Zf;Dd{+(0lDIROL@Sj-Ju2JQ8&-n%4%q?>|^bShc&lR?}7HeMo@BDl5N(aHY Uj$gdr1MOz;boFyt=akR{0D!zeaR2}S literal 0 HcmV?d00001 diff --git a/html/nav_g.png b/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL6W-eg#Jd_@e6*DPn)w;=|1H}Zvm9l6xXXB%>yL=NQU;mg M>FVdQ&MBb@0Bdt1Qvd(} literal 0 HcmV?d00001 diff --git a/html/neexe_8h_source.html b/html/neexe_8h_source.html new file mode 100644 index 00000000..d4c37301 --- /dev/null +++ b/html/neexe_8h_source.html @@ -0,0 +1,451 @@ + + + + + + + +RetroLinker: src/format/neexe.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    neexe.h
    +
    +
    +
    1#ifndef NEEXE_H
    +
    2#define NEEXE_H
    +
    3
    +
    4#include "mzexe.h"
    +
    5#include "../common.h"
    +
    6#include "../linker/linker.h"
    +
    7#include "../linker/module.h"
    +
    8#include "../linker/segment.h"
    +
    9#include "../linker/writer.h"
    +
    10
    +
    11namespace Microsoft
    +
    12{
    +
    + +
    23 {
    +
    24 public:
    +
    25 void ReadFile(Linker::Reader& rd) override;
    +
    26
    +
    27 bool FormatSupportsSegmentation() const override;
    +
    28
    +
    29 bool FormatIs16bit() const override;
    +
    30
    +
    31 bool FormatSupportsLibraries() const override;
    +
    32
    +
    33 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
    +
    34
    +
    35 enum system_type
    +
    36 {
    +
    37 OS2 = 1, /* OS/2 1.0 - 1.3 */
    +
    38 Windows, /* Windows 1.0 - 3.11 */
    +
    39 MSDOS4, /* Multitasking MS-DOS 4.0 */
    +
    40 Windows386,
    +
    41 BorlandOSS,
    +
    42 PharLap = 0x80,
    +
    43 } system;
    +
    44
    +
    45 enum program_flag_type
    +
    46 {
    +
    47 NODATA = 0,
    +
    48 SINGLEDATA = 1, /* .DLL */
    +
    49 MULTIPLEDATA = 2, /* .EXE */
    +
    50 GLOBAL_INITIALIZATION = 4,
    +
    51 PROTECTED_MODE_ONLY = 8,
    +
    52 CPU_8086 = 0x10, /* TODO: this is not how all systems handle this */
    +
    53 CPU_80286 = 0x20,
    +
    54 CPU_80386 = 0x40,
    +
    55 CPU_8087 = 0x80,
    +
    56 } program_flags;
    +
    57
    +
    58 enum application_flag_type
    +
    59 {
    +
    60 FULLSCREEN = 1,
    +
    61 GUI_AWARE = 2,
    +
    62 GUI = 3,
    +
    63 FAMILY_APPLICATION = 8, /* first segment loads application */
    +
    64 ERROR_IN_IMAGE = 0x20,
    +
    65 LIBRARY = 0x80,
    +
    66 } application_flags;
    +
    67
    +
    68 bool IsLibrary() const;
    +
    69
    +
    70 enum additional_flag_type
    +
    71 {
    +
    72 SUPPORT_LONGFILENAME = 1,
    +
    73 WIN20_PROTECTED_MODE = 2,
    +
    74 WIN20_PROPORTIONAL_FONTS = 4,
    +
    75 FAST_LOAD_AREA = 8,
    +
    76 } additional_flags;
    +
    77
    +
    78 enum compatibility_type
    +
    79 {
    +
    80 CompatibleNone,
    +
    81 CompatibleWatcom,
    +
    82 CompatibleMicrosoft, /* TODO */
    +
    83 CompatibleGNU, /* TODO */
    +
    84 } compatibility;
    +
    85
    +
    86 NEFormat(system_type system, unsigned program_flags, unsigned application_flags)
    +
    87 : system(system), program_flags((program_flag_type)program_flags), application_flags((application_flag_type)application_flags), additional_flags((additional_flag_type)0), compatibility(CompatibleNone),
    +
    88 linker_version{1, 0},
    +
    89 heap_size(0), stack_size(0), sector_shift(9), code_swap_area_length(0),
    +
    90// stack(".stack"), heap(".heap"),
    +
    91 imported_names_length(0)
    +
    92 {
    +
    93 }
    +
    94
    +
    95 NEFormat * SimulateLinker(compatibility_type compatibility);
    +
    96
    +
    97 static NEFormat * CreateConsoleApplication(system_type system = Windows);
    +
    98
    +
    99 static NEFormat * CreateGUIApplication(system_type system = Windows);
    +
    100
    +
    101 static NEFormat * CreateLibraryModule(system_type system = Windows);
    +
    102
    +
    +
    103 class Entry
    +
    104 {
    +
    105 public:
    +
    106 enum entry_type
    +
    107 {
    +
    108 Unused,
    +
    109 Fixed,
    +
    110 Movable,
    +
    111 } type;
    +
    112 uint8_t segment;
    +
    113 enum flag_type
    +
    114 {
    +
    115 Exported = 1,
    +
    116 SharedData = 2,
    +
    117 } flags;
    +
    118 uint16_t offset;
    +
    119
    +
    120 enum
    +
    121 {
    +
    122 WordCountShift = 3,
    +
    123
    +
    124 INT_3Fh = 0x3FCD,
    +
    125 };
    +
    126 Entry()
    +
    127 : type(Unused), segment(0), flags((flag_type)0), offset(0)
    +
    128 {
    +
    129 }
    +
    130
    +
    131 Entry(unsigned type, uint8_t segment, unsigned flags, uint16_t offset)
    +
    132 : type((entry_type)type), segment(segment), flags((flag_type)flags), offset(offset)
    +
    133 {
    +
    134 }
    +
    135
    +
    136 offset_t GetEntrySize() const;
    +
    137
    +
    138 uint8_t GetIndicatorByte() const;
    +
    139
    +
    140 void WriteEntry(Linker::Writer& wr);
    +
    141 };
    +
    +
    142
    +
    + +
    144 {
    +
    145 public:
    +
    146 Linker::Segment * image;
    +
    147 offset_t data_offset;
    +
    148 enum flag_type
    +
    149 {
    +
    150 Data = 1, Code = 0,
    +
    151 Allocated = 2,
    +
    152 Loaded = 4, /* RealMode = 4 */ /* TODO */
    +
    153 Iterated = 8, /* TODO */
    +
    154 Movable = 0x10, Fixed = 0,
    +
    155 Shareable = 0x20,
    +
    156 Preload = 0x40, LoadOnCall = 0,
    +
    157 ExecuteOnly = 0x80, ReadOnly = 0x80|Data,
    +
    158 Relocations = 0x0100,
    +
    159 DebugInfo = 0x0200,
    +
    160 Discardable = 0x1000,
    +
    161 } flags;
    +
    162 uint16_t movable_entry_index; /* for movable segments, each relocation targetting it needs one and only one entry */
    +
    163
    +
    164 Segment(Linker::Segment * segment, unsigned flags)
    +
    165 : image(segment), flags((flag_type)flags), movable_entry_index(0)
    +
    166 {
    +
    167 }
    +
    168
    +
    169 enum
    +
    170 {
    +
    171 PrivilegeLevelShift = 10,
    +
    172 };
    +
    173
    +
    + +
    175 {
    +
    176 public:
    +
    177 enum source_type
    +
    178 {
    +
    179 Offset8 = 0,
    +
    180 Selector16 = 2,
    +
    181 Pointer32 = 3,
    +
    182 Offset16 = 5,
    +
    183 Pointer48 = 11,
    +
    184 Offset32 = 13,
    +
    185 } type;
    +
    186 enum flag_type
    +
    187 {
    +
    188 Internal = 0,
    +
    189 ImportOrdinal = 1,
    +
    190 ImportName = 2,
    +
    191 OSFixup = 3,
    +
    192 Additive = 4,
    +
    193 } flags;
    +
    194 uint16_t offset;
    +
    195 union
    +
    196 {
    +
    197 uint16_t module;
    +
    198 uint8_t segment;
    +
    199 };
    +
    200 enum
    +
    201 {
    +
    202 FIARQQ = 1, FJARQQ = 1,
    +
    203 FISRQQ = 2, FJSRQQ = 2,
    +
    204 FICRQQ = 3, FJCRQQ = 3,
    +
    205 FIERQQ = 4,
    +
    206 FIDRQQ = 5,
    +
    207 FIWRQQ = 6,
    +
    208 };
    +
    209 uint16_t target;
    +
    210 Relocation()
    +
    211 : type((source_type)0), flags((flag_type)0), offset(0), module(0), target(0)
    +
    212 {
    +
    213 }
    +
    214
    +
    215 Relocation(unsigned type, unsigned flags, uint16_t offset, uint16_t module, uint16_t target)
    +
    216 : type((source_type)type), flags((flag_type)flags), offset(offset), module(module), target(target)
    +
    217 {
    +
    218 }
    +
    219
    +
    220 static source_type GetType(Linker::Relocation& rel);
    +
    221 };
    +
    +
    222 std::map<uint16_t, Relocation> relocations;
    +
    223
    +
    224 void AddRelocation(const Relocation& rel);
    +
    225 };
    +
    +
    226
    +
    +
    227 struct Name
    +
    228 {
    +
    229 public:
    +
    230 std::string name;
    +
    231 uint16_t ordinal;
    +
    232 };
    +
    +
    233
    +
    + +
    235 {
    +
    236 public:
    +
    237 /* TODO */
    +
    238 };
    +
    +
    239
    +
    +
    241 struct version
    +
    242 {
    +
    243 uint8_t major, minor;
    +
    244 } linker_version, windows_version;
    +
    +
    245
    +
    246 uint16_t automatic_data;
    +
    247 uint16_t heap_size, stack_size;
    +
    248 uint16_t ss, sp, cs, ip;
    +
    249 uint16_t sector_shift;
    +
    250
    +
    251 uint32_t segment_table_offset;
    +
    252 uint32_t resource_table_offset;
    +
    253 uint32_t resident_name_table_offset;
    +
    254 uint32_t module_reference_table_offset;
    +
    255 uint32_t imported_names_table_offset;
    +
    256 uint32_t entry_table_offset;
    +
    257 uint32_t entry_table_length;
    +
    258 uint16_t movable_entry_count;
    +
    259 uint32_t nonresident_name_table_length;
    +
    260 uint32_t nonresident_name_table_offset;
    +
    261 union
    +
    262 {
    +
    263 /* Windows */
    +
    264 uint16_t fast_load_area_offset;
    +
    265 /* OS/2 ? */
    +
    266 uint16_t return_thunks_offset;
    +
    267 };
    +
    268 union
    +
    269 {
    +
    270 /* Windows */
    +
    271 uint16_t fast_load_area_length;
    +
    272 /* OS/2 ? */
    +
    273 uint16_t segment_reference_thunks_offset;
    +
    274 };
    +
    275 uint16_t code_swap_area_length;
    +
    276
    +
    277 Linker::Segment * stack, * heap;
    +
    278 std::vector<Segment> segments;
    +
    279 std::map<Linker::Segment *, size_t> segment_index;
    +
    280 std::vector<Resource> resources;
    +
    281 std::vector<Name> resident_names, nonresident_names;
    +
    282 std::vector<uint16_t> module_references;
    +
    283 std::map<std::string, uint16_t> module_reference_offsets;
    +
    284 std::vector<std::string> imported_names;
    +
    285 std::map<std::string, uint16_t> imported_name_offsets;
    +
    286 uint16_t imported_names_length;
    +
    287
    +
    288 std::vector<Entry> entries;
    +
    289
    +
    290 /*std::string stub_file;*/
    +
    291 std::string module_name;
    +
    292 std::string program_name;
    +
    293
    +
    294 bool option_capitalize_names; /* TODO: parametrize */
    +
    295 enum memory_model_t
    +
    296 {
    +
    297 MODEL_SMALL,
    +
    298 MODEL_LARGE,
    +
    299 } memory_model;
    +
    300
    +
    301 unsigned GetCodeSegmentFlags() const;
    +
    302 unsigned GetDataSegmentFlags() const;
    +
    303 void AddSegment(const Segment& segment);
    +
    304 uint16_t FetchModule(std::string name);
    +
    305 uint16_t FetchImportedName(std::string name);
    +
    306 std::string MakeProcedureName(std::string name);
    +
    307 uint16_t MakeEntry(Linker::Position value);
    +
    308 uint16_t MakeEntry(uint16_t ordinal, Linker::Position value);
    +
    309 uint8_t CountBundles(size_t entry_index);
    +
    310
    +
    311 using LinkerManager::SetLinkScript;
    +
    312 void SetModel(std::string model) override;
    +
    313 void SetOptions(std::map<std::string, std::string>& options) override;
    +
    314 void OnNewSegment(Linker::Segment * segment) override;
    +
    315 Script::List * GetScript(Linker::Module& module);
    +
    316 void Link(Linker::Module& module);
    +
    317 void ProcessModule(Linker::Module& module) override;
    +
    318 void CalculateValues() override;
    +
    319 void WriteFile(Linker::Writer& wr) override;
    +
    320 void GenerateFile(std::string filename, Linker::Module& module) override;
    +
    321 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
    +
    322 };
    +
    +
    323}
    +
    324
    +
    325#endif /* NEEXE_H */
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    Stores an absolute address along with the containing segment or address space.
    Definition position.h:17
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A representation of a value within some binary data that has to be fixed up once the exact position o...
    Definition relocation.h:27
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    Definition mzexe.h:286
    +
    Definition neexe.h:104
    +
    Definition neexe.h:235
    + +
    Definition neexe.h:144
    +
    NE .EXE new executable file format.
    Definition neexe.h:23
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition neexe.cc:759
    +
    std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
    Appends a default extension to the filename.
    Definition neexe.cc:912
    +
    void SetOptions(std::map< std::string, std::string > &options) override
    Passes command line parameters as settings over to format object.
    Definition neexe.cc:319
    +
    bool FormatSupportsSegmentation() const override
    Whether the format supports multiple segments.
    Definition neexe.cc:12
    +
    void CalculateValues() override
    Intermediate step between processing module and generating output file to set up headers and manageme...
    Definition neexe.cc:662
    +
    bool FormatIs16bit() const override
    Whether the format is 16-bit or not.
    Definition neexe.cc:17
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition neexe.cc:7
    +
    void OnNewSegment(Linker::Segment *segment) override
    Callback function when allocating a new segment When the linker script runs, it creates segments cons...
    Definition neexe.cc:336
    +
    bool FormatSupportsLibraries() const override
    Whether the format supports libraries.
    Definition neexe.cc:22
    +
    void SetModel(std::string model) override
    Sets the way memory is organized, typically modifying a built-in script.
    Definition neexe.cc:878
    +
    void GenerateFile(std::string filename, Linker::Module &module) override
    The main function that handles processing, calculating and generating the final image.
    Definition neexe.cc:895
    +
    void ProcessModule(Linker::Module &module) override
    Processes the module object and initializes format fields.
    Definition neexe.cc:452
    +
    Definition script.h:61
    +
    Definition neexe.h:228
    +
    Version number.
    Definition neexe.h:242
    +
    + + + + diff --git a/html/o65_8h_source.html b/html/o65_8h_source.html new file mode 100644 index 00000000..02819bde --- /dev/null +++ b/html/o65_8h_source.html @@ -0,0 +1,126 @@ + + + + + + + +RetroLinker: src/format/o65.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    o65.h
    +
    +
    +
    1#ifndef O65_H
    +
    2#define O65_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/reader.h"
    +
    6#include "../linker/writer.h"
    +
    7
    +
    8/* TODO: unimplemented */
    +
    9
    +
    10/* o65 object format (input only) */
    +
    11namespace O65
    +
    12{
    +
    +
    16 class O65Format : public virtual Linker::InputFormat
    +
    17 {
    +
    18 public:
    +
    19 void ReadFile(Linker::Reader& in) override;
    +
    20 void WriteFile(Linker::Writer& out) override;
    +
    21 void ProduceModule(Linker::Module& module, Linker::Reader& rd) override;
    +
    22 /* TODO */
    +
    23 };
    +
    +
    24}
    +
    25
    +
    26#endif /* O65_H */
    +
    A class that provides a general interface to loading a module.
    Definition format.h:165
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    Output format for the 6502 assembler xa.
    Definition o65.h:17
    +
    void ReadFile(Linker::Reader &in) override
    Loads file into memory.
    Definition o65.cc:8
    +
    void ProduceModule(Linker::Module &module, Linker::Reader &rd) override
    Reads a file and loads the information into a module object.
    Definition o65.cc:18
    +
    void WriteFile(Linker::Writer &out) override
    Stores data in memory to file.
    Definition o65.cc:13
    +
    + + + + diff --git a/html/omf_8h_source.html b/html/omf_8h_source.html new file mode 100644 index 00000000..a486ade4 --- /dev/null +++ b/html/omf_8h_source.html @@ -0,0 +1,127 @@ + + + + + + + +RetroLinker: src/format/omf.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    omf.h
    +
    +
    +
    1#ifndef OMF_H
    +
    2#define OMF_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/reader.h"
    +
    6#include "../linker/writer.h"
    +
    7
    +
    8/* TODO: unimplemented */
    +
    9
    +
    10/* Intel Object Module format (input only) */
    +
    11
    +
    12namespace OMF
    +
    13{
    +
    +
    17 class OMFFormat : public virtual Linker::InputFormat
    +
    18 {
    +
    19 public:
    +
    20 void ReadFile(Linker::Reader& in) override;
    +
    21 void WriteFile(Linker::Writer& out) override;
    +
    22 void ProduceModule(Linker::Module& module, Linker::Reader& rd) override;
    +
    23 /* TODO */
    +
    24 };
    +
    +
    25}
    +
    26
    +
    27#endif /* OMF_H */
    +
    A class that provides a general interface to loading a module.
    Definition format.h:165
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    Intel Relocatable Object Module format, used by various 16/32-bit DOS based compilers and linkers,...
    Definition omf.h:18
    +
    void ReadFile(Linker::Reader &in) override
    Loads file into memory.
    Definition omf.cc:8
    +
    void ProduceModule(Linker::Module &module, Linker::Reader &rd) override
    Reads a file and loads the information into a module object.
    Definition omf.cc:18
    +
    void WriteFile(Linker::Writer &out) override
    Stores data in memory to file.
    Definition omf.cc:13
    +
    + + + + diff --git a/html/open.png b/html/open.png new file mode 100644 index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +RetroLinker: src/script/parse.tab.hh Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    parse.tab.hh
    +
    +
    +
    1/* A Bison parser, made by GNU Bison 3.0.4. */
    +
    2
    +
    3/* Bison interface for Yacc-like parsers in C
    +
    4
    +
    5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
    +
    6
    +
    7 This program is free software: you can redistribute it and/or modify
    +
    8 it under the terms of the GNU General Public License as published by
    +
    9 the Free Software Foundation, either version 3 of the License, or
    +
    10 (at your option) any later version.
    +
    11
    +
    12 This program is distributed in the hope that it will be useful,
    +
    13 but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    15 GNU General Public License for more details.
    +
    16
    +
    17 You should have received a copy of the GNU General Public License
    +
    18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
    +
    19
    +
    20/* As a special exception, you may create a larger work that contains
    +
    21 part or all of the Bison parser skeleton and distribute that work
    +
    22 under terms of your choice, so long as that work isn't itself a
    +
    23 parser generator using the skeleton or a modified version thereof
    +
    24 as a parser skeleton. Alternatively, if you modify or redistribute
    +
    25 the parser skeleton itself, you may (at your option) remove this
    +
    26 special exception, which will cause the skeleton and the resulting
    +
    27 Bison output files to be licensed under the GNU General Public
    +
    28 License without this special exception.
    +
    29
    +
    30 This special exception was added by the Free Software Foundation in
    +
    31 version 2.2 of Bison. */
    +
    32
    +
    33#ifndef YY_YY_SRC_SCRIPT_PARSE_TAB_HH_INCLUDED
    +
    34# define YY_YY_SRC_SCRIPT_PARSE_TAB_HH_INCLUDED
    +
    35/* Debug traces. */
    +
    36#ifndef YYDEBUG
    +
    37# define YYDEBUG 0
    +
    38#endif
    +
    39#if YYDEBUG
    +
    40extern int yydebug;
    +
    41#endif
    +
    42/* "%code requires" blocks. */
    +
    43#line 3 "src/script/parse.yy" /* yacc.c:1909 */
    +
    44
    +
    45#include "script.h"
    +
    46using namespace Script;
    +
    47
    +
    48#line 49 "src/script/parse.tab.hh" /* yacc.c:1909 */
    +
    49
    +
    50/* Token type. */
    +
    51#ifndef YYTOKENTYPE
    +
    52# define YYTOKENTYPE
    +
    53 enum yytokentype
    +
    54 {
    +
    55 ALIGN = 258,
    +
    56 ALL = 259,
    +
    57 AND = 260,
    +
    58 ANY = 261,
    +
    59 AT = 262,
    +
    60 BASE = 263,
    +
    61 CUSTOMFLAG = 264,
    +
    62 EXECUTE = 265,
    +
    63 FIXED = 266,
    +
    64 FOR = 267,
    +
    65 HEAP = 268,
    +
    66 HERE = 269,
    +
    67 IDENTIFIER = 270,
    +
    68 INTEGER = 271,
    +
    69 MAXIMUM = 272,
    +
    70 MERGE = 273,
    +
    71 MINIMUM = 274,
    +
    72 NOT = 275,
    +
    73 OF = 276,
    +
    74 OPTIONAL = 277,
    +
    75 OR = 278,
    +
    76 PARAMETER = 279,
    +
    77 READ = 280,
    +
    78 RESOURCE = 281,
    +
    79 SIZE = 282,
    +
    80 STACK = 283,
    +
    81 START = 284,
    +
    82 SUFFIX = 285,
    +
    83 WRITE = 286,
    +
    84 ZERO = 287,
    +
    85 LL = 288,
    +
    86 RR = 289,
    +
    87 UNARY = 290
    +
    88 };
    +
    89#endif
    +
    90
    +
    91/* Value type. */
    +
    92#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    +
    93
    +
    94union YYSTYPE
    +
    95{
    +
    96#line 19 "src/script/parse.yy" /* yacc.c:1909 */
    +
    97
    +
    98 char * s;
    +
    99 long i;
    +
    100 class Node * n;
    +
    101 class List * l;
    +
    102
    +
    103#line 104 "src/script/parse.tab.hh" /* yacc.c:1909 */
    +
    104};
    +
    105
    +
    106typedef union YYSTYPE YYSTYPE;
    +
    107# define YYSTYPE_IS_TRIVIAL 1
    +
    108# define YYSTYPE_IS_DECLARED 1
    +
    109#endif
    +
    110
    +
    111
    +
    112extern YYSTYPE yylval;
    +
    113
    +
    114int yyparse (void);
    +
    115
    +
    116#endif /* !YY_YY_SRC_SCRIPT_PARSE_TAB_HH_INCLUDED */
    +
    Definition script.h:61
    +
    Definition script.h:89
    +
    Definition parse.tab.cc:157
    +
    + + + + diff --git a/html/peexe_8h_source.html b/html/peexe_8h_source.html new file mode 100644 index 00000000..20ff6220 --- /dev/null +++ b/html/peexe_8h_source.html @@ -0,0 +1,128 @@ + + + + + + + +RetroLinker: src/format/peexe.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    peexe.h
    +
    +
    +
    1#ifndef PEEXE_H
    +
    2#define PEEXE_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/linker.h"
    +
    6#include "coff.h"
    +
    7#include "mzexe.h"
    +
    8
    +
    9/* TODO: unimplemented */
    +
    10
    +
    11namespace Microsoft
    +
    12{
    +
    + +
    17 {
    +
    18 public:
    +
    19 void ReadFile(Linker::Reader& rd) override;
    +
    20 void WriteFile(Linker::Writer& wr) override;
    +
    21 /* TODO */
    +
    22
    +
    23 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
    +
    24 };
    +
    +
    25}
    +
    26
    +
    27#endif /* PEEXE_H */
    +
    The UNIX COFF file format.
    Definition coff.h:26
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    Definition mzexe.h:286
    +
    Microsoft PE .EXE portable executable file format.
    Definition peexe.h:17
    +
    std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
    Appends a default extension to the filename.
    Definition peexe.cc:18
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition peexe.cc:8
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition peexe.cc:13
    +
    + + + + diff --git a/html/pefexe_8h_source.html b/html/pefexe_8h_source.html new file mode 100644 index 00000000..9d0ffc91 --- /dev/null +++ b/html/pefexe_8h_source.html @@ -0,0 +1,122 @@ + + + + + + + +RetroLinker: src/format/pefexe.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    pefexe.h
    +
    +
    +
    1#ifndef PEFEXE_H
    +
    2#define PEFEXE_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/linker.h"
    +
    6
    +
    7/* TODO: unimplemented */
    +
    8
    +
    9namespace Apple
    +
    10{
    +
    + +
    15 {
    +
    16 public:
    +
    17 void ReadFile(Linker::Reader& rd) override;
    +
    18 void WriteFile(Linker::Writer& wr) override;
    +
    19 /* TODO */
    +
    20 };
    +
    +
    21}
    +
    22
    +
    23#endif /* PEFEXE_H */
    +
    PowerPC Classic Mac OS "PEF" file format.
    Definition pefexe.h:15
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition pefexe.cc:13
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition pefexe.cc:8
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    + + + + diff --git a/html/pharlap_8h_source.html b/html/pharlap_8h_source.html new file mode 100644 index 00000000..ef4e81ff --- /dev/null +++ b/html/pharlap_8h_source.html @@ -0,0 +1,491 @@ + + + + + + + +RetroLinker: src/format/pharlap.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    pharlap.h
    +
    +
    +
    1#ifndef PHARLAP_H
    +
    2#define PHARLAP_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/linker.h"
    +
    6#include "mzexe.h"
    +
    7
    +
    8namespace PharLap
    +
    9{
    +
    + +
    14 {
    +
    15 public:
    +
    16 void ReadFile(Linker::Reader& rd) override;
    +
    17
    +
    18 unsigned FormatAdditionalSectionFlags(std::string section_name) const override;
    +
    19
    +
    20 bool has_relocations;
    +
    21 std::string stub_file;
    +
    22
    +
    23 Linker::Segment * image;
    +
    24
    +
    25 static const uint32_t REL32 = 0x80000000;
    +
    + +
    27 {
    +
    28 struct
    +
    29 {
    +
    30 uint32_t offset : 31, rel32 : 1;
    +
    31 };
    +
    32 uint32_t value;
    +
    33
    +
    34 Relocation(uint32_t offset, unsigned rel32)
    +
    35 : offset(offset), rel32(rel32)
    +
    36 {
    +
    37 }
    +
    38
    +
    39 /*Relocation(uint32_t offset)
    +
    40 : value(offset)
    +
    41 {
    +
    42 }*/
    +
    43
    +
    44 bool operator ==(const Relocation& other) const;
    +
    45
    +
    46 bool operator <(const Relocation& other) const;
    +
    47 };
    +
    +
    48
    +
    49 offset_t image_size;
    +
    50 std::set<Relocation> relocations;
    +
    51 offset_t header_size;
    +
    52 offset_t bss_pages;
    +
    53 offset_t extra_pages;
    +
    54 uint32_t esp;
    +
    55 uint32_t eip;
    +
    56 offset_t relocation_offset;
    +
    57
    +
    58 MPFormat(bool has_relocations = false)
    +
    59 : has_relocations(has_relocations)
    +
    60 {
    +
    61 }
    +
    62
    +
    63 using LinkerManager::SetLinkScript;
    +
    64
    +
    65 void SetOptions(std::map<std::string, std::string>& options) override;
    +
    66
    +
    67 void OnNewSegment(Linker::Segment * segment) override;
    +
    68
    +
    69 Script::List * GetScript(Linker::Module& module);
    +
    70
    +
    71 void Link(Linker::Module& module);
    +
    72
    +
    73 void ProcessModule(Linker::Module& module) override;
    +
    74
    +
    75 void CalculateValues() override;
    +
    76
    +
    77 void WriteFile(Linker::Writer& wr) override;
    +
    78
    +
    79 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
    +
    80 };
    +
    +
    81
    +
    + +
    86 {
    +
    87 public:
    +
    88 void ReadFile(Linker::Reader& rd) override;
    +
    89
    +
    90 bool FormatSupportsSegmentation() const override;
    +
    91
    +
    92#if 0
    +
    93 bool FormatSupportsStackSection() const override;
    +
    94#endif
    +
    95
    +
    96 /*std::string stub_file;*/
    +
    97 const bool is_multisegmented;
    +
    98 bool is_32bit;
    +
    99
    +
    100 uint16_t header_size;
    +
    101 uint32_t file_size;
    +
    102
    +
    103 uint32_t runtime_parameters_offset;
    +
    104 uint32_t runtime_parameters_size;
    +
    105 uint32_t relocation_table_offset;
    +
    106 uint32_t relocation_table_size;
    +
    107 uint32_t segment_information_table_offset;
    +
    108 uint32_t segment_information_table_size;
    +
    109 uint16_t segment_information_table_entry_size;
    +
    110 uint32_t load_image_offset;
    +
    111 uint32_t load_image_size;
    +
    112 uint32_t symbol_table_offset;
    +
    113 uint32_t symbol_table_size;
    +
    114 uint32_t gdt_address;
    +
    115 uint32_t gdt_size;
    +
    116 uint32_t ldt_address;
    +
    117 uint32_t ldt_size;
    +
    118 uint32_t idt_address;
    +
    119 uint32_t idt_size;
    +
    120 uint32_t tss_address;
    +
    121 uint32_t tss_size;
    +
    122 uint32_t minimum_extra;
    +
    123 uint32_t maximum_extra;
    +
    124 uint32_t base_load_offset;
    +
    125 uint32_t esp;
    +
    126 uint16_t ss;
    +
    127 uint32_t eip;
    +
    128 uint16_t cs;
    +
    129 uint16_t ldtr;
    +
    130 uint16_t tr;
    +
    131 uint16_t flags;
    +
    132 uint32_t memory_requirements;
    +
    133 uint32_t stack_size;
    +
    134
    +
    135 P3Format(bool is_multisegmented, bool is_32bit = true)
    +
    136 : is_multisegmented(is_multisegmented), is_32bit(is_32bit)
    +
    137 {
    +
    138 }
    +
    139
    +
    + +
    141 {
    +
    142 public:
    +
    143 uint16_t min_realmode_param, max_realmode_param, min_int_buffer_size_kb, max_int_buffer_size_kb, int_stack_count, int_stack_size_kb;
    +
    144 uint32_t realmode_area_end;
    +
    145 uint16_t call_buffer_size_kb, flags, ring;
    +
    146
    +
    147 void CalculateValues();
    +
    148
    +
    149 void WriteFile(Linker::Writer& wr);
    +
    150 };
    +
    +
    151
    +
    152 RunTimeParameterBlock runtime_parameters;
    +
    153
    +
    154 using LinkerManager::SetLinkScript;
    +
    155
    +
    156 void SetOptions(std::map<std::string, std::string>& options) override;
    +
    157
    +
    158 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
    +
    159
    +
    160 void WriteFile(Linker::Writer& wr) override;
    +
    161
    +
    162 class Flat;
    +
    163 class MultiSegmented;
    +
    164 };
    +
    +
    165
    +
    + +
    167 {
    +
    168 public:
    +
    169 Flat(bool is_32bit = true)
    +
    170 : P3Format(false, is_32bit)
    +
    171 {
    +
    172 }
    +
    173
    +
    174 Linker::Segment * image;
    +
    175
    +
    176 void OnNewSegment(Linker::Segment * segment) override;
    +
    177
    +
    178 Script::List * GetScript(Linker::Module& module);
    +
    179
    +
    180 void Link(Linker::Module& module);
    +
    181
    +
    182 void ProcessModule(Linker::Module& module) override;
    +
    183
    +
    184 void CalculateValues() override;
    +
    185
    +
    186 void WriteFile(Linker::Writer& wr) override;
    +
    187 };
    +
    +
    188
    +
    + +
    190 {
    +
    191 public:
    +
    + +
    193 {
    +
    194 public:
    +
    195 uint32_t address;
    +
    196 virtual ~AbstractSegment();
    +
    197 virtual uint32_t GetStoredSize() = 0;
    +
    198 virtual uint32_t GetLoadedSize() = 0;
    +
    199 virtual void WriteFile(Linker::Writer& wr) = 0;
    +
    200 };
    +
    +
    201
    +
    + +
    203 {
    +
    204 public:
    +
    205 AbstractSegment * image;
    +
    206
    +
    207 enum
    +
    208 {
    +
    209 TSS16 = 0x00008100,
    +
    210 LDT = 0x00008200,
    +
    211 TSS32 = 0x00008900,
    +
    212 Code16 = 0x00009A00,
    +
    213 Code32 = 0x00409A00,
    +
    214 Data16 = 0x00009200,
    +
    215 Data32 = 0x00409200,
    +
    216
    +
    217 DESC_G = 0x00800000,
    +
    218 };
    +
    219
    +
    220 uint32_t limit;
    +
    221 uint32_t base;
    +
    222 uint32_t access;
    +
    223
    +
    224 Descriptor(uint32_t access, AbstractSegment * image = nullptr)
    +
    225 : image(image), limit(0), base(0), access(access)
    +
    226 {
    +
    227 }
    +
    228
    +
    229 void CalculateValues();
    +
    230
    +
    231 void WriteEntry(Linker::Writer& wr);
    +
    232 };
    +
    +
    233
    +
    + +
    235 {
    +
    236 public:
    +
    237 std::vector<Descriptor *> descriptors;
    +
    238
    +
    239 uint32_t GetStoredSize() override;
    +
    240
    +
    241 uint32_t GetLoadedSize() override;
    +
    242
    +
    243 void WriteFile(Linker::Writer& wr) override;
    +
    244
    +
    245 void CalculateValues();
    +
    246 };
    +
    +
    247
    +
    248 DescriptorTable gdt, idt, ldt;
    +
    249
    +
    + +
    251 {
    +
    252 public:
    +
    253 bool is_32bit;
    +
    254
    +
    255 uint32_t esp0, esp1, esp2;
    +
    256 uint32_t cr3, eip, eflags, eax, ecx, edx, ebx, esp, ebp, esi, edi;
    +
    257 uint16_t ss0, ss1, ss2, es, cs, ss, ds, fs, gs, ldtr, iopb;
    +
    258 uint16_t link;
    +
    259
    +
    260 TaskStateSegment(bool is_32bit = true)
    +
    261 : is_32bit(is_32bit)
    +
    262 {
    +
    263 }
    +
    264
    +
    265 uint32_t GetStoredSize() override;
    +
    266
    +
    267 uint32_t GetLoadedSize() override;
    +
    268
    +
    269 void WriteFile(Linker::Writer& wr) override;
    +
    270 };
    +
    +
    271
    + +
    273
    +
    +
    274 class Segment : public Descriptor, public AbstractSegment
    +
    275 {
    +
    276 public:
    +
    277 Linker::Segment * segment;
    +
    278
    +
    279 uint16_t selector;
    +
    280 uint16_t flags;
    +
    281 uint32_t base_offset; /* TODO??? */
    +
    282
    +
    283 Segment(Linker::Segment * segment, uint32_t access, uint16_t selector)
    +
    284 : Descriptor(access, this), segment(segment), selector(selector), base_offset(0)
    +
    285 {
    +
    286 }
    +
    287
    +
    288 uint32_t GetStoredSize() override;
    +
    289
    +
    290 uint32_t GetLoadedSize() override;
    +
    291
    +
    292 void WriteSITEntry(Linker::Writer& wr);
    +
    293
    +
    294 void WriteFile(Linker::Writer& wr) override;
    +
    295 };
    +
    +
    296
    +
    297 MultiSegmented(bool is_32bit = true)
    +
    298 : P3Format(true, is_32bit)
    +
    299 {
    +
    300 }
    +
    301
    +
    + +
    303 {
    +
    304 public:
    +
    305 Segment * segment;
    +
    306 uint32_t offset;
    +
    307
    +
    308 Relocation(Segment * segment, uint32_t offset)
    +
    309 : segment(segment), offset(offset)
    +
    310 {
    +
    311 }
    +
    312
    +
    313 bool operator ==(const Relocation& other) const;
    +
    314
    +
    315 bool operator <(const Relocation& other) const;
    +
    316
    +
    317 void WriteFile(Linker::Writer& wr) const;
    +
    318 };
    +
    +
    319
    +
    320 std::vector<AbstractSegment *> segments;
    +
    321 std::map<Linker::Segment *, Segment *> segment_associations;
    +
    322 std::set<Relocation> relocations;
    +
    323 Segment * code;
    +
    324 Segment * data;
    +
    325
    +
    326 void OnNewSegment(Linker::Segment * linker_segment) override;
    +
    327
    +
    328 Script::List * GetScript(Linker::Module& module);
    +
    329
    +
    330 void Link(Linker::Module& module);
    +
    331
    +
    332 void ProcessModule(Linker::Module& module) override;
    +
    333
    +
    334 void CalculateValues() override;
    +
    335
    +
    336 void WriteFile(Linker::Writer& wr) override;
    +
    337 };
    +
    +
    338}
    +
    339
    +
    340#endif /* PHARLAP_H */
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    Definition mzexe.h:286
    +
    Phar Lap "MP" .exp and "MQ" .rex file.
    Definition pharlap.h:14
    +
    void OnNewSegment(Linker::Segment *segment) override
    Callback function when allocating a new segment When the linker script runs, it creates segments cons...
    Definition pharlap.cc:40
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition pharlap.cc:8
    +
    void CalculateValues() override
    Intermediate step between processing module and generating output file to set up headers and manageme...
    Definition pharlap.cc:143
    +
    void SetOptions(std::map< std::string, std::string > &options) override
    Passes command line parameters as settings over to format object.
    Definition pharlap.cc:35
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition pharlap.cc:153
    +
    std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
    Appends a default extension to the filename.
    Definition pharlap.cc:187
    +
    void ProcessModule(Linker::Module &module) override
    Processes the module object and initializes format fields.
    Definition pharlap.cc:85
    +
    Definition pharlap.h:167
    +
    void OnNewSegment(Linker::Segment *segment) override
    Callback function when allocating a new segment When the linker script runs, it creates segments cons...
    Definition pharlap.cc:315
    +
    void CalculateValues() override
    Intermediate step between processing module and generating output file to set up headers and manageme...
    Definition pharlap.cc:429
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition pharlap.cc:473
    +
    void ProcessModule(Linker::Module &module) override
    Processes the module object and initializes format fields.
    Definition pharlap.cc:360
    + + + + + + +
    Definition pharlap.h:190
    +
    void ProcessModule(Linker::Module &module) override
    Processes the module object and initializes format fields.
    Definition pharlap.cc:737
    +
    void OnNewSegment(Linker::Segment *linker_segment) override
    Callback function when allocating a new segment When the linker script runs, it creates segments cons...
    Definition pharlap.cc:647
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition pharlap.cc:915
    +
    void CalculateValues() override
    Intermediate step between processing module and generating output file to set up headers and manageme...
    Definition pharlap.cc:837
    + +
    Phar Lap "P2"/"P3" .exp file.
    Definition pharlap.h:86
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition pharlap.cc:205
    +
    void SetOptions(std::map< std::string, std::string > &options) override
    Passes command line parameters as settings over to format object.
    Definition pharlap.cc:251
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition pharlap.cc:268
    +
    bool FormatSupportsSegmentation() const override
    Whether the format supports multiple segments.
    Definition pharlap.cc:210
    +
    std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
    Appends a default extension to the filename.
    Definition pharlap.cc:256
    +
    Definition script.h:61
    +
    Definition pharlap.h:27
    +
    + + + + diff --git a/html/plus.svg b/html/plus.svg new file mode 100644 index 00000000..07520165 --- /dev/null +++ b/html/plus.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/html/plusd.svg b/html/plusd.svg new file mode 100644 index 00000000..0c65bfe9 --- /dev/null +++ b/html/plusd.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/html/pmode_8h_source.html b/html/pmode_8h_source.html new file mode 100644 index 00000000..2d9aec05 --- /dev/null +++ b/html/pmode_8h_source.html @@ -0,0 +1,128 @@ + + + + + + + +RetroLinker: src/format/pmode.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    pmode.h
    +
    +
    +
    1#ifndef PMODE_H
    +
    2#define PMODE_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/linker.h"
    +
    6#include "../linker/reader.h"
    +
    7#include "../linker/writer.h"
    +
    8
    +
    9/* TODO: unimplemented */
    +
    10
    +
    11namespace PMODE
    +
    12{
    +
    + +
    17 {
    +
    18 public:
    +
    19 void ReadFile(Linker::Reader& in) override;
    +
    20 void WriteFile(Linker::Writer& out) override;
    +
    21 /* TODO */
    +
    22
    +
    23 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
    +
    24 };
    +
    +
    25}
    +
    26
    +
    27#endif /* PMODE_H */
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    PMODE/W linear executable format (https://github.com/amindlost/pmodew/blob/main/docs/pmw1fmt....
    Definition pmode.h:17
    +
    std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
    Appends a default extension to the filename.
    Definition pmode.cc:18
    +
    void WriteFile(Linker::Writer &out) override
    Stores data in memory to file.
    Definition pmode.cc:13
    +
    void ReadFile(Linker::Reader &in) override
    Loads file into memory.
    Definition pmode.cc:8
    +
    + + + + diff --git a/html/position_8h_source.html b/html/position_8h_source.html new file mode 100644 index 00000000..b4de9111 --- /dev/null +++ b/html/position_8h_source.html @@ -0,0 +1,141 @@ + + + + + + + +RetroLinker: src/linker/position.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    position.h
    +
    +
    +
    1#ifndef POSITION_H
    +
    2#define POSITION_H
    +
    3
    +
    4#include "../common.h"
    +
    5
    +
    6namespace Linker
    +
    7{
    +
    8 class Segment;
    +
    9
    +
    + +
    17 {
    +
    18 public:
    +
    22 offset_t address;
    + +
    27
    +
    28 Position(offset_t address = 0, Segment * segment = nullptr)
    + +
    30 {
    +
    31 }
    +
    32
    +
    36 offset_t GetSegmentOffset() const;
    +
    37
    +
    41 Position& operator+=(offset_t value);
    +
    42
    +
    46 Position& operator-=(offset_t value);
    +
    47 };
    +
    +
    48
    +
    52 Position operator+(Position a, offset_t b);
    +
    53
    +
    57 Position operator-(Position a, offset_t b);
    +
    58
    +
    62 bool operator ==(const Position& a, const Position& b);
    +
    63
    +
    67 bool operator !=(const Position& a, const Position& b);
    +
    68
    +
    69 std::ostream& operator<<(std::ostream& out, const Position& position); /* implemented separately to avoid circular references */
    +
    70}
    +
    71
    +
    72#endif /* POSITION_H */
    +
    Stores an absolute address along with the containing segment or address space.
    Definition position.h:17
    +
    offset_t GetSegmentOffset() const
    Returns the offset from the start of the segment.
    Definition position.cc:9
    +
    offset_t address
    The address of the position, independent of segment it belongs to.
    Definition position.h:22
    +
    Segment * segment
    The segment or address space of the position.
    Definition position.h:26
    +
    Position & operator-=(offset_t value)
    Arithmetic on the address.
    Definition position.cc:20
    +
    Position & operator+=(offset_t value)
    Arithmetic on the address.
    Definition position.cc:14
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    + + + + diff --git a/html/reader_8h_source.html b/html/reader_8h_source.html new file mode 100644 index 00000000..8d166391 --- /dev/null +++ b/html/reader_8h_source.html @@ -0,0 +1,152 @@ + + + + + + + +RetroLinker: src/linker/reader.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    reader.h
    +
    +
    +
    1#ifndef READER_H
    +
    2#define READER_H
    +
    3
    +
    4#include <cstring>
    +
    5#include <iostream>
    +
    6#include <string>
    +
    7#include "../common.h"
    +
    8
    +
    9namespace Linker
    +
    10{
    +
    +
    14 class Reader
    +
    15 {
    +
    16 public:
    +
    20 EndianType endiantype;
    +
    24 std::istream * in;
    +
    25
    +
    26 Reader(EndianType endiantype, std::istream * in = nullptr)
    + +
    28 {
    +
    29 }
    +
    30
    +
    34 void ReadData(size_t count, void * data);
    +
    35
    +
    39 std::string ReadData(size_t count, bool terminate_at_null = false);
    +
    40
    +
    44 std::string ReadASCIIZ(size_t maximum = (size_t)-1);
    +
    45
    +
    49 uint64_t ReadUnsigned(size_t bytes, EndianType endiantype);
    +
    50
    +
    54 uint64_t ReadUnsigned(size_t bytes);
    +
    55
    +
    59 uint64_t ReadSigned(size_t bytes, EndianType endiantype);
    +
    60
    +
    64 uint64_t ReadSigned(size_t bytes);
    +
    65
    +
    69 void Seek(offset_t offset);
    +
    70
    +
    74 void Skip(offset_t offset);
    +
    75
    +
    79 void SeekEnd(relative_offset_t offset = 0);
    +
    80
    +
    84 offset_t Tell();
    +
    85 };
    +
    +
    86}
    +
    87
    +
    88#endif /* READER_H */
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    void Skip(offset_t offset)
    Jump to a distance in the input stream.
    Definition reader.cc:63
    +
    void Seek(offset_t offset)
    Jump to a specific location in the input stream.
    Definition reader.cc:57
    +
    uint64_t ReadSigned(size_t bytes, EndianType endiantype)
    Read a signed word.
    Definition reader.cc:45
    +
    void SeekEnd(relative_offset_t offset=0)
    Jump to end of the input stream.
    Definition reader.cc:69
    +
    EndianType endiantype
    The default endianness of the binary format, used for reading multibyte numeric data.
    Definition reader.h:20
    +
    std::istream * in
    The input stream.
    Definition reader.h:24
    +
    void ReadData(size_t count, void *data)
    Read in a sequence of bytes.
    Definition reader.cc:6
    +
    std::string ReadASCIIZ(size_t maximum=(size_t) -1)
    Read a zero terminated ASCII string.
    Definition reader.cc:22
    +
    offset_t Tell()
    Retrieve the current location.
    Definition reader.cc:75
    +
    uint64_t ReadUnsigned(size_t bytes, EndianType endiantype)
    Read an unsigned word.
    Definition reader.cc:33
    +
    + + + + diff --git a/html/relocation_8h_source.html b/html/relocation_8h_source.html new file mode 100644 index 00000000..7c8c68e3 --- /dev/null +++ b/html/relocation_8h_source.html @@ -0,0 +1,211 @@ + + + + + + + +RetroLinker: src/linker/relocation.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    relocation.h
    +
    +
    +
    1#ifndef RELOCATION_H
    +
    2#define RELOCATION_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "location.h"
    +
    6#include "resolution.h"
    +
    7#include "section.h"
    +
    8#include "target.h"
    +
    9
    +
    10namespace Linker
    +
    11{
    +
    + +
    27 {
    +
    28 public:
    + +
    39 size_t size;
    + + + +
    55 uint64_t addend;
    +
    59 EndianType endiantype;
    +
    63 int shift;
    +
    67 uint64_t mask;
    + +
    72
    + + +
    75 shift(0), mask(-1), subtract(false)
    +
    76 {
    +
    77 }
    +
    78
    +
    85 static Relocation Empty();
    +
    86
    +
    90 static Relocation Absolute(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype);
    +
    91
    +
    95 static Relocation Absolute(size_t size, Location source, Target target, uint64_t addend = 0);
    +
    96
    +
    100 static Relocation Offset(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype);
    +
    101
    +
    105 static Relocation Offset(size_t size, Location source, Target target, uint64_t addend = 0);
    +
    106
    +
    110 static Relocation OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype);
    +
    111
    + +
    116
    +
    120 static Relocation Relative(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype);
    +
    121
    +
    125 static Relocation Relative(size_t size, Location source, Target target, uint64_t addend = 0);
    +
    126
    +
    130 static Relocation Paragraph(Location source, Target target, uint64_t addend = 0);
    +
    131
    +
    135 static Relocation Selector(Location source, Target target, uint64_t addend = 0);
    +
    136
    +
    140 static Relocation Segment(size_t size, Location source, Target target, uint64_t addend = 0);
    +
    141
    + +
    149
    +
    153 Relocation& SetMask(uint64_t new_mask);
    +
    154
    +
    158 Relocation& SetShift(int new_shift);
    +
    159
    +
    163 Relocation& SetSubtract(bool to_subtract = true);
    +
    164
    +
    168 bool Displace(const Displacement& displacement);
    +
    169
    +
    173 bool Resolve(Module& object, Resolution& resolution);
    +
    174
    +
    178 uint64_t ReadUnsigned();
    +
    179
    +
    183 int64_t ReadSigned();
    +
    184
    +
    188 void WriteWord(uint64_t value);
    +
    189
    +
    197 void AddCurrentValue();
    +
    198
    +
    205 bool IsRelative() const;
    +
    206 };
    +
    +
    207
    +
    208 std::ostream& operator<<(std::ostream& out, const Relocation& relocation);
    +
    209}
    +
    210
    +
    211#endif /* RELOCATION_H */
    +
    Represents a single offset within a section, or an absolute location in memory if the section is null...
    Definition location.h:16
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A representation of a value within some binary data that has to be fixed up once the exact position o...
    Definition relocation.h:27
    +
    static Relocation Paragraph(Location source, Target target, uint64_t addend=0)
    Creates a relocation that stores the 16-bit paragraph (shifted right by 4) of the target (Intel 8086 ...
    Definition relocation.cc:53
    +
    Relocation & SetShift(int new_shift)
    The value stored in the word must be shifted by this to give the actual value.
    Definition relocation.cc:83
    +
    Location source
    The location where the value of the symbol should be stored.
    Definition relocation.h:43
    +
    bool Resolve(Module &object, Resolution &resolution)
    If the target and reference symbols can be resolved, return the value with some additional informatio...
    Definition relocation.cc:100
    +
    bool segment_of
    Set when the value to be stored is the segment selector instead of the segment start (Intel 8086 spec...
    Definition relocation.h:35
    +
    static Relocation Offset(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)
    Creates a relocation that references the offset of a target within its preferred segment (Intel 8086 ...
    Definition relocation.cc:21
    +
    static Relocation Relative(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)
    Creates a relocation that references the offset of a target from the source.
    Definition relocation.cc:43
    +
    void AddCurrentValue()
    Updates the addend with the value stored in the section data.
    Definition relocation.cc:164
    +
    Relocation & SetSubtract(bool to_subtract=true)
    The value stored in the word must be negated before adding the addend and storing.
    Definition relocation.cc:89
    +
    EndianType endiantype
    The endianness of the stored value.
    Definition relocation.h:59
    +
    int64_t ReadSigned()
    Accesses the value within the section data.
    Definition relocation.cc:139
    +
    Target target
    The symbol or location referenced by the relocation.
    Definition relocation.h:47
    +
    static Relocation ParagraphDifference(Location source, Target target, Target reference, uint64_t addend=0)
    Creates a relocation that stores the 16-bit paragraph difference (shifted right by 4) between the tar...
    Definition relocation.cc:71
    +
    static Relocation Absolute(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)
    Creates a relocation referencing the absolute address of a target.
    Definition relocation.cc:11
    +
    Relocation & SetMask(uint64_t new_mask)
    Instead of the full word, only modify the following bits.
    Definition relocation.cc:77
    +
    uint64_t addend
    A value to be added.
    Definition relocation.h:55
    +
    Target reference
    The symbol or location whose value is subtracted from the final value, used for self-relative and seg...
    Definition relocation.h:51
    +
    static Relocation Selector(Location source, Target target, uint64_t addend=0)
    Creates a relocation that stores the 16-bit paragraph (shifted right by 4) of the target (Intel 8086 ...
    Definition relocation.cc:59
    +
    uint64_t mask
    The bitmask of the value within the word.
    Definition relocation.h:67
    +
    bool Displace(const Displacement &displacement)
    Recalculates the source, target and reference locations after a section has moved.
    Definition relocation.cc:95
    +
    void WriteWord(uint64_t value)
    Accesses the value within the section data.
    Definition relocation.cc:150
    +
    static Relocation OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype)
    Creates a relocation that references the offset of a target from a specific reference point.
    Definition relocation.cc:33
    +
    bool subtract
    Set to true if value must be negated first.
    Definition relocation.h:71
    +
    static Relocation Empty()
    Creates an empty relocation.
    Definition relocation.cc:6
    +
    bool IsRelative() const
    Determines if a relocation is self-relative.
    Definition relocation.cc:170
    +
    static Relocation Segment(size_t size, Location source, Target target, uint64_t addend=0)
    Creates a relocation that stores the 8-bit segment number of the target (Zilog Z8000 specific)
    Definition relocation.cc:65
    +
    uint64_t ReadUnsigned()
    Accesses the value within the section data.
    Definition relocation.cc:128
    +
    size_t size
    The size of the value when stored at the source, in bytes (for example, 2 for 16-bit,...
    Definition relocation.h:39
    +
    int shift
    The amount of bits the value should be shifted by.
    Definition relocation.h:63
    +
    Representing a resolved relocation.
    Definition resolution.h:17
    +
    Represents a possible target or reference frame of a relocation.
    Definition target.h:24
    +
    + + + + diff --git a/html/resolution_8h_source.html b/html/resolution_8h_source.html new file mode 100644 index 00000000..f4cf5ff7 --- /dev/null +++ b/html/resolution_8h_source.html @@ -0,0 +1,134 @@ + + + + + + + +RetroLinker: src/linker/resolution.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    resolution.h
    +
    +
    +
    1#ifndef RESOLUTION_H
    +
    2#define RESOLUTION_H
    +
    3
    +
    4#include <iostream>
    +
    5#include "../common.h"
    +
    6#include "target.h"
    +
    7#include "segment.h"
    +
    8
    +
    9namespace Linker
    +
    10{
    +
    + +
    17 {
    +
    18 public:
    +
    22 uint64_t value;
    + + +
    33
    + +
    35 {
    +
    36 }
    +
    37
    + +
    39 :
    +
    40 value(value),
    +
    41 target(target == reference ? nullptr : target),
    +
    42 reference(target == reference ? nullptr : reference)
    +
    43 {
    +
    44 }
    +
    45 };
    +
    +
    46
    +
    47 std::ostream& operator<<(std::ostream& out, const Resolution& resolution);
    +
    48}
    +
    49
    +
    50#endif /* RESOLUTION_H */
    +
    Representing a resolved relocation.
    Definition resolution.h:17
    +
    uint64_t value
    The resolved value.
    Definition resolution.h:22
    +
    Segment * reference
    The segment of the reference.
    Definition resolution.h:32
    +
    Segment * target
    The segment of the target.
    Definition resolution.h:26
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    + + + + diff --git a/html/script_8h_source.html b/html/script_8h_source.html new file mode 100644 index 00000000..be46ea85 --- /dev/null +++ b/html/script_8h_source.html @@ -0,0 +1,291 @@ + + + + + + + +RetroLinker: src/script/script.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    script.h
    +
    +
    +
    1#ifndef __NODE_H
    +
    2#define __NODE_H
    +
    3
    +
    4#include <typeinfo>
    +
    5#include <vector>
    +
    6
    +
    7namespace Script
    +
    8{
    +
    9
    +
    10template <typename Type = void>
    +
    11 class Value;
    +
    12
    +
    13template <>
    +
    +
    14 class Value<void>
    +
    15{
    +
    16public:
    +
    17 virtual ~Value() { }
    +
    18protected:
    +
    19 virtual const void * Get(const std::type_info& type) const
    +
    20 {
    +
    21 return nullptr;
    +
    22 }
    +
    23public:
    +
    24 template <typename T>
    +
    25 T * Get()
    +
    26 {
    +
    27 return reinterpret_cast<T *>(const_cast<void *>(Get(typeid(T))));
    +
    28 }
    +
    29
    +
    30 template <typename T>
    +
    31 const T * Get() const
    +
    32 {
    +
    33 return reinterpret_cast<T *>(Get(typeid(T)));
    +
    34 }
    +
    35};
    +
    +
    36
    +
    37template <typename Type>
    +
    +
    38 class Value : public Value<>
    +
    39{
    +
    40public:
    +
    41 Type value;
    +
    42
    +
    43 Value(const Type& value)
    +
    44 : value(value)
    +
    45 {
    +
    46 }
    +
    47
    +
    48protected:
    +
    49 const void * Get(const std::type_info& type) const override
    +
    50 {
    +
    51 if(typeid(Type) == type)
    +
    52 return &value;
    +
    53 else
    +
    54 return nullptr;
    +
    55 }
    +
    56};
    +
    +
    57
    +
    58class Node;
    +
    59
    +
    +
    60class List
    +
    61{
    +
    62public:
    +
    63 std::vector<Node *> children;
    +
    64
    +
    65protected:
    +
    66 void init() { }
    +
    67 template <typename ... Nodes>
    +
    68 void init(Node * node, Nodes ... nodes)
    +
    69 {
    +
    70 children.push_back(node);
    +
    71 init(nodes...);
    +
    72 }
    +
    73
    +
    74public:
    +
    75 template <typename ... Nodes>
    +
    76 List(Nodes ... nodes)
    +
    77 {
    +
    78 init(nodes...);
    +
    79 }
    +
    80
    +
    81 List * Append(Node * node)
    +
    82 {
    +
    83 children.push_back(node);
    +
    84 return this;
    +
    85 }
    +
    86};
    +
    +
    87
    +
    +
    88class Node
    +
    89{
    +
    90public:
    +
    91 enum node_type
    +
    92 {
    +
    93 Sequence, /* $... */
    +
    94 CurrentAddress, /* here */
    +
    95 Identifier, /* $s */
    +
    96 Parameter, /* ?$s? */
    +
    97 Integer, /* $i */
    +
    98 BaseOf, /* base of $s */
    +
    99 StartOf, /* start of $s */
    +
    100 SizeOf, /* size of $s */
    +
    101 Location, /* $1:$2 */
    +
    102 Neg, /* -$1 */
    +
    103 Not, /* ~$1 */
    +
    104 AlignTo, /* align($1, $2) */
    +
    105 Minimum, /* minimum($...) */
    +
    106 Maximum, /* maximum($...) */
    +
    107 Shl, /* $1<<$2 */
    +
    108 Shr, /* $1>>$2 */
    +
    109 Add, /* $1+$2 */
    +
    110 Sub, /* $1-$2 */
    +
    111 And, /* $1&$2 */
    +
    112 Xor, /* $1^$2 */
    +
    113 Or, /* $1|$2 */
    +
    114
    +
    115 SetCurrentAddress, /* at $1 */
    +
    116 AlignAddress, /* align $1 */
    +
    117 SetNextBase, /* base $1 */
    +
    118 Assign, /* $s = $1 */
    +
    119
    +
    120 MatchAny, /* any */
    +
    121 MatchName, /* $s */
    +
    122 MatchSuffix, /* suffix $s */
    +
    123
    +
    124 IsReadable, /* read */
    +
    125 IsWritable, /* write */
    +
    126 IsExecutable, /* execute */
    +
    127 IsMergeable, /* merge */
    +
    128 IsZeroFilled, /* zero */
    +
    129 IsFixedAddress, /* fixed */
    +
    130 IsResource, /* resource */
    +
    131 IsOptional, /* optional */
    +
    132 IsStack, /* stack */
    +
    133 IsHeap, /* heap */
    +
    134 IsCustomFlag, /* custom flags */
    +
    135 Collect, /* all $1 $2 */
    +
    136 NotPredicate, /* not $1 */
    +
    137 AndPredicate, /* $1 and $2 */
    +
    138 OrPredicate, /* $1 or $2 */
    +
    139 MaximumSections, /* $1 maximum $2 */
    +
    140
    +
    141 Segment, /* $s { $1 } $2 */
    +
    142 SegmentTemplate, /* for $1 { $2 } $3 */
    +
    143 } type;
    +
    144 Value<> * value;
    +
    145 List * list;
    +
    146
    +
    147 Node(node_type type, Value<> * value, List * list)
    +
    148 : type(type), value(value), list(list)
    +
    149 {
    +
    150 }
    +
    151
    +
    152 Node(node_type type, Value<> * value)
    +
    153 : type(type), value(value), list(new List)
    +
    154 {
    +
    155 }
    +
    156
    +
    157 Node(node_type type, List * list)
    +
    158 : type(type), value(new Value<>), list(list)
    +
    159 {
    +
    160 }
    +
    161
    +
    162 Node(node_type type)
    +
    163 : type(type), value(new Value<>), list(new List)
    +
    164 {
    +
    165 }
    +
    166
    +
    167 Node *& at(size_t index)
    +
    168 {
    +
    169 return list->children[index];
    +
    170 }
    +
    171
    +
    172 Node * const& at(size_t index) const
    +
    173 {
    +
    174 return list->children[index];
    +
    175 }
    +
    176};
    +
    +
    177
    +
    178List * parse_string(const char * buffer);
    +
    179List * parse_file(const char * filename);
    +
    180
    +
    181}
    +
    182
    +
    183extern void set_buffer(const char * buffer);
    +
    184extern void set_stream(FILE * file);
    +
    185extern int yylex(void);
    +
    186
    +
    187#endif /* __NODE_H */
    +
    Definition script.h:61
    +
    Definition script.h:89
    +
    Definition script.h:39
    +
    + + + + diff --git a/html/search/all_0.js b/html/search/all_0.js new file mode 100644 index 00000000..afdab1b1 --- /dev/null +++ b/html/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['16_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/all_1.js b/html/search/all_1.js new file mode 100644 index 00000000..badf2db3 --- /dev/null +++ b/html/search/all_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['32_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/all_10.js b/html/search/all_10.js new file mode 100644 index 00000000..b1eeb0bb --- /dev/null +++ b/html/search/all_10.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['o65format_0',['O65Format',['../classO65_1_1O65Format.html',1,'O65']]], + ['object_1',['Object',['../classMicrosoft_1_1LEFormat_1_1Object.html',1,'Microsoft::LEFormat']]], + ['offset_2',['Offset',['../classLinker_1_1Relocation.html#a4407a27508fe3cc7a6315a44994d1cc2',1,'Linker::Relocation::Offset(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#acb1903efffda06e377c6bbe9cafa0609',1,'Linker::Relocation::Offset(size_t size, Location source, Target target, uint64_t addend=0)']]], + ['offset_3',['offset',['../classCOFF_1_1COFFFormat_1_1ZilogRelocation.html#ac1e1b25cd23a017063698a33fa0166de',1,'COFF::COFFFormat::ZilogRelocation::offset'],['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#acc772c301a73314c8d696d2aaf013260',1,'DigitalResearch::CPM86Format::Descriptor::offset'],['../structDigitalResearch_1_1CPM86Format_1_1relocation__source.html#a2e3ca0da4c8420dc11f8e895c95b39c3',1,'DigitalResearch::CPM86Format::relocation_source::offset'],['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a2a9c00d208b331e1ab09d3d3e144a8fe',1,'DigitalResearch::CPM8KFormat::Relocation::offset'],['../structMicrosoft_1_1MZFormat_1_1Relocation.html#a127026cf67e4a22ebe0a8f9b88ac2863',1,'Microsoft::MZFormat::Relocation::offset'],['../classLinker_1_1Location.html#a25ca0ec72853a302fb6e42b6ed4c25d2',1,'Linker::Location::offset']]], + ['offset_5fdisplay_5fwidth_4',['offset_display_width',['../classDumper_1_1Block.html#a0ff9b694fee1874304991283846424de',1,'Dumper::Block']]], + ['offset_5frecord_5',['offset_record',['../structDigitalResearch_1_1CPM86Format_1_1rsx__record.html#a6c88a7c897eb0461dfa01dae899d736f',1,'DigitalResearch::CPM86Format::rsx_record']]], + ['offsetfrom_6',['OffsetFrom',['../classLinker_1_1Relocation.html#ab1c277444f6f8b86162d523fc84b1554',1,'Linker::Relocation::OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#a0f1364079d76f4cda400181e188cc084',1,'Linker::Relocation::OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend=0)']]], + ['omfformat_7',['OMFFormat',['../classApple_1_1OMFFormat.html',1,'Apple::OMFFormat'],['../classOMF_1_1OMFFormat.html',1,'OMF::OMFFormat']]], + ['onnewsegment_8',['OnNewSegment',['../classBinary_1_1AtariFormat.html#a38797034a1a3d035a928c2108e401b4a',1,'Binary::AtariFormat::OnNewSegment()'],['../classBinary_1_1FLEXFormat.html#a69864d591fe0e9a1b3b920e70c7db0d2',1,'Binary::FLEXFormat::OnNewSegment()'],['../classBinary_1_1PRLFormat.html#a19d18a89786bf3749e2e749924ab3b2c',1,'Binary::PRLFormat::OnNewSegment()'],['../classBinary_1_1UZI280Format.html#a0f7e5560ec84dedd9522d57603f0bff2',1,'Binary::UZI280Format::OnNewSegment()'],['../classAOut_1_1AOutFormat.html#a6c8f21ca6add3d123b0ee39aefd98ca6',1,'AOut::AOutFormat::OnNewSegment()'],['../classBinary_1_1BinaryFormat.html#ac0f4435b37b7060465169e7bd9362da5',1,'Binary::BinaryFormat::OnNewSegment()'],['../classDOS16M_1_1BWFormat.html#a3c2b5119c8831e1e3aa5e52952ee1082',1,'DOS16M::BWFormat::OnNewSegment()'],['../classCOFF_1_1COFFFormat.html#ad3dd132cdab03a545c48267b73ddcaa4',1,'COFF::COFFFormat::OnNewSegment()'],['../classDigitalResearch_1_1CPM68KFormat.html#aa9238a504c2cb8f5e34a19170d703c1f',1,'DigitalResearch::CPM68KFormat::OnNewSegment()'],['../classDigitalResearch_1_1CPM8KFormat.html#a9189caaf9597a30ba0535f5235b5be94',1,'DigitalResearch::CPM8KFormat::OnNewSegment()'],['../classX68000_1_1HUFormat.html#ac4a60872fc71f5a0bf583e1bbcf222ad',1,'X68000::HUFormat::OnNewSegment()'],['../classAmiga_1_1HunkFormat.html#af186f0dd87dc7976dacabb41837b7c0b',1,'Amiga::HunkFormat::OnNewSegment()'],['../classMicrosoft_1_1LEFormat.html#a9320e434ebe4111389bad0935630d779',1,'Microsoft::LEFormat::OnNewSegment()'],['../classApple_1_1ResourceFork.html#ada0c0c8828a457d6e1c5a06ed612b4a4',1,'Apple::ResourceFork::OnNewSegment()'],['../classMINIX_1_1MINIXFormat.html#a98d0cfc391b83f53fb691bc66a62d392',1,'MINIX::MINIXFormat::OnNewSegment()'],['../classMicrosoft_1_1MZFormat.html#afa0b1127d28dd5fa1648a83fb43179b6',1,'Microsoft::MZFormat::OnNewSegment()'],['../classMicrosoft_1_1NEFormat.html#aca8f3be52d106a9a7c1164e8a68597d7',1,'Microsoft::NEFormat::OnNewSegment()'],['../classPharLap_1_1MPFormat.html#a3de080158ea6605be327284ce73b9ad1',1,'PharLap::MPFormat::OnNewSegment()'],['../classPharLap_1_1P3Format_1_1Flat.html#a1fcf5a52ef60b57b0b21bfafa7203cce',1,'PharLap::P3Format::Flat::OnNewSegment()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#a9837df407d3cc958af2d253b8d287067',1,'PharLap::P3Format::MultiSegmented::OnNewSegment()'],['../classLinker_1_1LinkerManager.html#a042e3111f536030659635482f65ad28a',1,'Linker::LinkerManager::OnNewSegment()']]], + ['operator_21_3d_9',['operator!=',['../classLinker_1_1SymbolName.html#a15d71d6d8b0be64f3e28412859d254b7',1,'Linker::SymbolName::operator!=()'],['../classLinker_1_1ExportedSymbol.html#a579b3b21771a55dadbb765d4dc69a31f',1,'Linker::ExportedSymbol::operator!=()']]], + ['operator_2b_3d_10',['operator+=',['../classLinker_1_1Position.html#ad751a394f71ddbd74bd071885aa6fdbd',1,'Linker::Position']]], + ['operator_2d_3d_11',['operator-=',['../classLinker_1_1Position.html#aaba27c80cda33644b239a3bea01a4cc2',1,'Linker::Position']]], + ['operator_3c_12',['operator<',['../classLinker_1_1ExportedSymbol.html#a4306df9ff6cdc8241709947407bc8627',1,'Linker::ExportedSymbol']]], + ['operator_3c_3d_13',['operator<=',['../classLinker_1_1ExportedSymbol.html#a68e80ed7a3e77810ae675341fbd0e03e',1,'Linker::ExportedSymbol']]], + ['operator_3d_3d_14',['operator==',['../classLinker_1_1SymbolName.html#afee6804e76ddec4fa10646c1d963b174',1,'Linker::SymbolName::operator==()'],['../classLinker_1_1ExportedSymbol.html#af0e20520bc9bd8c01743456e68b9c723',1,'Linker::ExportedSymbol::operator==(const ExportedSymbol &other) const']]], + ['operator_3e_15',['operator>',['../classLinker_1_1ExportedSymbol.html#a3381e59ff0cee6adab8af5e98a85e44d',1,'Linker::ExportedSymbol']]], + ['operator_3e_3d_16',['operator>=',['../classLinker_1_1ExportedSymbol.html#a5480954b5a5e2c7a9c5d6a680c7dd4f7',1,'Linker::ExportedSymbol']]], + ['option_5ffile_5falign_17',['option_file_align',['../classMicrosoft_1_1MZFormat.html#a78a0b07fae7be7e2c36520f8b75f21d7',1,'Microsoft::MZFormat']]], + ['option_5fheader_5falign_18',['option_header_align',['../classMicrosoft_1_1MZFormat.html#ac56229a9b8924e82296f7d8fceb3c97f',1,'Microsoft::MZFormat']]], + ['option_5fno_5frelocation_19',['option_no_relocation',['../classCOFF_1_1COFFFormat.html#a97f961f381b5c5fa26b60aa6572d0f21',1,'COFF::COFFFormat::option_no_relocation'],['../classDigitalResearch_1_1CPM68KFormat.html#a4112088df9ee7c9b88ce2e74982ed530',1,'DigitalResearch::CPM68KFormat::option_no_relocation'],['../classDigitalResearch_1_1CPM86Format.html#a3f18716204de64f834a4c3a600f01015',1,'DigitalResearch::CPM86Format::option_no_relocation']]], + ['optional_20',['Optional',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fadada38e1155b0e6747c8fd45cdff3eea',1,'Linker::Section']]], + ['optional_5fextra_21',['optional_extra',['../classLinker_1_1Segment.html#a8d1a62222394361fe319e6037c31ce7e',1,'Linker::Segment']]], + ['optional_5ffield_22',['optional_field',['../classDumper_1_1Field.html#af1d0e831e904f722419f9071b614165d',1,'Dumper::Field']]], + ['optional_5fheader_23',['optional_header',['../classCOFF_1_1COFFFormat.html#ab0273a2ce020c6034785aa4c3d651e93',1,'COFF::COFFFormat']]], + ['optional_5fheader_5fsize_24',['optional_header_size',['../classCOFF_1_1COFFFormat.html#a2221ccffecbd782ee7856d888559cf9d',1,'COFF::COFFFormat']]], + ['optionalheader_25',['OptionalHeader',['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html',1,'COFF::COFFFormat']]], + ['out_26',['out',['../classLinker_1_1Writer.html#ad96e63b6bb67ab5b2647ed531a805f89',1,'Linker::Writer']]], + ['output_20formats_27',['Supported output formats',['../index.html#x_output_formats',1,'']]], + ['output_5fformat_5ftype_28',['output_format_type',['../structoutput__format__type.html',1,'']]], + ['outputformat_29',['OutputFormat',['../classLinker_1_1OutputFormat.html',1,'Linker']]], + ['overlay_5fnumber_30',['overlay_number',['../classMicrosoft_1_1MZFormat.html#ade87671fa31e8389cd28b8a8eddd59d3',1,'Microsoft::MZFormat']]] +]; diff --git a/html/search/all_11.js b/html/search/all_11.js new file mode 100644 index 00000000..df4a1376 --- /dev/null +++ b/html/search/all_11.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['p3format_0',['P3Format',['../classPharLap_1_1P3Format.html',1,'PharLap']]], + ['page_1',['Page',['../classMicrosoft_1_1LEFormat_1_1Page.html',1,'Microsoft::LEFormat']]], + ['paragraph_2',['Paragraph',['../classLinker_1_1Relocation.html#a04a671196fe896c497f18eb95cb7fed1',1,'Linker::Relocation']]], + ['paragraphdifference_3',['ParagraphDifference',['../classLinker_1_1Relocation.html#a6462f258ad6f126bc1e0397ff2f82d27',1,'Linker::Relocation']]], + ['pefformat_4',['PEFFormat',['../classApple_1_1PEFFormat.html',1,'Apple']]], + ['peformat_5',['PEFormat',['../classMicrosoft_1_1PEFormat.html',1,'Microsoft']]], + ['pefreader_6',['PEFReader',['../classdump_1_1PEFReader.html',1,'dump']]], + ['pereader_7',['PEReader',['../classdump_1_1PEReader.html',1,'dump']]], + ['physical_5faddress_8',['physical_address',['../classCOFF_1_1COFFFormat_1_1Section.html#ac65a71db7780d887460b244eb783bd75',1,'COFF::COFFFormat::Section']]], + ['pif_9',['PIF',['../structMicrosoft_1_1MZFormat_1_1PIF.html',1,'Microsoft::MZFormat']]], + ['pif_10',['pif',['../classBinary_1_1BinaryFormat.html#aa01e9439712270dc44509a36476403f9',1,'Binary::BinaryFormat::pif'],['../classMicrosoft_1_1MZFormat.html#a5c2674eb50c57057fef4510896b885f0',1,'Microsoft::MZFormat::pif']]], + ['pmw1format_11',['PMW1Format',['../classPMODE_1_1PMW1Format.html',1,'PMODE']]], + ['point_12',['Point',['../structApple_1_1FinderInfo_1_1Point.html',1,'Apple::FinderInfo']]], + ['position_13',['Position',['../classLinker_1_1Position.html',1,'Linker']]], + ['position_5fdisplay_5fwidth_14',['position_display_width',['../classDumper_1_1Block.html#a5414cdaa41d5c73dd188e55b4793cda3',1,'Dumper::Block']]], + ['position_5findependent_15',['position_independent',['../classBinary_1_1BinaryFormat.html#a33000166b05ee7fd80659262baa66574',1,'Binary::BinaryFormat']]], + ['postreadfile_16',['PostReadFile',['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html#a9a62da5a8e339d05035eaf22d2296241',1,'COFF::COFFFormat::OptionalHeader::PostReadFile()'],['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#a71a0a2a89dd45195a27beff8cf2d7728',1,'COFF::COFFFormat::FlexOSAOutHeader::PostReadFile()']]], + ['postwritefile_17',['PostWriteFile',['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html#a299f440ad2bf55366dca6a25fc7450bc',1,'COFF::COFFFormat::OptionalHeader::PostWriteFile()'],['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#a39185f6d2595df5c1ad0dc7e1a409493',1,'COFF::COFFFormat::FlexOSAOutHeader::PostWriteFile()']]], + ['printdec_18',['PrintDec',['../classDumper_1_1Dumper.html#a9127b08f323f8f942587f601f61b2ce6',1,'Dumper::Dumper']]], + ['printhex_19',['PrintHex',['../classDumper_1_1Dumper.html#a5bbe1f1167e547ae15e0be50fb22f64f',1,'Dumper::Dumper']]], + ['prlformat_20',['PRLFormat',['../classBinary_1_1PRLFormat.html',1,'Binary']]], + ['processmodule_21',['ProcessModule',['../classBinary_1_1AtariFormat.html#ad99743036f489514006642c6a7e6c458',1,'Binary::AtariFormat::ProcessModule()'],['../classBinary_1_1CommodoreFormat.html#a3c102f06f6071749e7ec1a05db3158dd',1,'Binary::CommodoreFormat::ProcessModule()'],['../classBinary_1_1UZIFormat.html#ad7b8c0f4e78c264cc888043db4a6c34b',1,'Binary::UZIFormat::ProcessModule()'],['../classAOut_1_1AOutFormat.html#ab5bea1d84db8cfeebad9fbfb807f6af7',1,'AOut::AOutFormat::ProcessModule()'],['../classBinary_1_1BinaryFormat.html#a66f83cae99d2a72735f914a763f8ba9f',1,'Binary::BinaryFormat::ProcessModule()'],['../classDOS16M_1_1BWFormat.html#abbe31d54db62342fedf965a72420c680',1,'DOS16M::BWFormat::ProcessModule()'],['../classCOFF_1_1COFFFormat.html#ad6e72adc262e5910df2cfc675755f430',1,'COFF::COFFFormat::ProcessModule()'],['../classDigitalResearch_1_1CPM68KFormat.html#ad4207cf0fab6b484032c57d0038b794b',1,'DigitalResearch::CPM68KFormat::ProcessModule()'],['../classDigitalResearch_1_1CPM86Format.html#a25c41738814b891d57274f5371b25c4f',1,'DigitalResearch::CPM86Format::ProcessModule()'],['../classDigitalResearch_1_1CPM8KFormat.html#acf42701b3e0770da961597ec0994bf59',1,'DigitalResearch::CPM8KFormat::ProcessModule()'],['../classX68000_1_1HUFormat.html#a077c76309ab78cb84a34c3eaa7c705d5',1,'X68000::HUFormat::ProcessModule()'],['../classAmiga_1_1HunkFormat.html#a10585d5dbd06a323fa8b52a5b19480e4',1,'Amiga::HunkFormat::ProcessModule()'],['../classMicrosoft_1_1LEFormat.html#aaebe52a538fa5e732e7430a98bf285f0',1,'Microsoft::LEFormat::ProcessModule()'],['../classApple_1_1AppleSingleDouble.html#a5ff371b8a4200b5a3511b49310f17c4a',1,'Apple::AppleSingleDouble::ProcessModule()'],['../classApple_1_1ResourceFork_1_1GenericResource.html#a7303e0680f70d5fd3e8e3f56ea7a3caa',1,'Apple::ResourceFork::GenericResource::ProcessModule()'],['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html#a7bcaaf685f04019bd728999eca4a2090',1,'Apple::ResourceFork::JumpTableCodeResource::ProcessModule()'],['../classApple_1_1ResourceFork_1_1CodeResource.html#a1ec4dfd31e760718d3a7490bc9dcb221',1,'Apple::ResourceFork::CodeResource::ProcessModule()'],['../classMINIX_1_1MINIXFormat.html#a3e07151724b42f7b720d8f962b8ce520',1,'MINIX::MINIXFormat::ProcessModule()'],['../classMicrosoft_1_1MZFormat.html#afabb348a27e595170b8ccf9a8b3ff197',1,'Microsoft::MZFormat::ProcessModule()'],['../classMicrosoft_1_1NEFormat.html#afa8dd720f2f63991cb5d3daa07346c45',1,'Microsoft::NEFormat::ProcessModule()'],['../classPharLap_1_1MPFormat.html#acd49e88b77e48274108aa21ccab58517',1,'PharLap::MPFormat::ProcessModule()'],['../classPharLap_1_1P3Format_1_1Flat.html#afd68e3988d8da3bd2f25c97e56d9ddc7',1,'PharLap::P3Format::Flat::ProcessModule()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#a4db8e384678f3da2eb2bc82e62af1f1f',1,'PharLap::P3Format::MultiSegmented::ProcessModule()'],['../classLinker_1_1OutputFormat.html#a264c8d1ecae5c2cd5d20678d4479567f',1,'Linker::OutputFormat::ProcessModule()']]], + ['processrelocation_22',['ProcessRelocation',['../classBinary_1_1PRLFormat.html#a6cf83f27a7a7f2cc67a935a010be86cc',1,'Binary::PRLFormat::ProcessRelocation()'],['../classBinary_1_1BinaryFormat.html#a93bf5aa551ba5572b24ba6d565d4213d',1,'Binary::BinaryFormat::ProcessRelocation()']]], + ['processscript_23',['ProcessScript',['../classLinker_1_1LinkerManager.html#a78436685f5eb510f136a40c0722f53f0',1,'Linker::LinkerManager']]], + ['prodos_24',['ProDOS',['../classApple_1_1FileInfo_1_1ProDOS.html',1,'Apple::FileInfo']]], + ['prodosfileinfo_25',['ProDOSFileInfo',['../classApple_1_1ProDOSFileInfo.html',1,'Apple']]], + ['producemodule_26',['ProduceModule',['../classAOut_1_1AOutFormat.html#a0323a0b83974707ef47894364c211d7d',1,'AOut::AOutFormat::ProduceModule()'],['../classAS86Obj_1_1AS86ObjFormat.html#a053cb4076029477f441d322af61383a4',1,'AS86Obj::AS86ObjFormat::ProduceModule()'],['../classCOFF_1_1COFFFormat.html#a4c4ce3924c5e57d3427fe4aa667474f4',1,'COFF::COFFFormat::ProduceModule()'],['../classELF_1_1ELFFormat.html#aeb5460f1f1a717f45d2ae52b98a8b925',1,'ELF::ELFFormat::ProduceModule()'],['../classO65_1_1O65Format.html#ab51cae36f93e26d75e63b086379238cf',1,'O65::O65Format::ProduceModule()'],['../classOMF_1_1OMFFormat.html#a3045b8b01b76cd6e485aefb65ee5a3cb',1,'OMF::OMFFormat::ProduceModule()'],['../classLinker_1_1InputFormat.html#a58bcbddd1c00b23b581c8bf55e65c8dc',1,'Linker::InputFormat::ProduceModule()']]], + ['program_5fflags_27',['program_flags',['../classDigitalResearch_1_1CPM68KFormat.html#a2afc0b8e6ac0aff40e946bea69166133',1,'DigitalResearch::CPM68KFormat']]], + ['putchar_28',['PutChar',['../classDumper_1_1Dumper.html#ad70bd979bbe1b63554ddec79eb14d942',1,'Dumper::Dumper']]] +]; diff --git a/html/search/all_12.js b/html/search/all_12.js new file mode 100644 index 00000000..0095e9ce --- /dev/null +++ b/html/search/all_12.js @@ -0,0 +1,43 @@ +var searchData= +[ + ['readable_0',['Readable',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fab550e096ede3ba6d373fdfebfa22225a',1,'Linker::Section']]], + ['readasciiz_1',['ReadASCIIZ',['../classLinker_1_1Reader.html#af45e79ab2bb29815127acbb4082056cf',1,'Linker::Reader']]], + ['readdata_2',['ReadData',['../classLinker_1_1Reader.html#ab9a7925fcebb6d17538e16d39292267f',1,'Linker::Reader::ReadData(size_t count, void *data)'],['../classLinker_1_1Reader.html#a3418c22962f0b1fab791279ac03341f6',1,'Linker::Reader::ReadData(size_t count, bool terminate_at_null=false)']]], + ['reader_3',['Reader',['../classdump_1_1Reader.html',1,'dump.Reader'],['../classLinker_1_1Reader.html',1,'Linker::Reader']]], + ['readfile_4',['ReadFile',['../classBinary_1_1AppleFormat.html#abf003455fbb57696c6b283c81081b8d2',1,'Binary::AppleFormat::ReadFile()'],['../classBinary_1_1AtariFormat.html#a3dea68d956349900fd7b1bcc55735347',1,'Binary::AtariFormat::ReadFile()'],['../classBinary_1_1CPM3Format.html#a42dec76ab0c22a30b591f679e6bc9550',1,'Binary::CPM3Format::ReadFile()'],['../classAOut_1_1AOutFormat.html#aeaf8a3d71f995d4c83b6451d234628c1',1,'AOut::AOutFormat::ReadFile()'],['../classAS86Obj_1_1AS86ObjFormat.html#a56b0f7014cd95b8c3d28afacc1fad7ff',1,'AS86Obj::AS86ObjFormat::ReadFile()'],['../classBinary_1_1BinaryFormat.html#afb80efcfba66019b9edf44e3633524be',1,'Binary::BinaryFormat::ReadFile()'],['../classDOS16M_1_1BWFormat.html#ab230559789c0d07d3d09598fa17e9958',1,'DOS16M::BWFormat::ReadFile()'],['../classCOFF_1_1COFFFormat.html#aab8530040f5357e86cecd607605816ba',1,'COFF::COFFFormat::ReadFile()'],['../classDigitalResearch_1_1CPM68KFormat.html#ad9c349c889f6ee6f7e6b4f60a82f41b6',1,'DigitalResearch::CPM68KFormat::ReadFile()'],['../classDigitalResearch_1_1CPM86Format.html#a45b61af50486ac7916c122d832f1f46a',1,'DigitalResearch::CPM86Format::ReadFile()'],['../classDigitalResearch_1_1CPM8KFormat.html#a73dc21b4399d041f4588ad360b9f0627',1,'DigitalResearch::CPM8KFormat::ReadFile()'],['../classSeychellDOS32_1_1AdamFormat.html#aef26372584b30c2d1407a2d7152c2664',1,'SeychellDOS32::AdamFormat::ReadFile()'],['../classBrocaD3X_1_1D3X1Format.html#a40328852e56220241a6d18a86bd0e405',1,'BrocaD3X::D3X1Format::ReadFile()'],['../classDX64_1_1FlatFormat.html#afcd54e322770df5311f8fb2e55cd7804',1,'DX64::FlatFormat::ReadFile()'],['../classDX64_1_1LVFormat.html#aad0894e46545362697dd39a686b2dfe1',1,'DX64::LVFormat::ReadFile()'],['../classELF_1_1ELFFormat.html#a33bdfe43c4c823ed04849a64690c57e9',1,'ELF::ELFFormat::ReadFile()'],['../classGEOS_1_1GeodeFormat.html#ac5bcd075e633955ac7f23b68f20fcfe2',1,'GEOS::GeodeFormat::ReadFile()'],['../classApple_1_1OMFFormat.html#abba19c4b32dfb1215575a227182c1617',1,'Apple::OMFFormat::ReadFile()'],['../classX68000_1_1HUFormat.html#abe87eb82330832155d2e4f367ce9ed39',1,'X68000::HUFormat::ReadFile()'],['../classAmiga_1_1HunkFormat.html#ad0064009205799eadf0d1a0fd6eecc63',1,'Amiga::HunkFormat::ReadFile()'],['../classMicrosoft_1_1LEFormat.html#a769f6eef63c333e5da0cb6d16c30e428',1,'Microsoft::LEFormat::ReadFile()'],['../classMachO_1_1MachOFormat.html#aa4f3382726cace72f9d02f929b0c6f59',1,'MachO::MachOFormat::ReadFile()'],['../classApple_1_1AppleSingleDouble.html#a25c0ab4dd291319937018d3ce84421db',1,'Apple::AppleSingleDouble::ReadFile()'],['../classApple_1_1AppleSingleDouble_1_1Entry.html#a0c165886c9df4157d0a83d0a360fcbf7',1,'Apple::AppleSingleDouble::Entry::ReadFile()'],['../classApple_1_1ResourceFork_1_1Resource.html#a789efe3d7cbc573f048cfebf302923e0',1,'Apple::ResourceFork::Resource::ReadFile()'],['../classApple_1_1MacDriver.html#a0995a75c004f9f99c6ad0a191768e34c',1,'Apple::MacDriver::ReadFile()'],['../classMINIX_1_1MINIXFormat.html#a38c43f66c9c4cb4687abcd304699f373',1,'MINIX::MINIXFormat::ReadFile()'],['../classMicrosoft_1_1MZFormat.html#a3b74f4517a1e84a8a504f72d883fb224',1,'Microsoft::MZFormat::ReadFile()'],['../classMicrosoft_1_1NEFormat.html#ab2eaeaddbbde85f9c25c4b4dcbd2b567',1,'Microsoft::NEFormat::ReadFile()'],['../classO65_1_1O65Format.html#a09cda60a374b9635f9adefee95c9c6fb',1,'O65::O65Format::ReadFile()'],['../classOMF_1_1OMFFormat.html#a0f50bc777c60a44194eb78733e8b262d',1,'OMF::OMFFormat::ReadFile()'],['../classMicrosoft_1_1PEFormat.html#aa93e7c752954377cb2b64a3ee9dfacac',1,'Microsoft::PEFormat::ReadFile()'],['../classApple_1_1PEFFormat.html#ac2afe6e4739d901bf05310a513b9ce29',1,'Apple::PEFFormat::ReadFile()'],['../classPharLap_1_1MPFormat.html#a4723a4d88cf26e49e0f11b79944441bf',1,'PharLap::MPFormat::ReadFile()'],['../classPharLap_1_1P3Format.html#a2903dd38d0d535cb2570f8ae2efa6682',1,'PharLap::P3Format::ReadFile()'],['../classPMODE_1_1PMW1Format.html#ac8cb61eab6efcd790875692636545952',1,'PMODE::PMW1Format::ReadFile()'],['../classXenix_1_1BOutFormat.html#a6ff3882f42096abef305557ccc49bb22',1,'Xenix::BOutFormat::ReadFile()'],['../classXenix_1_1XOutFormat.html#a11f07f3e05658c2f9ac5e59712cabeef',1,'Xenix::XOutFormat::ReadFile()'],['../classErgo_1_1XPFormat.html#acc2ad9b8ae6cbfcd67640b5f4c92595d',1,'Ergo::XPFormat::ReadFile()'],['../classLinker_1_1Format.html#a84465b0adcb1d902012cf290c3b74d38',1,'Linker::Format::ReadFile()'],['../classLinker_1_1Section.html#a2a9af840b8126ed8e25c148482f5ea72',1,'Linker::Section::ReadFile(std::istream &in)'],['../classLinker_1_1Section.html#af7ef665717a68f8340672730ab6f0729',1,'Linker::Section::ReadFile(Reader &in)']]], + ['readsigned_5',['ReadSigned',['../classLinker_1_1Reader.html#a5af1a6baa17eac46bd912b3c7e77f474',1,'Linker::Reader::ReadSigned(size_t bytes, EndianType endiantype)'],['../classLinker_1_1Reader.html#a3ed71b59bda885040c0c72400f191e1f',1,'Linker::Reader::ReadSigned(size_t bytes)'],['../classLinker_1_1Relocation.html#a60948f401d8237a15ecc618ef1862ee4',1,'Linker::Relocation::ReadSigned()']]], + ['readunsigned_6',['ReadUnsigned',['../classLinker_1_1Reader.html#affadb1a578f9cacb586d92fa7064e4a5',1,'Linker::Reader::ReadUnsigned(size_t bytes, EndianType endiantype)'],['../classLinker_1_1Reader.html#af3606ca912a722fe366757dbebf8fabc',1,'Linker::Reader::ReadUnsigned(size_t bytes)'],['../classLinker_1_1Relocation.html#aee8667caa51cbc0a095c333949cd8ab1',1,'Linker::Relocation::ReadUnsigned()']]], + ['realignend_7',['RealignEnd',['../classLinker_1_1Section.html#aaa9b51eb318d9ede69c6cc8d76024e9a',1,'Linker::Section::RealignEnd()'],['../classLinker_1_1Segment.html#a7f3e66e62db0be090c2a73dd619d339b',1,'Linker::Segment::RealignEnd()']]], + ['realname_8',['RealName',['../classApple_1_1RealName.html',1,'Apple']]], + ['reference_9',['Reference',['../classLinker_1_1Reference.html',1,'Linker']]], + ['reference_10',['reference',['../classLinker_1_1Relocation.html#a739aa949dbf213a3fc8745cb2e71ca6b',1,'Linker::Relocation::reference'],['../classLinker_1_1Resolution.html#a372cc1e656077110d9221d8aa2afa071',1,'Linker::Resolution::reference']]], + ['region_11',['Region',['../classDumper_1_1Region.html',1,'Dumper']]], + ['relative_12',['Relative',['../classLinker_1_1Relocation.html#a4bd9ae7037c0682f5f5172270b65b383',1,'Linker::Relocation::Relative(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#a699f8fc71b63a394ae20c469f485264a',1,'Linker::Relocation::Relative(size_t size, Location source, Target target, uint64_t addend=0)']]], + ['relocation_13',['Relocation',['../classCOFF_1_1COFFFormat_1_1Relocation.html',1,'COFF::COFFFormat::Relocation'],['../structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html',1,'DigitalResearch::CPM68KFormat::Relocation'],['../structDigitalResearch_1_1CPM86Format_1_1Relocation.html',1,'DigitalResearch::CPM86Format::Relocation'],['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html',1,'DigitalResearch::CPM8KFormat::Relocation'],['../classELF_1_1ELFFormat_1_1Relocation.html',1,'ELF::ELFFormat::Relocation'],['../classLinker_1_1Relocation.html',1,'Linker::Relocation'],['../classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.html',1,'Microsoft::LEFormat::Page::Relocation'],['../structMicrosoft_1_1MZFormat_1_1Relocation.html',1,'Microsoft::MZFormat::Relocation'],['../classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation.html',1,'Microsoft::NEFormat::Segment::Relocation'],['../unionPharLap_1_1MPFormat_1_1Relocation.html',1,'PharLap::MPFormat::Relocation'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1Relocation.html',1,'PharLap::P3Format::MultiSegmented::Relocation']]], + ['relocation_5fcount_14',['relocation_count',['../classCOFF_1_1COFFFormat_1_1Section.html#a7b2050c5606e6e2a63011968e36cd379',1,'COFF::COFFFormat::Section::relocation_count'],['../structDigitalResearch_1_1CPM86Format_1_1library.html#a0286976be8c2a5ba0876184a615580e3',1,'DigitalResearch::CPM86Format::library::relocation_count'],['../classMicrosoft_1_1MZFormat.html#a8ea237caaaff372d967daf59276b4e7b',1,'Microsoft::MZFormat::relocation_count']]], + ['relocation_5foffset_15',['relocation_offset',['../classMicrosoft_1_1MZFormat.html#a2d98f4cfab16fe969a1b34db8daa2100',1,'Microsoft::MZFormat']]], + ['relocation_5fpointer_16',['relocation_pointer',['../classCOFF_1_1COFFFormat_1_1Section.html#a97d9c6e01bc137ab3d30748a2e78b4b8',1,'COFF::COFFFormat::Section']]], + ['relocation_5fsize_17',['relocation_size',['../classDigitalResearch_1_1CPM8KFormat.html#a61360983c41f1d17f20e70f0fc3e6b33',1,'DigitalResearch::CPM8KFormat']]], + ['relocation_5fsource_18',['relocation_source',['../structDigitalResearch_1_1CPM86Format_1_1relocation__source.html',1,'DigitalResearch::CPM86Format']]], + ['relocation_5ftype_19',['relocation_type',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['relocations_20',['relocations',['../classCOFF_1_1COFFFormat_1_1Section.html#acdf44a0a114992f2a5fb14329aa45108',1,'COFF::COFFFormat::Section::relocations'],['../classCOFF_1_1COFFFormat.html#a326c430ca03d7d60467e62513286fd5f',1,'COFF::COFFFormat::relocations'],['../classDigitalResearch_1_1CPM68KFormat.html#a37bac2c4e2736541cd471bc2e812132b',1,'DigitalResearch::CPM68KFormat::relocations'],['../structDigitalResearch_1_1CPM86Format_1_1library.html#ad3934a766c6af19b31bf13b03c098c50',1,'DigitalResearch::CPM86Format::library::relocations'],['../classDigitalResearch_1_1CPM86Format.html#a67402a4508e316ef53d9038b02dec2e1',1,'DigitalResearch::CPM86Format::relocations'],['../classMicrosoft_1_1MZFormat.html#abd7a44c50ce7db6c6354d6cade418d9a',1,'Microsoft::MZFormat::relocations'],['../classLinker_1_1Module.html#ae4f3bf290f658eb8a7bdd4221f433b19',1,'Linker::Module::relocations']]], + ['relocations_5foffset_21',['relocations_offset',['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#ac872b7539609fd54a4ac2a1b645df6d0',1,'COFF::COFFFormat::FlexOSAOutHeader::relocations_offset'],['../classCOFF_1_1COFFFormat.html#a923f620155d31b653506220b228d0f3c',1,'COFF::COFFFormat::relocations_offset'],['../classDigitalResearch_1_1CPM86Format.html#a6f0f3eb3ac7722ce384f75a17a82aeaf',1,'DigitalResearch::CPM86Format::relocations_offset']]], + ['relocations_5fsuppressed_22',['relocations_suppressed',['../classDigitalResearch_1_1CPM68KFormat.html#a4db97c7616f1fe59816418669a3f6311',1,'DigitalResearch::CPM68KFormat']]], + ['relocations_5ftype_23',['relocations_type',['../classDOS16M_1_1BWFormat.html#a3395277dce362ec553740b0c45a8a4b0',1,'DOS16M::BWFormat']]], + ['relocationsegment_24',['RelocationSegment',['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html',1,'DOS16M::BWFormat']]], + ['removesections_25',['RemoveSections',['../classLinker_1_1Module.html#a6a4eda34cd479a9106046f1e26327465',1,'Linker::Module']]], + ['reset_26',['Reset',['../classLinker_1_1Section.html#a0a902380623f10988b63c3c709794cf6',1,'Linker::Section']]], + ['resetaddress_27',['ResetAddress',['../classLinker_1_1Section.html#a421d65927c27ef21fa0616b5bf385873',1,'Linker::Section']]], + ['resolution_28',['Resolution',['../classLinker_1_1Resolution.html',1,'Linker']]], + ['resolve_29',['Resolve',['../classLinker_1_1Relocation.html#a24f13a02af2e31ef0cbb4ecd68ed3e7d',1,'Linker::Relocation']]], + ['resolvelocals_30',['ResolveLocals',['../classLinker_1_1Target.html#a000bc2a78e3e359911ae48da803d2fe9',1,'Linker::Target']]], + ['resolverelocations_31',['ResolveRelocations',['../classLinker_1_1Module.html#aa20a1e19fee67b2522417e1630b200e6',1,'Linker::Module']]], + ['resource_32',['Resource',['../classApple_1_1ResourceFork_1_1Resource.html',1,'Apple::ResourceFork::Resource'],['../classMicrosoft_1_1LEFormat_1_1Resource.html',1,'Microsoft::LEFormat::Resource'],['../classMicrosoft_1_1NEFormat_1_1Resource.html',1,'Microsoft::NEFormat::Resource'],['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa9648caf56b0d9933fa5dc3d00f27013f',1,'Linker::Section::Resource']]], + ['resource_5ftype_33',['resource_type',['../classLinker_1_1Section.html#ade1c6e12c76068a4c3173df0bf0959ba',1,'Linker::Section']]], + ['resourcefork_34',['ResourceFork',['../classApple_1_1ResourceFork.html',1,'Apple']]], + ['retrolinker_20a_20linker_20for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_35',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['rsx_5frecord_36',['rsx_record',['../structBinary_1_1CPM3Format_1_1rsx__record.html',1,'Binary::CPM3Format::rsx_record'],['../structDigitalResearch_1_1CPM86Format_1_1rsx__record.html',1,'DigitalResearch::CPM86Format::rsx_record']]], + ['rsx_5ftable_37',['rsx_table',['../classDigitalResearch_1_1CPM86Format.html#a425c4806ead4bdd648de88c11c220390',1,'DigitalResearch::CPM86Format']]], + ['rsx_5ftable_5foffset_38',['rsx_table_offset',['../classDigitalResearch_1_1CPM86Format.html#a0c9c811ec1b089312dc7ec8479c1df4f',1,'DigitalResearch::CPM86Format']]], + ['runtimeparameterblock_39',['RunTimeParameterBlock',['../classPharLap_1_1P3Format_1_1RunTimeParameterBlock.html',1,'PharLap::P3Format']]] +]; diff --git a/html/search/all_13.js b/html/search/all_13.js new file mode 100644 index 00000000..8b946768 --- /dev/null +++ b/html/search/all_13.js @@ -0,0 +1,76 @@ +var searchData= +[ + ['section_0',['Section',['../classCOFF_1_1COFFFormat_1_1Section.html',1,'COFF::COFFFormat::Section'],['../classELF_1_1ELFFormat_1_1Section.html',1,'ELF::ELFFormat::Section'],['../classLinker_1_1Section.html',1,'Linker::Section']]], + ['section_1',['section',['../classLinker_1_1Location.html#aac7c0550f69babe2b93b6245586d1149',1,'Linker::Location']]], + ['section_5fcount_2',['section_count',['../classCOFF_1_1COFFFormat.html#aae4e9352e963d769bc7ebc0a62facece',1,'COFF::COFFFormat']]], + ['section_5fflags_3',['section_flags',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8f',1,'Linker::Section']]], + ['section_5fnumber_4',['section_number',['../classCOFF_1_1COFFFormat_1_1Symbol.html#a4159c333bb79086f87562ec8f64503c5',1,'COFF::COFFFormat::Symbol']]], + ['section_5fpointer_5',['section_pointer',['../classCOFF_1_1COFFFormat_1_1Section.html#a97ce7b9c960157fa19048c50869e716e',1,'COFF::COFFFormat::Section']]], + ['sectioneddisplay_6',['SectionedDisplay',['../classDumper_1_1SectionedDisplay.html',1,'Dumper']]], + ['sections_7',['sections',['../classCOFF_1_1COFFFormat.html#a1c389d3219ea4c7268041efb5e4a57fb',1,'COFF::COFFFormat::sections'],['../classLinker_1_1Segment.html#a5d86c1cc7d2a390d72ce2797360f9971',1,'Linker::Segment::sections']]], + ['sections_8',['Sections',['../classLinker_1_1Module.html#a42e6ef39e2cf388f1d0e9187facdbb70',1,'Linker::Module']]], + ['seek_9',['Seek',['../classLinker_1_1Reader.html#a343a294aab926fcfab2034efdd1319fc',1,'Linker::Reader::Seek()'],['../classLinker_1_1Writer.html#a349afc2371685949e4eb8371be0bf605',1,'Linker::Writer::Seek()']]], + ['seekend_10',['SeekEnd',['../classLinker_1_1Reader.html#a5cdcc691e23a208fbc8bbf60fdda79fe',1,'Linker::Reader::SeekEnd()'],['../classLinker_1_1Writer.html#a9da2e59c091f6d39c207903c87165e3e',1,'Linker::Writer::SeekEnd()']]], + ['seg_5flong_5fsegmented_11',['SEG_LONG_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a1fa71fcdacda1e9f6b89fbfd1d4d915c',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['seg_5foffset_12',['SEG_OFFSET',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a146b613d3ef4a6e05a0c686df6a20add',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['seg_5fshort_5fsegmented_13',['SEG_SHORT_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a5f4c5642e0664eff148a56a35934989b',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['segment_14',['Segment',['../structBinary_1_1AtariFormat_1_1Segment.html',1,'Binary::AtariFormat::Segment'],['../structBinary_1_1FLEXFormat_1_1Segment.html',1,'Binary::FLEXFormat::Segment'],['../classDigitalResearch_1_1CPM8KFormat_1_1Segment.html',1,'DigitalResearch::CPM8KFormat::Segment'],['../classDOS16M_1_1BWFormat_1_1Segment.html',1,'DOS16M::BWFormat::Segment'],['../classLinker_1_1Segment.html',1,'Linker::Segment'],['../classMicrosoft_1_1NEFormat_1_1Segment.html',1,'Microsoft::NEFormat::Segment'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.html',1,'PharLap::P3Format::MultiSegmented::Segment'],['../classLinker_1_1Relocation.html#aded7a9cc33a03b86348176b9fcdcecff',1,'Linker::Relocation::Segment()']]], + ['segment_15',['segment',['../structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html#a84ad0070ce6cd715dc25a3a5a3af6c5b',1,'DigitalResearch::CPM68KFormat::Relocation::segment'],['../structDigitalResearch_1_1CPM86Format_1_1relocation__source.html#abf8335ed8c30d5cb7e1414333bf2050f',1,'DigitalResearch::CPM86Format::relocation_source::segment'],['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a1afda30d44c138dcd9f7ff45a9866b39',1,'DigitalResearch::CPM8KFormat::Relocation::segment'],['../structMicrosoft_1_1MZFormat_1_1Relocation.html#a11703beb3f2911d989f29d08e3409804',1,'Microsoft::MZFormat::Relocation::segment'],['../classLinker_1_1Position.html#a7b7e1056f4acdab896ac2f860761990a',1,'Linker::Position::segment'],['../classLinker_1_1Section.html#ae558ba2a44d706d8ba408a5a64d59dc4',1,'Linker::Section::segment']]], + ['segment_5fcount_16',['segment_count',['../classDigitalResearch_1_1CPM8KFormat.html#a51e4b12ca41e71778884e68855502106',1,'DigitalResearch::CPM8KFormat']]], + ['segment_5fmap_17',['segment_map',['../classLinker_1_1LinkerManager.html#a7c15b4713acf31e216227db9f4f1e32a',1,'Linker::LinkerManager']]], + ['segment_5fof_18',['segment_of',['../classLinker_1_1Relocation.html#a2c9053220b93a8af26681e083e2712cf',1,'Linker::Relocation::segment_of'],['../classLinker_1_1Target.html#a10903a68baa79dfd2abaad3a9c8c4923',1,'Linker::Target::segment_of']]], + ['segment_5ftype_19',['segment_type',['../classDigitalResearch_1_1CPM8KFormat_1_1Segment.html#a0818774db1a08ab47fd52e4069bf6640',1,'DigitalResearch::CPM8KFormat::Segment']]], + ['segment_5fvector_20',['segment_vector',['../classLinker_1_1LinkerManager.html#abdca6e8fe21c863b957f2c12f28e69a8',1,'Linker::LinkerManager']]], + ['segmenteddisplay_21',['SegmentedDisplay',['../classDumper_1_1SegmentedDisplay.html',1,'Dumper']]], + ['selector_22',['Selector',['../classLinker_1_1Relocation.html#a7529c16b2aeb4814ab6604b076963883',1,'Linker::Relocation']]], + ['setaddress_23',['SetAddress',['../classLinker_1_1Section.html#a0ca5f545223d3dd4b4f64bc7013a4373',1,'Linker::Section']]], + ['setcurrentaddress_24',['SetCurrentAddress',['../classLinker_1_1LinkerManager.html#a78e7c43d71de7f2e97c06fcbfb3cddaf',1,'Linker::LinkerManager']]], + ['setendaddress_25',['SetEndAddress',['../classLinker_1_1Segment.html#adb6f4217dd8d629cd87bd3ebf6b3ce0d',1,'Linker::Segment']]], + ['setflag_26',['SetFlag',['../classLinker_1_1Section.html#a79245340c416065aaa0c4a2344854330',1,'Linker::Section']]], + ['setlatestbase_27',['SetLatestBase',['../classLinker_1_1LinkerManager.html#ac9381d0e1b2c0091be80074df188bdae',1,'Linker::LinkerManager']]], + ['setlinkerparameter_28',['SetLinkerParameter',['../classLinker_1_1LinkerManager.html#ac272c92dd4f8303f4baaf61f11883a68',1,'Linker::LinkerManager::SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)'],['../classLinker_1_1LinkerManager.html#a95270665ba4a6c881c4cd50802d6ac83',1,'Linker::LinkerManager::SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)']]], + ['setlinkscript_29',['SetLinkScript',['../classApple_1_1AppleSingleDouble.html#af2d4899c9df07cc12f9a57dc9800c05a',1,'Apple::AppleSingleDouble::SetLinkScript()'],['../classApple_1_1MacDriver.html#a9bf4a39db2db7b4a6b602b420774f27d',1,'Apple::MacDriver::SetLinkScript()'],['../classLinker_1_1OutputFormat.html#a817cfc3dafc78cbc76d029e1b7bb31db',1,'Linker::OutputFormat::SetLinkScript()'],['../classLinker_1_1LinkerManager.html#a0b537dd19bd73699d7440107b9fc5318',1,'Linker::LinkerManager::SetLinkScript()']]], + ['setmask_30',['SetMask',['../classLinker_1_1Relocation.html#a6f622a8c2deab8d83658b56a122d4cbf',1,'Linker::Relocation']]], + ['setmodel_31',['SetModel',['../classBinary_1_1BinaryFormat.html#a2572e5127ddcc994337e0a3701b1ec0b',1,'Binary::BinaryFormat::SetModel()'],['../classDigitalResearch_1_1CPM86Format.html#a845fc53264a046ccd553ae803037f471',1,'DigitalResearch::CPM86Format::SetModel()'],['../classApple_1_1AppleSingleDouble.html#a80af3c658d803c26838f9f6a5657d8d8',1,'Apple::AppleSingleDouble::SetModel()'],['../classApple_1_1ResourceFork.html#a7f48c552cfca70909b10031349edb90d',1,'Apple::ResourceFork::SetModel()'],['../classApple_1_1MacDriver.html#ae08d17b45300fbb138d97b4ea20a1252',1,'Apple::MacDriver::SetModel()'],['../classMicrosoft_1_1MZFormat.html#a8287609725f7e97c1463b623d05fa162',1,'Microsoft::MZFormat::SetModel()'],['../classMicrosoft_1_1NEFormat.html#ae6ef0ea8bc44fb447ad95b6adbd80530',1,'Microsoft::NEFormat::SetModel()'],['../classLinker_1_1OutputFormat.html#ade72610728318b9d106b3276bab836e0',1,'Linker::OutputFormat::SetModel()']]], + ['setoptions_32',['SetOptions',['../classAOut_1_1AOutFormat.html#aba95a501b20d3244db008021ac058944',1,'AOut::AOutFormat::SetOptions()'],['../classBinary_1_1BinaryFormat.html#a34ad8bbf856ed636446e652bd3c0d9bf',1,'Binary::BinaryFormat::SetOptions()'],['../classDOS16M_1_1BWFormat.html#a2a0a74b5ad1597a04648e8310cd5ebe1',1,'DOS16M::BWFormat::SetOptions()'],['../classCOFF_1_1COFFFormat.html#ad4cd9543645d19c01a9902bce9cf2ea2',1,'COFF::COFFFormat::SetOptions()'],['../classDigitalResearch_1_1CPM68KFormat.html#a70f9d3bf78f9af3533ba38b394bf993b',1,'DigitalResearch::CPM68KFormat::SetOptions()'],['../classDigitalResearch_1_1CPM86Format.html#a96740027f679b7c24399b6d05f1211a3',1,'DigitalResearch::CPM86Format::SetOptions()'],['../classDigitalResearch_1_1CPM8KFormat.html#acf2aa18f5eb16d059712bc3d733c3076',1,'DigitalResearch::CPM8KFormat::SetOptions()'],['../classX68000_1_1HUFormat.html#a7d174df603cb79f435a84edda1e01fe7',1,'X68000::HUFormat::SetOptions()'],['../classAmiga_1_1HunkFormat.html#a07a6b84eab671da4d38c079f385f85e6',1,'Amiga::HunkFormat::SetOptions()'],['../classMicrosoft_1_1LEFormat.html#a2705b181ed4faa1c749e75422f6772e6',1,'Microsoft::LEFormat::SetOptions()'],['../classApple_1_1AppleSingleDouble.html#a0ac17e352fa7c397c9d1cef6153930a8',1,'Apple::AppleSingleDouble::SetOptions()'],['../classApple_1_1ResourceFork.html#a829f84c133c0d816f4b4d1d05addfcf6',1,'Apple::ResourceFork::SetOptions()'],['../classApple_1_1MacDriver.html#af05daad73ca49cf45c51f9c6ddef992c',1,'Apple::MacDriver::SetOptions()'],['../classMINIX_1_1MINIXFormat.html#a07cb6ce4902dd5e62f62ffaad7b3bd0d',1,'MINIX::MINIXFormat::SetOptions()'],['../classMicrosoft_1_1MZFormat.html#afd6d4ab5094386e62edae99cb180e130',1,'Microsoft::MZFormat::SetOptions()'],['../classMicrosoft_1_1NEFormat.html#a64bfdf5a7436678eb4150377c35e4184',1,'Microsoft::NEFormat::SetOptions()'],['../classPharLap_1_1MPFormat.html#ab1c92042fde29422a3e9871b2d75a708',1,'PharLap::MPFormat::SetOptions()'],['../classPharLap_1_1P3Format.html#a61c15b66186993e4a569f2bf5611692f',1,'PharLap::P3Format::SetOptions()'],['../classLinker_1_1OutputFormat.html#aabb33f0f671aa3eaeb66d64b2ca4664b',1,'Linker::OutputFormat::SetOptions()']]], + ['setshift_33',['SetShift',['../classLinker_1_1Relocation.html#a19f61c05e7eaff3591f3597ca0060aab',1,'Linker::Relocation']]], + ['setstartaddress_34',['SetStartAddress',['../classLinker_1_1Segment.html#a93aaacc9a2cb93500aa515678f3ce8e5',1,'Linker::Segment']]], + ['setsubtract_35',['SetSubtract',['../classLinker_1_1Relocation.html#a54f1baba0cd332e37697b57b63b4c00f',1,'Linker::Relocation']]], + ['settotalsize_36',['SetTotalSize',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a94c6ad316309d670fb66742823a6d209',1,'DOS16M::BWFormat::AbstractSegment::SetTotalSize()'],['../classDOS16M_1_1BWFormat_1_1Segment.html#a639993747924b90005f1b9f4df5367ab',1,'DOS16M::BWFormat::Segment::SetTotalSize()'],['../classDOS16M_1_1BWFormat_1_1DummySegment.html#a4bea7b3466fd5ae8fcb244b6e739950d',1,'DOS16M::BWFormat::DummySegment::SetTotalSize()'],['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html#a93ad75c4d5706947490c5cace3aca6c5',1,'DOS16M::BWFormat::RelocationSegment::SetTotalSize()']]], + ['setupoptions_37',['SetupOptions',['../classCOFF_1_1COFFFormat.html#afc232281548bee94289e86b26e13c08b',1,'COFF::COFFFormat::SetupOptions()'],['../classELF_1_1ELFFormat.html#a3f97fe47d2c0a33bbfc829d84daa2e87',1,'ELF::ELFFormat::SetupOptions()'],['../classLinker_1_1InputFormat.html#a6b3dd88f974178a02070c631a67426a2',1,'Linker::InputFormat::SetupOptions()']]], + ['shared_5fcode_38',['shared_code',['../classDigitalResearch_1_1CPM86Format.html#a59517f61eb2d955b0ae5930741d06346',1,'DigitalResearch::CPM86Format']]], + ['sharedcode_39',['SharedCode',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcafcfa041be26ca443d0bca28a1f079dd7',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['shift_40',['shift',['../classLinker_1_1Relocation.html#af88eb44ed1c4b96ffd0a382dd67a7b7d',1,'Linker::Relocation']]], + ['signature_41',['signature',['../classCOFF_1_1COFFFormat.html#a6ea5fe54f69b59cc42f7ed0d67c1e883',1,'COFF::COFFFormat::signature'],['../classDigitalResearch_1_1CPM68KFormat.html#ad05c7a7b85d84ab743b00d83145f5c45',1,'DigitalResearch::CPM68KFormat::signature'],['../classDigitalResearch_1_1CPM8KFormat.html#a00a4a184f9754d7819b63e7bcd0c8d8c',1,'DigitalResearch::CPM8KFormat::signature'],['../classMicrosoft_1_1MZFormat.html#abd004b9c148c50c4d504b8e96292a383',1,'Microsoft::MZFormat::signature']]], + ['size_42',['size',['../classCOFF_1_1COFFFormat_1_1Section.html#acd91e4d05d6fbf4c3bfc9f5a1da17548',1,'COFF::COFFFormat::Section::size'],['../structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html#af92ee8d303f94c88e2c674f4b64a5e16',1,'DigitalResearch::CPM68KFormat::Relocation::size'],['../classLinker_1_1Relocation.html#af2a30c1a7122c077022743f5c8038fc1',1,'Linker::Relocation::size']]], + ['size_5fparas_43',['size_paras',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#add7722df4e6282e88e1f866c5aaee463',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['skip_44',['Skip',['../classLinker_1_1Reader.html#a0ed9d13d3744cefef203ae0c5101ff5f',1,'Linker::Reader::Skip()'],['../classLinker_1_1Writer.html#a93ee2801dd02a9a06d4aead9d35e26ed',1,'Linker::Writer::Skip()']]], + ['source_45',['source',['../classLinker_1_1Relocation.html#a1ab2e4f3a22f832f343c43390f068291',1,'Linker::Relocation']]], + ['sp_46',['sp',['../classMicrosoft_1_1MZFormat.html#ab99dba919f32a4a7de126e64a613de68',1,'Microsoft::MZFormat']]], + ['ss_47',['ss',['../classMicrosoft_1_1MZFormat.html#ad27011affe39900d3ab24b75c2c06d86',1,'Microsoft::MZFormat']]], + ['stack_48',['Stack',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca829a6a4e19d570606b0da4f241aa97a0',1,'DigitalResearch::CPM86Format::Descriptor::Stack'],['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa5208e5a4b284d0504e761c0a61d69feb',1,'Linker::Section::Stack']]], + ['stack_49',['stack',['../classCOFF_1_1COFFFormat.html#acc46f0d80a7f73394029bf8ea1f55843',1,'COFF::COFFFormat']]], + ['stack_5fsegment_50',['stack_segment',['../classDigitalResearch_1_1CPM68KFormat.html#a84def26a9c9883386ffd10c4bfd5c7c6',1,'DigitalResearch::CPM68KFormat']]], + ['stack_5fsize_51',['stack_size',['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#aa0936fff8fd22d1bcdca6e538947f9f0',1,'COFF::COFFFormat::FlexOSAOutHeader::stack_size'],['../classDigitalResearch_1_1CPM68KFormat.html#a068e05e095cee1b600d4e84614a341a6',1,'DigitalResearch::CPM68KFormat::stack_size']]], + ['start_52',['Start',['../classLinker_1_1Section.html#a163039378d7a86e7068be1a0e6a57048',1,'Linker::Section']]], + ['storage_5fclass_53',['storage_class',['../classCOFF_1_1COFFFormat_1_1Symbol.html#a916030448fcf75f5e5deda04f23269a7',1,'COFF::COFFFormat::Symbol']]], + ['stringdisplay_54',['StringDisplay',['../classDumper_1_1StringDisplay.html',1,'Dumper']]], + ['stub_5fsize_55',['stub_size',['../classCOFF_1_1COFFFormat.html#aa898a8295d9b992e2e921a7cd7b2d928',1,'COFF::COFFFormat']]], + ['subtract_56',['subtract',['../classLinker_1_1Relocation.html#ab266a969342ef2f25aa2aa6263c0f8b9',1,'Linker::Relocation']]], + ['supported_20input_20formats_57',['Supported input formats',['../index.html#x_input_formats',1,'']]], + ['supported_20output_20formats_58',['Supported output formats',['../index.html#x_output_formats',1,'']]], + ['symbol_59',['Symbol',['../classAOut_1_1AOutFormat_1_1Symbol.html',1,'AOut::AOutFormat::Symbol'],['../classCOFF_1_1COFFFormat_1_1Symbol.html',1,'COFF::COFFFormat::Symbol'],['../structDigitalResearch_1_1CPM8KFormat_1_1Symbol.html',1,'DigitalResearch::CPM8KFormat::Symbol'],['../classELF_1_1ELFFormat_1_1Symbol.html',1,'ELF::ELFFormat::Symbol']]], + ['symbol_5fcount_60',['symbol_count',['../classCOFF_1_1COFFFormat.html#acdbe8a8b81b3acc58972e7c4f0c86565',1,'COFF::COFFFormat']]], + ['symbol_5findex_61',['symbol_index',['../classCOFF_1_1COFFFormat_1_1ZilogRelocation.html#a2ec67dfacd98925f1192cb84781cfaa1',1,'COFF::COFFFormat::ZilogRelocation']]], + ['symbol_5ftable_5foffset_62',['symbol_table_offset',['../classCOFF_1_1COFFFormat.html#a702d175c72e64f9c6cb867a1ec0353f8',1,'COFF::COFFFormat']]], + ['symbol_5ftable_5fsize_63',['symbol_table_size',['../classDigitalResearch_1_1CPM68KFormat.html#aecc60eb106b726bf3c1c9218c5bb8ef4',1,'DigitalResearch::CPM68KFormat::symbol_table_size'],['../classDigitalResearch_1_1CPM8KFormat.html#a7066939e38e13b37e6766311b797fd2e',1,'DigitalResearch::CPM8KFormat::symbol_table_size']]], + ['symbolname_64',['SymbolName',['../classLinker_1_1SymbolName.html',1,'Linker::SymbolName'],['../classLinker_1_1SymbolName.html#a41afe7820806a0a3487be9a042ed3f6e',1,'Linker::SymbolName::SymbolName(std::string name)'],['../classLinker_1_1SymbolName.html#a75a32305087d9f356def514157982fda',1,'Linker::SymbolName::SymbolName(std::string library, std::string name)'],['../classLinker_1_1SymbolName.html#aaecd03744ee3a531f1b3b0e400d1dcbe',1,'Linker::SymbolName::SymbolName(std::string library, std::string name, uint16_t hint)'],['../classLinker_1_1SymbolName.html#a31e8133552a79e43242ac92d733a1ef7',1,'Linker::SymbolName::SymbolName(std::string library, uint16_t ordinal)']]], + ['symbols_65',['symbols',['../classCOFF_1_1COFFFormat.html#a833df518cf4b6c576f724cc96eb30dbd',1,'COFF::COFFFormat']]], + ['system_5fcdos68k_66',['SYSTEM_CDOS68K',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba5e6b33e76cf55ed17a0f6237a73808ea',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fcpm68k_67',['SYSTEM_CPM68K',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1bad04dc5f0edc1ab2af285a1bc785ceb32',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fgemdos_68',['SYSTEM_GEMDOS',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba013986292e603c077687f1f6b48301ae',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fgemdos_5fearly_69',['SYSTEM_GEMDOS_EARLY',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba74c69cc9d8f1fcebafe0d83f0d769f65',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fhuman68k_70',['SYSTEM_HUMAN68K',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1baa4d56796da0fcfd685d076e4809642dd',1,'DigitalResearch::CPM68KFormat']]], + ['system_5ftype_71',['system_type',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1b',1,'DigitalResearch::CPM68KFormat']]], + ['system_5funknown_72',['SYSTEM_UNKNOWN',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba41bc1e64e5d47878232dcc8e699da07f',1,'DigitalResearch::CPM68KFormat']]] +]; diff --git a/html/search/all_14.js b/html/search/all_14.js new file mode 100644 index 00000000..74d567ae --- /dev/null +++ b/html/search/all_14.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['target_0',['Target',['../classLinker_1_1Target.html',1,'Linker']]], + ['target_1',['target',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#afdcfc1e5692234f00aa3842f31df31cf',1,'DigitalResearch::CPM8KFormat::Relocation::target'],['../classLinker_1_1Relocation.html#a61c8c836e4c421b493f2f3feabc786ef',1,'Linker::Relocation::target'],['../classLinker_1_1Resolution.html#a762aa36ba2f8209ea2a527d7ca8ea4fc',1,'Linker::Resolution::target'],['../classLinker_1_1Target.html#a3105b771d63d8986fa43bf2c4310171f',1,'Linker::Target::target']]], + ['taskstatesegment_2',['TaskStateSegment',['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.html',1,'PharLap::P3Format::MultiSegmented']]], + ['tell_3',['Tell',['../classLinker_1_1Reader.html#aff3e3665be97f967b9d7345a989862f3',1,'Linker::Reader::Tell()'],['../classLinker_1_1Writer.html#af6537228fec1d745676c97899ec81433',1,'Linker::Writer::Tell()']]], + ['testexportedsymbol_4',['TestExportedSymbol',['../classUnitTests_1_1TestExportedSymbol.html',1,'UnitTests']]], + ['testlocation_5',['TestLocation',['../classUnitTests_1_1TestLocation.html',1,'UnitTests']]], + ['testmzformat_6',['TestMZFormat',['../classUnitTests_1_1TestMZFormat.html',1,'UnitTests']]], + ['testreader_7',['TestReader',['../classUnitTests_1_1TestReader.html',1,'UnitTests']]], + ['testsection_8',['TestSection',['../classUnitTests_1_1TestSection.html',1,'UnitTests']]], + ['testsymbolname_9',['TestSymbolName',['../classUnitTests_1_1TestSymbolName.html',1,'UnitTests']]], + ['text_10',['TEXT',['../classCOFF_1_1COFFFormat_1_1Section.html#aa98e4f30e87e423b60d4f9d924473ff1af1f75fb0cf89d4fcb2e18f06b3e37773',1,'COFF::COFFFormat::Section']]], + ['timestamp_11',['timestamp',['../classCOFF_1_1COFFFormat.html#afc42d190cd350e793c757261c3659206',1,'COFF::COFFFormat']]], + ['tolocation_12',['ToLocation',['../classLinker_1_1Reference.html#a08ba6f8edc18df8330f565de6b0ff27c',1,'Linker::Reference']]], + ['total_5fsize_13',['total_size',['../classDigitalResearch_1_1CPM8KFormat.html#a15a827e7604b4800b47a311bbc9f736c',1,'DigitalResearch::CPM8KFormat']]], + ['totalsize_14',['TotalSize',['../classLinker_1_1Segment.html#ac62e516f60e68d46d6b7f101e526da2e',1,'Linker::Segment']]], + ['type_15',['type',['../classCOFF_1_1COFFFormat_1_1ZilogRelocation.html#a7ef79bddcca064a07c493956f72646fd',1,'COFF::COFFFormat::ZilogRelocation::type'],['../classCOFF_1_1COFFFormat_1_1Symbol.html#a6f2224204a70e5c0b88682c699b289c3',1,'COFF::COFFFormat::Symbol::type'],['../classCOFF_1_1COFFFormat.html#a63f75feed644eb7f7d81c71087832a0d',1,'COFF::COFFFormat::type'],['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#a389d2c0ffb0ca0285960b7d4fe762c05',1,'DigitalResearch::CPM86Format::Descriptor::type']]] +]; diff --git a/html/search/all_15.js b/html/search/all_15.js new file mode 100644 index 00000000..e277ed0e --- /dev/null +++ b/html/search/all_15.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['undefined_0',['Undefined',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca27ef7ad15cb05528aef8ac8bf8248cd2',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['unknown_1',['unknown',['../structDigitalResearch_1_1CPM86Format_1_1library.html#a54ad417343a11e2311362bab857908cc',1,'DigitalResearch::CPM86Format::library']]], + ['unknownoptionalheader_2',['UnknownOptionalHeader',['../classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html',1,'COFF::COFFFormat']]], + ['uzi280format_3',['UZI280Format',['../classBinary_1_1UZI280Format.html',1,'Binary']]], + ['uziformat_4',['UZIFormat',['../classBinary_1_1UZIFormat.html',1,'Binary']]] +]; diff --git a/html/search/all_16.js b/html/search/all_16.js new file mode 100644 index 00000000..62e7f793 --- /dev/null +++ b/html/search/all_16.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['value_0',['Value',['../classScript_1_1Value.html',1,'Script']]], + ['value_1',['value',['../classCOFF_1_1COFFFormat_1_1Symbol.html#ae838008ab95bc12295509d737700a4e0',1,'COFF::COFFFormat::Symbol::value'],['../classLinker_1_1Resolution.html#a12359b62cf46a3d62d4734886965d7a4',1,'Linker::Resolution::value']]], + ['value_3c_20void_20_3e_2',['Value< void >',['../classScript_1_1Value_3_01void_01_4.html',1,'Script']]], + ['version_3',['version',['../structMicrosoft_1_1NEFormat_1_1version.html',1,'Microsoft::NEFormat']]], + ['version_5fstamp_4',['version_stamp',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#a075a07387315972bdf923e0d1ab32bad',1,'COFF::COFFFormat::AOutHeader']]], + ['versiondisplay_5',['VersionDisplay',['../classDumper_1_1VersionDisplay.html',1,'Dumper']]] +]; diff --git a/html/search/all_17.js b/html/search/all_17.js new file mode 100644 index 00000000..c7f55dc3 --- /dev/null +++ b/html/search/all_17.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['width_0',['width',['../classDumper_1_1StringDisplay.html#a216d0a3790957d9470fc7488d7d37a4c',1,'Dumper::StringDisplay']]], + ['writable_1',['Writable',['../classLinker_1_1Writable.html',1,'Linker::Writable'],['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa4aa86e7d81f338cf0ecf056d84f62087',1,'Linker::Section::Writable']]], + ['writecontent_2',['WriteContent',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a1d0f3f22973ba7224d6dc817f7702522',1,'DOS16M::BWFormat::AbstractSegment::WriteContent()'],['../classDOS16M_1_1BWFormat_1_1Segment.html#a6f607528e1c2c9cc8aba8f52d8d9ed0b',1,'DOS16M::BWFormat::Segment::WriteContent()'],['../classDOS16M_1_1BWFormat_1_1DummySegment.html#ab9356b2c53ef55f19db300a673c413c2',1,'DOS16M::BWFormat::DummySegment::WriteContent()'],['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html#a29d6c560fa59bfd17373cd6fa11bbe30',1,'DOS16M::BWFormat::RelocationSegment::WriteContent()']]], + ['writedata_3',['WriteData',['../classLinker_1_1Writer.html#a523aa2b80b655b7a2765e6875d8eb85c',1,'Linker::Writer::WriteData(size_t count, const void *data)'],['../classLinker_1_1Writer.html#af4f07fcec98011eea428b565e54d3d51',1,'Linker::Writer::WriteData(size_t count, std::string text, char padding='\0')'],['../classLinker_1_1Writer.html#a8ceeee98b8e37e45bb84afb287b541e6',1,'Linker::Writer::WriteData(std::string text)'],['../classLinker_1_1Writer.html#a9c14051689fe69f1d09d410df59dfd6e',1,'Linker::Writer::WriteData(size_t count, std::istream &in)']]], + ['writefile_4',['WriteFile',['../classBinary_1_1AppleFormat.html#aaf14bc3473dacb540d6e773be9c57448',1,'Binary::AppleFormat::WriteFile()'],['../classBinary_1_1AtariFormat.html#a737d817fd17aed04f83bcbe5bb6375f8',1,'Binary::AtariFormat::WriteFile()'],['../classBinary_1_1CommodoreFormat.html#af64da130f10ea3f8919e2f0cb05e7a9f',1,'Binary::CommodoreFormat::WriteFile()'],['../classBinary_1_1CPM3Format.html#a636e7573e555f70d6096f4a230a65649',1,'Binary::CPM3Format::WriteFile()'],['../classBinary_1_1FLEXFormat.html#a352669cf448c34ee601de909f480702e',1,'Binary::FLEXFormat::WriteFile()'],['../classBinary_1_1PRLFormat.html#ae6dcc6fdcbe742de44ae3a7831ea1eb5',1,'Binary::PRLFormat::WriteFile()'],['../classBinary_1_1UZIFormat.html#a3aad6ec6aceca87de5d6a5f9f5fe3d00',1,'Binary::UZIFormat::WriteFile()'],['../classBinary_1_1UZI280Format.html#a93aec7f72b84d2ba6015052a256be8f5',1,'Binary::UZI280Format::WriteFile()'],['../classAOut_1_1AOutFormat.html#a4627671f6e551bf3926f244e15f4d235',1,'AOut::AOutFormat::WriteFile()'],['../classAS86Obj_1_1AS86ObjFormat.html#af7f56f226c587271483d50de81250bb2',1,'AS86Obj::AS86ObjFormat::WriteFile()'],['../classBinary_1_1BinaryFormat.html#a3f8e6f48a32f66ee83ff36fe2fc6b1ce',1,'Binary::BinaryFormat::WriteFile()'],['../classDOS16M_1_1BWFormat.html#a8eb57a684dde21c66909866e203d25de',1,'DOS16M::BWFormat::WriteFile()'],['../classCOFF_1_1COFFFormat.html#a25871f4b6e54e7b6d9864af9c3b1a07f',1,'COFF::COFFFormat::WriteFile()'],['../classDigitalResearch_1_1CPM68KFormat.html#ae7f250eb992a3234820b5e61134c340a',1,'DigitalResearch::CPM68KFormat::WriteFile()'],['../classDigitalResearch_1_1CPM86Format.html#ae5a4356303418e7e7584737bb74ed299',1,'DigitalResearch::CPM86Format::WriteFile()'],['../classDigitalResearch_1_1CPM8KFormat.html#a12206b3bbae38b2433bb64f3bfc4e69a',1,'DigitalResearch::CPM8KFormat::WriteFile()'],['../classSeychellDOS32_1_1AdamFormat.html#af2c3fa6f81bb10c193d864a7aa81036f',1,'SeychellDOS32::AdamFormat::WriteFile()'],['../classBrocaD3X_1_1D3X1Format.html#a6db159d94043a0bf2dcf6736689685bf',1,'BrocaD3X::D3X1Format::WriteFile()'],['../classDX64_1_1FlatFormat.html#a2029e0d07b97985418ded54bfbb84b4f',1,'DX64::FlatFormat::WriteFile()'],['../classDX64_1_1LVFormat.html#a9716d2c8c82dd435e2c1328987c65b64',1,'DX64::LVFormat::WriteFile()'],['../classELF_1_1ELFFormat.html#a0c8f7e566d6caa0e0c2d6f09b577cf37',1,'ELF::ELFFormat::WriteFile()'],['../classGEOS_1_1GeodeFormat.html#ae2786dcc904d8e3cf634e5cd71830309',1,'GEOS::GeodeFormat::WriteFile()'],['../classApple_1_1OMFFormat.html#a7feb462007d32c53a30b5bd8f44cc5a2',1,'Apple::OMFFormat::WriteFile()'],['../classX68000_1_1HUFormat.html#a0e28d0ba10884fdb86d33c5624f8e4e7',1,'X68000::HUFormat::WriteFile()'],['../classAmiga_1_1HunkFormat.html#aaf7a65831eec42d20a21f918ac1230f9',1,'Amiga::HunkFormat::WriteFile()'],['../classMicrosoft_1_1LEFormat.html#a254b69fd83dd6b9b09259c1e29d8e119',1,'Microsoft::LEFormat::WriteFile()'],['../classMachO_1_1MachOFormat.html#ae88571b14ab0fee96645bbb176c0f420',1,'MachO::MachOFormat::WriteFile()'],['../classApple_1_1AppleSingleDouble_1_1Entry.html#a1e74989233547855316a8997a66d54c7',1,'Apple::AppleSingleDouble::Entry::WriteFile()'],['../classApple_1_1AppleSingleDouble.html#a6475b5b94cb43b80e02f57df395a9277',1,'Apple::AppleSingleDouble::WriteFile()'],['../classApple_1_1ResourceFork_1_1Resource.html#a4ee6acff25b3e03145fa7c3611304d84',1,'Apple::ResourceFork::Resource::WriteFile()'],['../classApple_1_1ResourceFork_1_1GenericResource.html#ad592b45a291d0830cb2071b9884c78ca',1,'Apple::ResourceFork::GenericResource::WriteFile()'],['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html#ac41b63140ac01e6036c612ffa0cce566',1,'Apple::ResourceFork::JumpTableCodeResource::WriteFile()'],['../classApple_1_1ResourceFork_1_1CodeResource.html#aa723f121f1d8d506ae51939eff07c955',1,'Apple::ResourceFork::CodeResource::WriteFile()'],['../classApple_1_1ResourceFork.html#a0b44f8cf819a015646651d025c445a2f',1,'Apple::ResourceFork::WriteFile()'],['../classApple_1_1RealName.html#a7ad29a4c7f59fc86a9a6000cdf957fcd',1,'Apple::RealName::WriteFile()'],['../classApple_1_1FileInfo_1_1Macintosh.html#a1a8a9e962721cb8f2c0d22e9f84cb247',1,'Apple::FileInfo::Macintosh::WriteFile()'],['../classApple_1_1FileInfo_1_1ProDOS.html#af2dfbfc7b83f7a7c8c57489f165cfd3d',1,'Apple::FileInfo::ProDOS::WriteFile()'],['../classApple_1_1FileInfo_1_1MSDOS.html#affb106d1c66be886990f57cf34a06ccf',1,'Apple::FileInfo::MSDOS::WriteFile()'],['../classApple_1_1FileInfo_1_1AUX.html#a4c74f1fe087b474693b073ea2d92353f',1,'Apple::FileInfo::AUX::WriteFile()'],['../classApple_1_1FileDatesInfo.html#a3c32685a823a9dc547b3229e21f41eeb',1,'Apple::FileDatesInfo::WriteFile()'],['../classApple_1_1FinderInfo.html#ab30a0def6e80e7d6c10b019ec1640aab',1,'Apple::FinderInfo::WriteFile()'],['../classApple_1_1MacintoshFileInfo.html#a55c3c2fe777dcefa1e258fb223d5f343',1,'Apple::MacintoshFileInfo::WriteFile()'],['../classApple_1_1ProDOSFileInfo.html#a052d26aac0d721735bd7b28149032731',1,'Apple::ProDOSFileInfo::WriteFile()'],['../classApple_1_1MSDOSFileInfo.html#a68843055daf5729f7b559201f8989dc3',1,'Apple::MSDOSFileInfo::WriteFile()'],['../classApple_1_1MacBinary.html#ad8d638540f9fb4cb16989a6aeccfe59a',1,'Apple::MacBinary::WriteFile()'],['../classApple_1_1MacDriver.html#aca7edd2de3b6b596bcc926dc8bca4792',1,'Apple::MacDriver::WriteFile()'],['../classMINIX_1_1MINIXFormat.html#a55c210f884eb06dac9fd3eb5e4eab595',1,'MINIX::MINIXFormat::WriteFile()'],['../classMicrosoft_1_1MZFormat.html#a242b466acbaf015b8e3887d938f3e267',1,'Microsoft::MZFormat::WriteFile()'],['../classMicrosoft_1_1NEFormat.html#a3a194f5c10a8cbfa58398a89ba220a5f',1,'Microsoft::NEFormat::WriteFile()'],['../classO65_1_1O65Format.html#abefd64e0b8e3c845f83c5663e1f95030',1,'O65::O65Format::WriteFile()'],['../classOMF_1_1OMFFormat.html#ae4153631e7b51b0f030388ac14d9d298',1,'OMF::OMFFormat::WriteFile()'],['../classMicrosoft_1_1PEFormat.html#ae610cd11e4a7a3d34c47fafaaccd024c',1,'Microsoft::PEFormat::WriteFile()'],['../classApple_1_1PEFFormat.html#a354d0be061c610a40a93ffa6dc11e775',1,'Apple::PEFFormat::WriteFile()'],['../classPharLap_1_1MPFormat.html#ab608287487d09e21d313b86e6778beb3',1,'PharLap::MPFormat::WriteFile()'],['../classPharLap_1_1P3Format.html#a794241630c24126d739a36b99e028da8',1,'PharLap::P3Format::WriteFile()'],['../classPharLap_1_1P3Format_1_1Flat.html#af6bcf8273dd8568a2258b379dc3fedb0',1,'PharLap::P3Format::Flat::WriteFile()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#aa57de7ee344486f70e5501c062c1b9f0',1,'PharLap::P3Format::MultiSegmented::WriteFile()'],['../classPMODE_1_1PMW1Format.html#a91ef852a40facca81b20c227edeacaff',1,'PMODE::PMW1Format::WriteFile()'],['../classXenix_1_1BOutFormat.html#a9ac7fdb34d3a9a836e0627d5dc947896',1,'Xenix::BOutFormat::WriteFile()'],['../classXenix_1_1XOutFormat.html#ada30bdcffea24009ddd5a1bfe0fc097b',1,'Xenix::XOutFormat::WriteFile()'],['../classErgo_1_1XPFormat.html#a9c2f56e22788e32f42c61932589a3376',1,'Ergo::XPFormat::WriteFile()'],['../classLinker_1_1Format.html#a12d9426f324db2e9b0ee3ea21a4530f1',1,'Linker::Format::WriteFile()'],['../classLinker_1_1Buffer.html#ae13ce28cf7bc9f28e1ac1d57e409d312',1,'Linker::Buffer::WriteFile()'],['../classLinker_1_1Section.html#afa284d747c352a450242854c6e33e62b',1,'Linker::Section::WriteFile(std::ostream &out, offset_t size, offset_t offset=0) const'],['../classLinker_1_1Section.html#ab5f090fdfb2d83a8ee5b6c23870c2f3f',1,'Linker::Section::WriteFile(std::ostream &out) const'],['../classLinker_1_1Segment.html#a8d4ea3d17c420c322d938adf712c9d90',1,'Linker::Segment::WriteFile(std::ostream &out, offset_t size, offset_t offset=0)'],['../classLinker_1_1Segment.html#a57d6570ad4f3a4d5998a818534c2bcb2',1,'Linker::Segment::WriteFile(std::ostream &out)'],['../classLinker_1_1Segment.html#a119b7d562f5401dafa398cde31b742ab',1,'Linker::Segment::WriteFile(Writer &wr, offset_t count, offset_t offset=0) override'],['../classLinker_1_1Segment.html#a366605060e992fac343d39a2ce18be63',1,'Linker::Segment::WriteFile(Writer &wr)'],['../classLinker_1_1Writable.html#a310c770333046a3944c566fd173b5d53',1,'Linker::Writable::WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0'],['../classLinker_1_1Writable.html#aff8843f0b288316ac97fb6410ac82bf9',1,'Linker::Writable::WriteFile(Writer &wr)'],['../classLinker_1_1Buffer.html#a310c770333046a3944c566fd173b5d53',1,'Linker::Buffer::WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0'],['../classLinker_1_1Buffer.html#aff8843f0b288316ac97fb6410ac82bf9',1,'Linker::Buffer::WriteFile(Writer &wr)']]], + ['writeheader_5',['WriteHeader',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a1332ec123131e73c4ca4a9173a38e865',1,'DOS16M::BWFormat::AbstractSegment']]], + ['writer_6',['Writer',['../classLinker_1_1Writer.html',1,'Linker']]], + ['writeword_7',['WriteWord',['../classLinker_1_1Relocation.html#aa0eed011df24c767c399fcd74f239024',1,'Linker::Relocation::WriteWord()'],['../classLinker_1_1Section.html#ad4dcfdcf444ea616412c1c6dde000cef',1,'Linker::Section::WriteWord(size_t bytes, uint64_t value, EndianType endiantype)'],['../classLinker_1_1Section.html#ae6c5dd43f195119d8704f7866d91d180',1,'Linker::Section::WriteWord(size_t bytes, uint64_t value)'],['../classLinker_1_1Writer.html#aec0567605e2d3f55c33ed2ad9aec65d5',1,'Linker::Writer::WriteWord(size_t bytes, uint64_t value, EndianType endiantype)'],['../classLinker_1_1Writer.html#a44fbbc31d70df4dc53e185e642537320',1,'Linker::Writer::WriteWord(size_t bytes, uint64_t value)']]] +]; diff --git a/html/search/all_18.js b/html/search/all_18.js new file mode 100644 index 00000000..50d6adf0 --- /dev/null +++ b/html/search/all_18.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['xoutformat_0',['XOutFormat',['../classXenix_1_1XOutFormat.html',1,'Xenix']]], + ['xpformat_1',['XPFormat',['../classErgo_1_1XPFormat.html',1,'Ergo']]] +]; diff --git a/html/search/all_19.js b/html/search/all_19.js new file mode 100644 index 00000000..feb85d61 --- /dev/null +++ b/html/search/all_19.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['yy_5fbs_5fcolumn_0',['yy_bs_column',['../structyy__buffer__state.html#a10c4fcd8be759e6bf11e6d3e8cdb0307',1,'yy_buffer_state']]], + ['yy_5fbs_5flineno_1',['yy_bs_lineno',['../structyy__buffer__state.html#a818e94bc9c766e683c60df1e9fd01199',1,'yy_buffer_state']]], + ['yy_5fbuffer_5fstate_2',['yy_buffer_state',['../structyy__buffer__state.html',1,'']]], + ['yy_5ftrans_5finfo_3',['yy_trans_info',['../structyy__trans__info.html',1,'']]], + ['yyalloc_4',['yyalloc',['../unionyyalloc.html',1,'']]], + ['yystype_5',['YYSTYPE',['../unionYYSTYPE.html',1,'']]] +]; diff --git a/html/search/all_1a.js b/html/search/all_1a.js new file mode 100644 index 00000000..ff8e453d --- /dev/null +++ b/html/search/all_1a.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['zero_5ffill_0',['zero_fill',['../classMicrosoft_1_1MZFormat.html#a8b9d11b8bf23f3802a36f19cde01c0d7',1,'Microsoft::MZFormat::zero_fill'],['../classLinker_1_1Segment.html#a27c763324e53c308760702b4ac538c35',1,'Linker::Segment::zero_fill']]], + ['zerofilled_1',['ZeroFilled',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8faba221e7755b96fb7e972459ef96b477e',1,'Linker::Section']]], + ['zilogrelocation_2',['ZilogRelocation',['../classCOFF_1_1COFFFormat_1_1ZilogRelocation.html',1,'COFF::COFFFormat']]], + ['zmagic_3',['ZMAGIC',['../classCOFF_1_1COFFFormat.html#a29adeff9d932998e06a35922718bea12a73d5453307f61d03b130b653422f6e1a',1,'COFF::COFFFormat']]] +]; diff --git a/html/search/all_2.js b/html/search/all_2.js new file mode 100644 index 00000000..965a3361 --- /dev/null +++ b/html/search/all_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['8_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/all_3.js b/html/search/all_3.js new file mode 100644 index 00000000..3abdcc16 --- /dev/null +++ b/html/search/all_3.js @@ -0,0 +1,49 @@ +var searchData= +[ + ['a_20linker_20for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['absolute_1',['Absolute',['../classLinker_1_1Relocation.html#a683650aca2ebbf8919fa3d8f41b9f177',1,'Linker::Relocation::Absolute(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#a04bdbd692c483d4249e4e3b87069d12e',1,'Linker::Relocation::Absolute(size_t size, Location source, Target target, uint64_t addend=0)']]], + ['abstractsegment_2',['AbstractSegment',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html',1,'DOS16M::BWFormat::AbstractSegment'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.html',1,'PharLap::P3Format::MultiSegmented::AbstractSegment']]], + ['actualauxiliary4_3',['ActualAuxiliary4',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcae218ed246145a67e1e94f5ef8c71c9fe',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['actualdatasize_4',['ActualDataSize',['../classLinker_1_1Buffer.html#a197ddf4ac1014305c343b1e95288cedc',1,'Linker::Buffer::ActualDataSize()'],['../classLinker_1_1Segment.html#a9ca37dea54f271851d44ffe964334553',1,'Linker::Segment::ActualDataSize()'],['../classLinker_1_1Writable.html#a8554e5aef765d9b8b4851a5543a21f84',1,'Linker::Writable::ActualDataSize()']]], + ['actualfixups_5',['ActualFixups',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca92571d0c94c4c0dc7d2c8542f471303a',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['adamformat_6',['AdamFormat',['../classSeychellDOS32_1_1AdamFormat.html',1,'SeychellDOS32']]], + ['addcommonsymbol_7',['AddCommonSymbol',['../classLinker_1_1Module.html#a38dd4b20975c68f2c930f3d971f6a813',1,'Linker::Module']]], + ['addcurrentvalue_8',['AddCurrentValue',['../classLinker_1_1Relocation.html#a52614e87d0765b572eb7f171e3809253',1,'Linker::Relocation']]], + ['addend_9',['addend',['../classLinker_1_1Relocation.html#a704913c035e4f01e2353030a3012cfb6',1,'Linker::Relocation']]], + ['addexportedsymbol_10',['AddExportedSymbol',['../classLinker_1_1Module.html#a333949c04bd348d6271c659fd0340c74',1,'Linker::Module']]], + ['addglobalsymbol_11',['AddGlobalSymbol',['../classLinker_1_1Module.html#a671906d40d548939cc0b7d1bc12ab04e',1,'Linker::Module']]], + ['addimportedsymbol_12',['AddImportedSymbol',['../classLinker_1_1Module.html#a71d051047356e374379eecc9d16aba55',1,'Linker::Module']]], + ['addlocalsymbol_13',['AddLocalSymbol',['../classLinker_1_1Module.html#a828a23753d979857943659de799f8a5d',1,'Linker::Module']]], + ['address_14',['address',['../classCOFF_1_1COFFFormat_1_1ZilogRelocation.html#a48b5d1735d1df4c5b1637907176d8b2f',1,'COFF::COFFFormat::ZilogRelocation::address'],['../classCOFF_1_1COFFFormat_1_1Section.html#a730287bf85ba15397c7b28c5887efa2c',1,'COFF::COFFFormat::Section::address'],['../structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html#a9455fc9c0a7547ecf68d9a6dc7dd9093',1,'DigitalResearch::CPM86Format::FastLoadDescriptor::ldt_descriptor::address'],['../classLinker_1_1Position.html#a5b0c273ba2b47999a13e0ae17982e833',1,'Linker::Position::address']]], + ['address_5fdisplay_5fwidth_15',['address_display_width',['../classDumper_1_1Block.html#acfe1bdc93674613b4024aa615411cdb3',1,'Dumper::Block']]], + ['addsection_16',['AddSection',['../classLinker_1_1Module.html#adbeb6b70c7faa2e1d484e1c0e337d97a',1,'Linker::Module']]], + ['addsignal_17',['AddSignal',['../classDumper_1_1Block.html#a1f3148ed13be3968248a671615b4332f',1,'Dumper::Block']]], + ['addsupplementaryoutputformat_18',['AddSupplementaryOutputFormat',['../classApple_1_1MacDriver.html#adfe824eb865192caa12fc254b9631647',1,'Apple::MacDriver::AddSupplementaryOutputFormat()'],['../classLinker_1_1OutputFormat.html#aeeec2cbf4f03e45b0cdf46f2a52a5416',1,'Linker::OutputFormat::AddSupplementaryOutputFormat()']]], + ['afpdirectoryid_19',['AFPDirectoryID',['../classApple_1_1AFPDirectoryID.html',1,'Apple']]], + ['afpfileinfo_20',['AFPFileInfo',['../classApple_1_1AFPFileInfo.html',1,'Apple']]], + ['afpshortname_21',['AFPShortName',['../classApple_1_1AFPShortName.html',1,'Apple']]], + ['align_22',['align',['../classLinker_1_1Segment.html#afe5134038e9b51f882b6b0d4392bc226',1,'Linker::Segment']]], + ['aligncurrentaddress_23',['AlignCurrentAddress',['../classLinker_1_1LinkerManager.html#a0513ddb037fcae3aad5fdfa2b6425942',1,'Linker::LinkerManager']]], + ['alignendaddress_24',['AlignEndAddress',['../classLinker_1_1Segment.html#a32e5606ef13b215cd1b9c52830ce4bf3',1,'Linker::Segment']]], + ['alignto_25',['AlignTo',['../classLinker_1_1Writer.html#ad8876e9da13272a4de20e8f8724e2a4d',1,'Linker::Writer']]], + ['allocatesymbols_26',['AllocateSymbols',['../classLinker_1_1Module.html#a9a45504e9a720fd2a58dd17d440cadcf',1,'Linker::Module::AllocateSymbols(Section *section)'],['../classLinker_1_1Module.html#afc97fc4bf30de0c91c53bd93de4a48c1',1,'Linker::Module::AllocateSymbols()']]], + ['and_2032_20bit_20executable_20formats_27',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['aoutformat_28',['AOutFormat',['../classAOut_1_1AOutFormat.html',1,'AOut']]], + ['aoutheader_29',['AOutHeader',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html',1,'COFF::COFFFormat']]], + ['aoutreader_30',['AOutReader',['../classdump_1_1AOutReader.html',1,'dump']]], + ['append_31',['Append',['../classLinker_1_1Module.html#a06298d0a85295d9ba2b060097d11031d',1,'Linker::Module::Append(Section *dst, Section *src)'],['../classLinker_1_1Module.html#a8e39ce2d456bae6b064d2dd9ffe0bb11',1,'Linker::Module::Append(Module &other)'],['../classLinker_1_1Section.html#ab4d26d74a06752724795de2c9d526bf3',1,'Linker::Section::Append(const void *new_data, size_t length)'],['../classLinker_1_1Section.html#a80c8bcd695cb65929d1522e02cdb1343',1,'Linker::Section::Append(const char *new_data)'],['../classLinker_1_1Section.html#abfb2e69be54239f43a154a40e3cf42fb',1,'Linker::Section::Append(const Section &other)'],['../classLinker_1_1Section.html#a69f9d69f290ee3cc59165e847588c277',1,'Linker::Section::Append(Buffer &buffer)'],['../classLinker_1_1Segment.html#aebb72654447cd853c865f93f9a65c790',1,'Linker::Segment::Append()']]], + ['appendsection_32',['AppendSection',['../classLinker_1_1LinkerManager.html#ae66d1566aff716ecd001ad48dc9d0551',1,'Linker::LinkerManager']]], + ['appendsegment_33',['AppendSegment',['../classLinker_1_1LinkerManager.html#a94ae35491ad1755ee49c632bd708c814',1,'Linker::LinkerManager']]], + ['appleformat_34',['AppleFormat',['../classBinary_1_1AppleFormat.html',1,'Binary']]], + ['applereader_35',['AppleReader',['../classdump_1_1AppleReader.html',1,'dump']]], + ['applesingledouble_36',['AppleSingleDouble',['../classApple_1_1AppleSingleDouble.html',1,'Apple']]], + ['as86objformat_37',['AS86ObjFormat',['../classAS86Obj_1_1AS86ObjFormat.html',1,'AS86Obj']]], + ['atariformat_38',['AtariFormat',['../classBinary_1_1AtariFormat.html',1,'Binary']]], + ['attach_5fzero_5fpage_39',['attach_zero_page',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#a220bfe683cbf20a0cef13af0191022a5',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['aux_40',['AUX',['../classApple_1_1FileInfo_1_1AUX.html',1,'Apple::FileInfo']]], + ['auxiliary1_41',['Auxiliary1',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcab31c357526faf3aba751a51e7c453205',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary2_42',['Auxiliary2',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca199320a090ec7413013033e9b3cd70ab',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary3_43',['Auxiliary3',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca4f07ac9f6ffc8ca108537e580d68428e',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary4_44',['Auxiliary4',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca8736c7a4573c44d72b8bce0f526db12f',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary_5fcount_45',['auxiliary_count',['../classCOFF_1_1COFFFormat_1_1Symbol.html#abcf0bbfac8cac73503e3c30d0438f701',1,'COFF::COFFFormat::Symbol']]] +]; diff --git a/html/search/all_4.js b/html/search/all_4.js new file mode 100644 index 00000000..02a4735f --- /dev/null +++ b/html/search/all_4.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['base_0',['Base',['../classLinker_1_1Section.html#a242f928451cdd3b741c6d4cd4efcb6a1',1,'Linker::Section']]], + ['base_5faddress_1',['base_address',['../classBinary_1_1BinaryFormat.html#ac22d9050598e218a54bc11284983f29b',1,'Binary::BinaryFormat::base_address'],['../classLinker_1_1Segment.html#a505d7e7dd1293fe5fb71fefeab07b0ed',1,'Linker::Segment::base_address']]], + ['beginunderline_2',['BeginUnderline',['../classDumper_1_1Dumper.html#ab9ebe2519df04c643ef60e13287ff5a6',1,'Dumper::Dumper']]], + ['bias_3',['bias',['../classLinker_1_1Section.html#a9a471b95f8c6da2b82a7c48ce8399d26',1,'Linker::Section']]], + ['binaryformat_4',['BinaryFormat',['../classBinary_1_1BinaryFormat.html',1,'Binary']]], + ['bit_2016_20bit_20and_2032_20bit_20executable_20formats_5',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['bitfield_6',['BitField',['../classDumper_1_1BitFieldDisplay_1_1BitField.html',1,'Dumper::BitFieldDisplay']]], + ['bitfielddisplay_7',['BitFieldDisplay',['../classDumper_1_1BitFieldDisplay.html',1,'Dumper']]], + ['block_8',['Block',['../classDumper_1_1Block.html',1,'Dumper']]], + ['boutformat_9',['BOutFormat',['../classXenix_1_1BOutFormat.html',1,'Xenix']]], + ['bss_10',['BSS',['../classCOFF_1_1COFFFormat_1_1Section.html#aa98e4f30e87e423b60d4f9d924473ff1acd6fe573a51ee5fb35133d867cf4ec5b',1,'COFF::COFFFormat::Section']]], + ['bss_5faddress_11',['bss_address',['../classDigitalResearch_1_1CPM68KFormat.html#a2dc31f3559026df0fbdebdfb409ae35f',1,'DigitalResearch::CPM68KFormat']]], + ['bss_5fsegment_12',['bss_segment',['../classDigitalResearch_1_1CPM68KFormat.html#a43e037dd7601124ac552b1db4193802a',1,'DigitalResearch::CPM68KFormat::bss_segment'],['../classDigitalResearch_1_1CPM8KFormat.html#a964e0a017b8ddf8ef26ed62a01a4fb7b',1,'DigitalResearch::CPM8KFormat::bss_segment']]], + ['bss_5fsize_13',['bss_size',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#ae663abb1ff4c08cf1be465b456cab50f',1,'COFF::COFFFormat::AOutHeader::bss_size'],['../classDigitalResearch_1_1CPM68KFormat.html#a0cac256f4016f247237d738a132fb954',1,'DigitalResearch::CPM68KFormat::bss_size']]], + ['buffer_14',['Buffer',['../classLinker_1_1Buffer.html',1,'Linker']]], + ['bwformat_15',['BWFormat',['../classDOS16M_1_1BWFormat.html',1,'DOS16M']]] +]; diff --git a/html/search/all_5.js b/html/search/all_5.js new file mode 100644 index 00000000..12b6ae72 --- /dev/null +++ b/html/search/all_5.js @@ -0,0 +1,38 @@ +var searchData= +[ + ['calculatevalues_0',['CalculateValues',['../classAOut_1_1AOutFormat.html#ac63886fecdf1c9adf140a637fea08e47',1,'AOut::AOutFormat::CalculateValues()'],['../classBinary_1_1BinaryFormat.html#a9782a2f414adba1895f72780b4aa662d',1,'Binary::BinaryFormat::CalculateValues()'],['../classDOS16M_1_1BWFormat.html#a24c289d13fb346385875f3c052f27218',1,'DOS16M::BWFormat::CalculateValues()'],['../classCOFF_1_1COFFFormat.html#a1ec3125ad30063324784f9da3de537aa',1,'COFF::COFFFormat::CalculateValues()'],['../classDigitalResearch_1_1CPM68KFormat.html#a93c0e5c68e510f9de58f149fe0aa9369',1,'DigitalResearch::CPM68KFormat::CalculateValues()'],['../classDigitalResearch_1_1CPM86Format.html#a1b7ed452994cb3587eeadc7a8bffb135',1,'DigitalResearch::CPM86Format::CalculateValues()'],['../classDigitalResearch_1_1CPM8KFormat.html#aad313a3810caf2e89655525a3e31d83e',1,'DigitalResearch::CPM8KFormat::CalculateValues()'],['../classX68000_1_1HUFormat.html#a52c6e70d4c5cd93adea01e976bee4048',1,'X68000::HUFormat::CalculateValues()'],['../classAmiga_1_1HunkFormat.html#ab1ae152c9608fcbfe0f6ae3687ae5af4',1,'Amiga::HunkFormat::CalculateValues()'],['../classMicrosoft_1_1LEFormat.html#a0ab79b384f25d415e1631681b9793ae2',1,'Microsoft::LEFormat::CalculateValues()'],['../classApple_1_1AppleSingleDouble.html#ada5c7760fea6e4ddd3b59f7a3c3aed6a',1,'Apple::AppleSingleDouble::CalculateValues()'],['../classApple_1_1ResourceFork_1_1GenericResource.html#a31ccf2cbef6b59f21a3fe6cc230f9954',1,'Apple::ResourceFork::GenericResource::CalculateValues()'],['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html#aa261a3d333e9eee0bc7cbd9bf284dc1e',1,'Apple::ResourceFork::JumpTableCodeResource::CalculateValues()'],['../classApple_1_1ResourceFork_1_1CodeResource.html#a4dc00dbdc9ef73d5af451461894dcfe0',1,'Apple::ResourceFork::CodeResource::CalculateValues()'],['../classMINIX_1_1MINIXFormat.html#a90bfee0ea7ce2677e470f6631cc9d408',1,'MINIX::MINIXFormat::CalculateValues()'],['../classMicrosoft_1_1MZFormat.html#a7bcdf0f44cc2a9b48f66906bf40a6cf6',1,'Microsoft::MZFormat::CalculateValues()'],['../classMicrosoft_1_1NEFormat.html#a6a73699bab6ddb3922eded05d7bcc5a8',1,'Microsoft::NEFormat::CalculateValues()'],['../classPharLap_1_1MPFormat.html#a4f75a159485d47338053c820ba747807',1,'PharLap::MPFormat::CalculateValues()'],['../classPharLap_1_1P3Format_1_1Flat.html#a9f8d94a21dbc4db2c319913d7acf6f99',1,'PharLap::P3Format::Flat::CalculateValues()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#afcb01358809136d90dd0d3c19c1b312c',1,'PharLap::P3Format::MultiSegmented::CalculateValues()'],['../classLinker_1_1OutputFormat.html#ae63d979e5fa85a76ffe06ac613b6ec27',1,'Linker::OutputFormat::CalculateValues()']]], + ['cdos386_1',['CDOS386',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25aca80ca5a704e7b53e211021287a4bb463c',1,'COFF::COFFFormat']]], + ['cdos68k_2',['CDOS68K',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25acafc03bd551a50f1b4ddfb5d5b97efe541',1,'COFF::COFFFormat']]], + ['checksum_3',['checksum',['../classMicrosoft_1_1MZFormat.html#a519a2f4849c3a3b0677acfbb1f64722a',1,'Microsoft::MZFormat']]], + ['chipmemory_4',['ChipMemory',['../classAmiga_1_1HunkFormat.html#ad1b414fa36f950ce745b54450b2e179da535f8a152f6d70793b9172cde60ab1c2',1,'Amiga::HunkFormat']]], + ['choicedisplay_5',['ChoiceDisplay',['../classDumper_1_1ChoiceDisplay.html',1,'Dumper::ChoiceDisplay'],['../classDumper_1_1ChoiceDisplay.html#ae66efcf0962a72fe2b2bcb72358806be',1,'Dumper::ChoiceDisplay::ChoiceDisplay(std::string on_true, std::string on_false)'],['../classDumper_1_1ChoiceDisplay.html#a823c380e4cdd3c30a9c8e6ecae41a280',1,'Dumper::ChoiceDisplay::ChoiceDisplay(std::string on_true)']]], + ['clear_6',['Clear',['../classBinary_1_1CPM3Format.html#ae040dd0d1749353e2882e753c5ef7ca9',1,'Binary::CPM3Format::Clear()'],['../classBinary_1_1BinaryFormat.html#a937dd9941d6bf2f29efcb398ff8f9506',1,'Binary::BinaryFormat::Clear()'],['../classCOFF_1_1COFFFormat.html#a0129e17c2c0772232a3b291b399f1964',1,'COFF::COFFFormat::Clear()'],['../classDigitalResearch_1_1CPM68KFormat.html#a68b79c0a0ae9f53b33ddd2ee64becffa',1,'DigitalResearch::CPM68KFormat::Clear()'],['../classDigitalResearch_1_1CPM86Format.html#a9afc148e9cd3946c6a3902adaf7510ad',1,'DigitalResearch::CPM86Format::Clear()'],['../classDigitalResearch_1_1CPM8KFormat.html#a82b5d9e40365938302fe561fff5a8163',1,'DigitalResearch::CPM8KFormat::Clear()'],['../classMicrosoft_1_1MZFormat.html#a93a473b423af7a60fbbc55a69c269f80',1,'Microsoft::MZFormat::Clear()'],['../classLinker_1_1Format.html#af096ef1500e69a6b3112c7640b3748bd',1,'Linker::Format::Clear()']]], + ['code_7',['Code',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca041ccb2597a7ca9e00585ccf8ec7ea8c',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['code_8',['code',['../classDigitalResearch_1_1CPM68KFormat.html#aef1eb626c7dd4fb53bcbbe5d788c4120',1,'DigitalResearch::CPM68KFormat']]], + ['code_5faddress_9',['code_address',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#a0178cb0da1c95a94f4435d3fe23b683e',1,'COFF::COFFFormat::AOutHeader::code_address'],['../classDigitalResearch_1_1CPM68KFormat.html#a087c7710c4ff97c238ed18cb78f71e4a',1,'DigitalResearch::CPM68KFormat::code_address']]], + ['code_5fsize_10',['code_size',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#abb82b3fb406747ab82a98f64658e3353',1,'COFF::COFFFormat::AOutHeader::code_size'],['../classDigitalResearch_1_1CPM68KFormat.html#abcff6f1611092147e7f418530b9d38b2',1,'DigitalResearch::CPM68KFormat::code_size']]], + ['coderesource_11',['CodeResource',['../classApple_1_1ResourceFork_1_1CodeResource.html',1,'Apple::ResourceFork']]], + ['codesegment_12',['CodeSegment',['../classDigitalResearch_1_1CPM68KFormat.html#a66433c4cc0d0304758cab50c61062535',1,'DigitalResearch::CPM68KFormat']]], + ['coffformat_13',['COFFFormat',['../classCOFF_1_1COFFFormat.html',1,'COFF']]], + ['coffreader_14',['COFFReader',['../classdump_1_1COFFReader.html',1,'dump']]], + ['collection_5fname_15',['collection_name',['../classLinker_1_1Section.html#aa4869c8751c1ea74b7d3e66706c34acc',1,'Linker::Section']]], + ['comment_16',['Comment',['../classApple_1_1Comment.html',1,'Apple']]], + ['commodoreformat_17',['CommodoreFormat',['../classBinary_1_1CommodoreFormat.html',1,'Binary']]], + ['commonsymbol_18',['CommonSymbol',['../classLinker_1_1CommonSymbol.html',1,'Linker']]], + ['container_19',['Container',['../classDumper_1_1Container.html',1,'Dumper']]], + ['cpm3format_20',['CPM3Format',['../classBinary_1_1CPM3Format.html',1,'Binary']]], + ['cpm68kformat_21',['CPM68KFormat',['../classDigitalResearch_1_1CPM68KFormat.html',1,'DigitalResearch']]], + ['cpm68kreader_22',['CPM68KReader',['../classdump_1_1CPM68KReader.html',1,'dump']]], + ['cpm8000reader_23',['CPM8000Reader',['../classdump_1_1CPM8000Reader.html',1,'dump']]], + ['cpm86format_24',['CPM86Format',['../classDigitalResearch_1_1CPM86Format.html',1,'DigitalResearch']]], + ['cpm86reader_25',['CPM86Reader',['../classdump_1_1CPM86Reader.html',1,'dump']]], + ['cpm8kformat_26',['CPM8KFormat',['../classDigitalResearch_1_1CPM8KFormat.html',1,'DigitalResearch']]], + ['cpu_27',['cpu',['../classCOFF_1_1COFFFormat.html#a804c399c94ce4aff3c5905406d7b0114',1,'COFF::COFFFormat']]], + ['cpu_5ftype_28',['cpu_type',['../classLinker_1_1Module.html#a91adcc0d6d9aa631e4d79dad0154a756',1,'Linker::Module::cpu_type'],['../classCOFF_1_1COFFFormat.html#af9d261fcedc71436f42a988518a2000a',1,'COFF::COFFFormat::cpu_type']]], + ['createdefaultsegments_29',['CreateDefaultSegments',['../classMicrosoft_1_1MZFormat.html#a17104d50d6ea71b5773e590d4211152d',1,'Microsoft::MZFormat']]], + ['cs_30',['cs',['../classMicrosoft_1_1MZFormat.html#a359c0b5f81f3023e47d472cfce88ae26',1,'Microsoft::MZFormat']]], + ['current_5faddress_31',['current_address',['../classLinker_1_1LinkerManager.html#a810b93fa2314556615ec6287cbfbc40c',1,'Linker::LinkerManager']]], + ['current_5fbase_32',['current_base',['../classLinker_1_1LinkerManager.html#ad9071f24df9b386cc5772eca5332f55a',1,'Linker::LinkerManager']]], + ['current_5fsegment_33',['current_segment',['../classLinker_1_1LinkerManager.html#a940014bbe9e0466c622fe55c7f06ad5a',1,'Linker::LinkerManager']]], + ['customflag_34',['CustomFlag',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fae0a0ecea4c542ca2f039f5d47f979a94',1,'Linker::Section']]] +]; diff --git a/html/search/all_6.js b/html/search/all_6.js new file mode 100644 index 00000000..3c2df70e --- /dev/null +++ b/html/search/all_6.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['d3x1format_0',['D3X1Format',['../classBrocaD3X_1_1D3X1Format.html',1,'BrocaD3X']]], + ['data_1',['DATA',['../classCOFF_1_1COFFFormat_1_1Section.html#aa98e4f30e87e423b60d4f9d924473ff1ac312875fa4baa17c5155c3e9a387ba62',1,'COFF::COFFFormat::Section']]], + ['data_2',['Data',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca492c2e9bd5afcfdad00b90ca418de356',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['data_3',['data',['../classCOFF_1_1COFFFormat_1_1ZilogRelocation.html#a308602da22ab9d210689ba50d1c4325c',1,'COFF::COFFFormat::ZilogRelocation::data'],['../classDigitalResearch_1_1CPM68KFormat.html#af301db1d3296622dbce7d68f215b5e84',1,'DigitalResearch::CPM68KFormat::data']]], + ['data_5faddress_4',['data_address',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#aedf6b2f463ba78c13d6914ace91735c9',1,'COFF::COFFFormat::AOutHeader::data_address'],['../classDigitalResearch_1_1CPM68KFormat.html#af8113bafae8080faf6741c4df80dcc69',1,'DigitalResearch::CPM68KFormat::data_address']]], + ['data_5fsegment_5',['data_segment',['../classMicrosoft_1_1MZFormat.html#aa592548162eb44eb47e93b40e62086e2',1,'Microsoft::MZFormat']]], + ['data_5fsize_6',['data_size',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#ae5f5827f880d97d3280440cc009082a3',1,'COFF::COFFFormat::AOutHeader::data_size'],['../classDigitalResearch_1_1CPM68KFormat.html#af32249cf600a11f5e21be3f36e8b3c0f',1,'DigitalResearch::CPM68KFormat::data_size'],['../classLinker_1_1Segment.html#a8cf80f3afd7573beb864e60b2cb23da2',1,'Linker::Segment::data_size']]], + ['datafork_7',['DataFork',['../classApple_1_1DataFork.html',1,'Apple']]], + ['datasegment_8',['DataSegment',['../classDigitalResearch_1_1CPM68KFormat.html#a6153aa2356eae02abde97495cf990812',1,'DigitalResearch::CPM68KFormat']]], + ['decdisplay_9',['DecDisplay',['../classDumper_1_1DecDisplay.html',1,'Dumper']]], + ['default_5fname_10',['default_name',['../classDumper_1_1ChoiceDisplay.html#aa889df200aa55ad14c5c7ea909f5e6a4',1,'Dumper::ChoiceDisplay']]], + ['deletesection_11',['DeleteSection',['../classLinker_1_1Module.html#aae537c795e8d0046c4499a1e66bbde27',1,'Linker::Module']]], + ['descriptor_12',['Descriptor',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html',1,'DigitalResearch::CPM86Format::Descriptor'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.html',1,'PharLap::P3Format::MultiSegmented::Descriptor']]], + ['descriptors_13',['descriptors',['../classDigitalResearch_1_1CPM86Format.html#aaaebafd2b1088dc62b370f081b724c00',1,'DigitalResearch::CPM86Format']]], + ['descriptortable_14',['DescriptorTable',['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.html',1,'PharLap::P3Format::MultiSegmented']]], + ['determiner_15',['Determiner',['../classdump_1_1Determiner.html',1,'dump']]], + ['displace_16',['Displace',['../classLinker_1_1Location.html#abe76dceca566c3aee80013c80308ad6d',1,'Linker::Location::Displace()'],['../classLinker_1_1Relocation.html#a997e3f105f20348bb79fb9f550dd3a2e',1,'Linker::Relocation::Displace()'],['../classLinker_1_1Target.html#ac136ed2a72fa0c95779643fd57fc6367',1,'Linker::Target::Displace()']]], + ['display_17',['Display',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_18',['display',['../classDumper_1_1FieldOf.html#a021ee5158c9bca896d84747b8a4de491',1,'Dumper::FieldOf']]], + ['display_3c_20offset_5ft_20_3e_19',['Display< offset_t >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20offset_5ft_2c_20offset_5ft_20_3e_20',['Display< offset_t, offset_t >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20offset_5ft_2c_20ts_2e_2e_2e_20_3e_21',['Display< offset_t, Ts... >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20std_3a_3astring_20_3e_22',['Display< std::string >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20ts_2e_2e_2e_20_3e_23',['Display< Ts... >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['displayvalue_24',['DisplayValue',['../classDumper_1_1Display.html#a9a91ab30a111e6fcdc129e0f164fa138',1,'Dumper::Display']]], + ['djgpp_25',['DJGPP',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25acaf1971793850657a6e57b7c06efdc89b6',1,'COFF::COFFFormat']]], + ['dummysegment_26',['DummySegment',['../classDOS16M_1_1BWFormat_1_1DummySegment.html',1,'DOS16M::BWFormat']]], + ['dump_27',['Dump',['../classBinary_1_1BinaryFormat.html#a2a8d3173acc8166cf53b7553793b24c3',1,'Binary::BinaryFormat::Dump()'],['../classCOFF_1_1COFFFormat.html#a1ea5f59639fe34d30cad54aa61676736',1,'COFF::COFFFormat::Dump()'],['../classDigitalResearch_1_1CPM68KFormat.html#aa256a83e6a66d8981288c8b128bc89c4',1,'DigitalResearch::CPM68KFormat::Dump()'],['../classDigitalResearch_1_1CPM86Format.html#aee66587b1963f21504339500ea7de4c1',1,'DigitalResearch::CPM86Format::Dump()'],['../classDigitalResearch_1_1CPM8KFormat.html#a8e8f5325c0741dc3db55b4544de45fcf',1,'DigitalResearch::CPM8KFormat::Dump()'],['../classMicrosoft_1_1MZFormat.html#a28d44ea54967cc61dba156b22d7b4826',1,'Microsoft::MZFormat::Dump()'],['../classLinker_1_1Format.html#adda815844b654ffdd8f78e4828767702',1,'Linker::Format::Dump()']]], + ['dumper_28',['Dumper',['../classDumper_1_1Dumper.html',1,'Dumper']]] +]; diff --git a/html/search/all_7.js b/html/search/all_7.js new file mode 100644 index 00000000..1652e2f8 --- /dev/null +++ b/html/search/all_7.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['elfformat_0',['ELFFormat',['../classELF_1_1ELFFormat.html',1,'ELF']]], + ['elfreader_1',['ELFReader',['../classdump_1_1ELFReader.html',1,'dump']]], + ['empty_2',['Empty',['../classLinker_1_1Relocation.html#aba1cfdf0438558e003d4cd3ce97c6523',1,'Linker::Relocation']]], + ['endiantype_3',['endiantype',['../classCOFF_1_1COFFFormat.html#a913f2e79eb1d40d0527645c40a8f40dd',1,'COFF::COFFFormat::endiantype'],['../classLinker_1_1Reader.html#a68d6cabb6e7905e40963d9377db7fe4f',1,'Linker::Reader::endiantype'],['../classLinker_1_1Relocation.html#a5bf2b394eafd1b1cb3506d294398cb42',1,'Linker::Relocation::endiantype'],['../classLinker_1_1Writer.html#a7c915c00aec7552e12a0f5e549632ec0',1,'Linker::Writer::endiantype']]], + ['endunderline_4',['EndUnderline',['../classDumper_1_1Dumper.html#a8c75f310152f2aa454cfbd63e9e78dc7',1,'Dumper::Dumper']]], + ['entry_5',['Entry',['../classApple_1_1AppleSingleDouble_1_1Entry.html',1,'Apple::AppleSingleDouble::Entry'],['../structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry.html',1,'Apple::ResourceFork::JumpTableCodeResource::Entry'],['../classDumper_1_1Entry.html',1,'Dumper::Entry'],['../classMicrosoft_1_1LEFormat_1_1Entry.html',1,'Microsoft::LEFormat::Entry'],['../classMicrosoft_1_1NEFormat_1_1Entry.html',1,'Microsoft::NEFormat::Entry']]], + ['entry_5faddress_6',['entry_address',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#a591ee21664125f34aab797509a8a21ec',1,'COFF::COFFFormat::AOutHeader::entry_address'],['../classCOFF_1_1COFFFormat.html#ac43a27d9ef5847c230dff13089ea8cce',1,'COFF::COFFFormat::entry_address']]], + ['exception_7',['Exception',['../classLinker_1_1Exception.html',1,'Linker']]], + ['execable_8',['Execable',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fab2f97edc3c4aeecb00c40972d00fff99',1,'Linker::Section']]], + ['executable_20formats_9',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['expand_10',['Expand',['../classLinker_1_1Section.html#a3339e1b63c42c3c4d710001e63ce216e',1,'Linker::Section']]], + ['exportedsymbol_11',['ExportedSymbol',['../classLinker_1_1ExportedSymbol.html',1,'Linker::ExportedSymbol'],['../classLinker_1_1ExportedSymbol.html#ae0fb96e25dca1d64c74f0af0df9e3f6a',1,'Linker::ExportedSymbol::ExportedSymbol(std::string name)'],['../classLinker_1_1ExportedSymbol.html#a8f2adbe199038cecb52aa108122709c2',1,'Linker::ExportedSymbol::ExportedSymbol(std::string name, uint16_t hint)'],['../classLinker_1_1ExportedSymbol.html#af1441a432c55e64b8c6e129243afb940',1,'Linker::ExportedSymbol::ExportedSymbol(uint16_t ordinal, std::string internal_name)']]], + ['ext_5flong_5fsegmented_12',['EXT_LONG_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a602afe81434a4ee60b2ac34e11048cf8',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['ext_5foffset_13',['EXT_OFFSET',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7aebafb868bba8c89f6672015d7c78b338',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['ext_5fshort_5fsegmented_14',['EXT_SHORT_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a78667166226b7dddcca7daebd8c6727e',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['extension_15',['extension',['../classBinary_1_1BinaryFormat.html#aa37e90198d51247348dd40eb60da889f',1,'Binary::BinaryFormat']]], + ['extra_16',['Extra',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca5cf9a33a0504d4559d0d2e80557481ed',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['extra_5fparas_17',['extra_paras',['../classMicrosoft_1_1MZFormat.html#a701a408bbf3d6e030eb1c03d11465a3b',1,'Microsoft::MZFormat']]] +]; diff --git a/html/search/all_8.js b/html/search/all_8.js new file mode 100644 index 00000000..e08b9444 --- /dev/null +++ b/html/search/all_8.js @@ -0,0 +1,59 @@ +var searchData= +[ + ['fastload_0',['FastLoad',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcae79f94571b41f4a695ebc97022420c81',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['fastload_5fdescriptor_1',['fastload_descriptor',['../classDigitalResearch_1_1CPM86Format.html#a4e7543ed48a1abf5be67659debc76933',1,'DigitalResearch::CPM86Format']]], + ['fastloaddescriptor_2',['FastLoadDescriptor',['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html',1,'DigitalResearch::CPM86Format']]], + ['fastmemory_3',['FastMemory',['../classAmiga_1_1HunkFormat.html#ad1b414fa36f950ce745b54450b2e179da544a0f3763a858994ab32233a34d953a',1,'Amiga::HunkFormat']]], + ['fetchintegeroption_4',['FetchIntegerOption',['../classLinker_1_1OutputFormat.html#a9fb1445cd62e7a05eec785abed8ef273',1,'Linker::OutputFormat']]], + ['fetchoption_5',['FetchOption',['../classLinker_1_1OutputFormat.html#ad1ac5336a836f4bdddd593b6430261c8',1,'Linker::OutputFormat::FetchOption(std::map< std::string, std::string > &options, std::string name)'],['../classLinker_1_1OutputFormat.html#ad3fb1623474b9baad197c5e42cf7be8f',1,'Linker::OutputFormat::FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)']]], + ['fetchsection_6',['FetchSection',['../classLinker_1_1Module.html#a154b90ea74e33c2840967d6a2687a329',1,'Linker::Module']]], + ['fetchsegment_7',['FetchSegment',['../classLinker_1_1LinkerManager.html#a5a940cfa3403f3542623e9b3c64ade38',1,'Linker::LinkerManager']]], + ['field_8',['Field',['../classDumper_1_1Field.html',1,'Dumper']]], + ['fieldof_9',['FieldOf',['../classDumper_1_1FieldOf.html',1,'Dumper']]], + ['file_5foffset_10',['file_offset',['../classDigitalResearch_1_1CPM86Format.html#ae7ee8da3bfc85a0bbf7410f6e046ffc1',1,'DigitalResearch::CPM86Format']]], + ['file_5fsize_11',['file_size',['../classDigitalResearch_1_1CPM68KFormat.html#a00d14720586cf0960d73abfb37ee6485',1,'DigitalResearch::CPM68KFormat']]], + ['file_5fsize_5fblocks_12',['file_size_blocks',['../classMicrosoft_1_1MZFormat.html#a82224a520647c484ebc0797b5db94dec',1,'Microsoft::MZFormat']]], + ['filedatesinfo_13',['FileDatesInfo',['../classApple_1_1FileDatesInfo.html',1,'Apple']]], + ['fileinfo_14',['FileInfo',['../classApple_1_1FileInfo.html',1,'Apple']]], + ['filereader_15',['FileReader',['../classdump_1_1FileReader.html',1,'dump']]], + ['fill_16',['Fill',['../classLinker_1_1Segment.html#a8158df81757259be97fc2a4e4e8721fc',1,'Linker::Segment']]], + ['fillto_17',['FillTo',['../classLinker_1_1Writer.html#ac011de4c3e053ede67d0ce98bda2977c',1,'Linker::Writer']]], + ['finderinfo_18',['FinderInfo',['../classApple_1_1FinderInfo.html',1,'Apple']]], + ['findglobalsymbol_19',['FindGlobalSymbol',['../classLinker_1_1Module.html#a5aea788c1415f8976b83f5a52b562a32',1,'Linker::Module']]], + ['findlocalsymbol_20',['FindLocalSymbol',['../classLinker_1_1Module.html#a923aaeeedf3fcc23b0d5b72a6db7d638',1,'Linker::Module']]], + ['findsection_21',['FindSection',['../classLinker_1_1Module.html#a7169903a78039021c158c75287f11892',1,'Linker::Module']]], + ['finishcurrentsegment_22',['FinishCurrentSegment',['../classLinker_1_1LinkerManager.html#aa0a1b1554b4ff9b8b49306518fb3edd8',1,'Linker::LinkerManager']]], + ['first_5ffree_5fentry_23',['first_free_entry',['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html#aca9fc12e6d388f5af81872bca3a69d5f',1,'DigitalResearch::CPM86Format::FastLoadDescriptor']]], + ['first_5fselector_24',['first_selector',['../structDigitalResearch_1_1CPM86Format_1_1library.html#a30e03dba872d181221116476454fec90',1,'DigitalResearch::CPM86Format::library']]], + ['first_5fused_5findex_25',['first_used_index',['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html#a93690d58fe81284763418fe51003c667',1,'DigitalResearch::CPM86Format::FastLoadDescriptor']]], + ['fixed_26',['Fixed',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8faa55a998be59cd8af7f48facf1cada69c',1,'Linker::Section']]], + ['fixups_27',['Fixups',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca4d30082575f71e95b8bf4e0a32e14f31',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['flag_5fdirect_5fvideo_28',['FLAG_DIRECT_VIDEO',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a050aca90f2650e7187228f90fae63f2c',1,'DigitalResearch::CPM86Format']]], + ['flag_5ffixups_29',['FLAG_FIXUPS',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a09bb39cb6f0674d025d719ed48ec2aa9',1,'DigitalResearch::CPM86Format']]], + ['flag_5foptional_5f8087_30',['FLAG_OPTIONAL_8087',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751ad6dda5e8dc03209d08a9528ee8bb098c',1,'DigitalResearch::CPM86Format']]], + ['flag_5frequired_5f8087_31',['FLAG_REQUIRED_8087',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a236f4a8010d466e28892ca9709b962e9',1,'DigitalResearch::CPM86Format']]], + ['flag_5frsx_32',['FLAG_RSX',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a3c6f7fe26e8b845c181df1a8056c5523',1,'DigitalResearch::CPM86Format']]], + ['flags_33',['flags',['../classAmiga_1_1HunkFormat.html#ad1b414fa36f950ce745b54450b2e179d',1,'Amiga::HunkFormat::flags'],['../classCOFF_1_1COFFFormat_1_1Section.html#af8f29d90638046cbb99f74fb6e1f1edc',1,'COFF::COFFFormat::Section::flags'],['../classCOFF_1_1COFFFormat.html#af9094cce66ef935167fe46bffa38afc7',1,'COFF::COFFFormat::flags'],['../structDigitalResearch_1_1CPM86Format_1_1library__id.html#a569dd7c92369a8dfafbfc374064fa69a',1,'DigitalResearch::CPM86Format::library_id::flags'],['../classDigitalResearch_1_1CPM86Format.html#a7d98daa7501c98a678dc3c96c9ef8117',1,'DigitalResearch::CPM86Format::flags']]], + ['flat_34',['Flat',['../classPharLap_1_1P3Format_1_1Flat.html',1,'PharLap::P3Format']]], + ['flatformat_35',['FlatFormat',['../classDX64_1_1FlatFormat.html',1,'DX64']]], + ['flexformat_36',['FLEXFormat',['../classBinary_1_1FLEXFormat.html',1,'Binary']]], + ['flexosaoutheader_37',['FlexOSAOutHeader',['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html',1,'COFF::COFFFormat']]], + ['for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_38',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['format_39',['Format',['../classLinker_1_1Format.html',1,'Linker']]], + ['format_40',['format',['../classDigitalResearch_1_1CPM86Format.html#a1383c61e71ff62ae7fadcad2de1ae379',1,'DigitalResearch::CPM86Format']]], + ['format_5f8080_41',['FORMAT_8080',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3ebaa232eed41fbad678e1998318314c42ae',1,'DigitalResearch::CPM86Format']]], + ['format_5fcompact_42',['FORMAT_COMPACT',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3eba6b9d972314f61bacc116901a621b7a63',1,'DigitalResearch::CPM86Format']]], + ['format_5fdescription_43',['format_description',['../structformat__description.html',1,'']]], + ['format_5fflexos_44',['FORMAT_FLEXOS',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3eba640e7402848b89e6fd60f88909a334c0',1,'DigitalResearch::CPM86Format']]], + ['format_5fmagic_45',['format_magic',['../structformat__magic.html',1,'']]], + ['format_5fsmall_46',['FORMAT_SMALL',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3ebadc1fb4be46190e214cbd76178992a4d8',1,'DigitalResearch::CPM86Format']]], + ['format_5ftype_47',['format_type',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25ac',1,'COFF::COFFFormat::format_type'],['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3eb',1,'DigitalResearch::CPM86Format::format_type']]], + ['format_5funknown_48',['FORMAT_UNKNOWN',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3ebaa2c35c19da1681b1a8daba3bbbde7a8e',1,'DigitalResearch::CPM86Format']]], + ['formatis16bit_49',['FormatIs16bit',['../classBinary_1_1BinaryFormat.html#a010b248db427db178e4772757852dc64',1,'Binary::BinaryFormat::FormatIs16bit()'],['../classDOS16M_1_1BWFormat.html#aa8d383feed5c4e8502227d6fc8f9d39c',1,'DOS16M::BWFormat::FormatIs16bit()'],['../classDigitalResearch_1_1CPM86Format.html#a791c5babfe42adf6d44e55258c79bcb7',1,'DigitalResearch::CPM86Format::FormatIs16bit()'],['../classMINIX_1_1MINIXFormat.html#a4c7cc4597d24c12b99daa4796a83d377',1,'MINIX::MINIXFormat::FormatIs16bit()'],['../classMicrosoft_1_1MZFormat.html#acb4aef47fa12b0e185a49c0ce0740e40',1,'Microsoft::MZFormat::FormatIs16bit()'],['../classMicrosoft_1_1NEFormat.html#aa1cce598aeec7f574b6d82df75562749',1,'Microsoft::NEFormat::FormatIs16bit()'],['../classLinker_1_1OutputFormat.html#a8e6cfc4a9c2434536ab1b31e54f2c6f7',1,'Linker::OutputFormat::FormatIs16bit() const']]], + ['formatislinear_50',['FormatIsLinear',['../classLinker_1_1OutputFormat.html#a71bf1175595e1a2ab076f3e92d5233fb',1,'Linker::OutputFormat']]], + ['formats_51',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['formats_52',['Formats',['../index.html#x_input_formats',1,'Supported input formats'],['../index.html#x_output_formats',1,'Supported output formats']]], + ['formatsupportslibraries_53',['FormatSupportsLibraries',['../classMicrosoft_1_1LEFormat.html#aefacaa5ae55554ebd1cd3ba13d67f521',1,'Microsoft::LEFormat::FormatSupportsLibraries()'],['../classMicrosoft_1_1NEFormat.html#addafeb4098ab2b0dc9b9b72ee2a1b7b7',1,'Microsoft::NEFormat::FormatSupportsLibraries()'],['../classLinker_1_1OutputFormat.html#a35ff0e5cd89f53d03a15e9e9c3260ad6',1,'Linker::OutputFormat::FormatSupportsLibraries()']]], + ['formatsupportsresources_54',['FormatSupportsResources',['../classApple_1_1AppleSingleDouble.html#a1511e96742a27fbdcb6b0a554628a91b',1,'Apple::AppleSingleDouble::FormatSupportsResources()'],['../classApple_1_1ResourceFork.html#aae55a4f1ec21ef570532b1f10ddeda07',1,'Apple::ResourceFork::FormatSupportsResources()'],['../classApple_1_1MacDriver.html#a4567bc5ac5e448ef7edf0bebc34bc42a',1,'Apple::MacDriver::FormatSupportsResources()'],['../classLinker_1_1OutputFormat.html#afd51a2eb946dc0ed9b9750e840bcd247',1,'Linker::OutputFormat::FormatSupportsResources()']]], + ['formatsupportssegmentation_55',['FormatSupportsSegmentation',['../classBinary_1_1BinaryFormat.html#a6e55c52d347946b43d01807e5f17a263',1,'Binary::BinaryFormat::FormatSupportsSegmentation()'],['../classDOS16M_1_1BWFormat.html#a73187385b2f11df0c3ac42a9869579f7',1,'DOS16M::BWFormat::FormatSupportsSegmentation()'],['../classDigitalResearch_1_1CPM86Format.html#ab959c7ed471304b0d73022a924eaca43',1,'DigitalResearch::CPM86Format::FormatSupportsSegmentation()'],['../classDigitalResearch_1_1CPM8KFormat.html#a019a1e548bfa70f9b96fcf6674a7a255',1,'DigitalResearch::CPM8KFormat::FormatSupportsSegmentation()'],['../classMicrosoft_1_1LEFormat.html#aae4d001b509ab1b9d534f09bb45dc132',1,'Microsoft::LEFormat::FormatSupportsSegmentation()'],['../classMicrosoft_1_1MZFormat.html#a6efdba1cb775c162adbdf7be87c2ff72',1,'Microsoft::MZFormat::FormatSupportsSegmentation()'],['../classMicrosoft_1_1NEFormat.html#a655726f8e8ebd89016120424cbf66439',1,'Microsoft::NEFormat::FormatSupportsSegmentation()'],['../classPharLap_1_1P3Format.html#a96dea43941291a7aec830cddb3f5f49b',1,'PharLap::P3Format::FormatSupportsSegmentation()'],['../classLinker_1_1OutputFormat.html#a0f64b63a2c6849c44a5642087698bfbf',1,'Linker::OutputFormat::FormatSupportsSegmentation()']]] +]; diff --git a/html/search/all_9.js b/html/search/all_9.js new file mode 100644 index 00000000..051d6d2b --- /dev/null +++ b/html/search/all_9.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['generatefile_0',['GenerateFile',['../classAOut_1_1AOutFormat.html#aeb2dca4af06fc91eee3b0ec541a7c2e9',1,'AOut::AOutFormat::GenerateFile()'],['../classBinary_1_1BinaryFormat.html#af985aced3dbb5524755aa01f907ad3bb',1,'Binary::BinaryFormat::GenerateFile()'],['../classCOFF_1_1COFFFormat.html#aae1e7eea10ae2c9c17e25ad4aadecd2a',1,'COFF::COFFFormat::GenerateFile()'],['../classDigitalResearch_1_1CPM68KFormat.html#a00bef741b0e9e895d0dd3d97c4861cda',1,'DigitalResearch::CPM68KFormat::GenerateFile()'],['../classDigitalResearch_1_1CPM86Format.html#aa3d67ffa2d4e957a60668efeba32af33',1,'DigitalResearch::CPM86Format::GenerateFile()'],['../classDigitalResearch_1_1CPM8KFormat.html#a8e5d8a6501416701e4f560bf3cce1861',1,'DigitalResearch::CPM8KFormat::GenerateFile()'],['../classX68000_1_1HUFormat.html#a5fc2afa2deb6094eb859dfd5c867ea8c',1,'X68000::HUFormat::GenerateFile()'],['../classAmiga_1_1HunkFormat.html#a5b4b78743bdd53830e1956bcadceb3fe',1,'Amiga::HunkFormat::GenerateFile()'],['../classMicrosoft_1_1LEFormat.html#a492a8120c06116191530433b7e50e60c',1,'Microsoft::LEFormat::GenerateFile()'],['../classApple_1_1AppleSingleDouble.html#a621c7de1abb9db6ecd8612866fe7eaa6',1,'Apple::AppleSingleDouble::GenerateFile()'],['../classApple_1_1ResourceFork.html#a3a6a72c5d7707e6237c14f10b3588ac1',1,'Apple::ResourceFork::GenerateFile()'],['../classApple_1_1MacBinary.html#aaaecfa1a8afa5f8630a5460e95cd3142',1,'Apple::MacBinary::GenerateFile()'],['../classApple_1_1MacDriver.html#aea76e5ab16309d4abdf2d119044d5fdb',1,'Apple::MacDriver::GenerateFile()'],['../classMINIX_1_1MINIXFormat.html#acf17c17209c21db3524666df77dced27',1,'MINIX::MINIXFormat::GenerateFile()'],['../classMicrosoft_1_1MZFormat.html#a52e7121fe79598680874bae16a8640ae',1,'Microsoft::MZFormat::GenerateFile()'],['../classMicrosoft_1_1NEFormat.html#afa08577f8c91f95e46199f3a87c6e878',1,'Microsoft::NEFormat::GenerateFile()'],['../classLinker_1_1OutputFormat.html#a7f0a56b4e329c20bc92d8be1aba820d8',1,'Linker::OutputFormat::GenerateFile()']]], + ['generic_1',['GENERIC',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25acae7e705fbd20a2b3d5f82145997b5f1e0',1,'COFF::COFFFormat']]], + ['genericresource_2',['GenericResource',['../classApple_1_1ResourceFork_1_1GenericResource.html',1,'Apple::ResourceFork']]], + ['geodeformat_3',['GeodeFormat',['../classGEOS_1_1GeodeFormat.html',1,'GEOS']]], + ['getbyte_4',['GetByte',['../classLinker_1_1Buffer.html#afa37ec81b00582464e8d65475582947a',1,'Linker::Buffer::GetByte()'],['../classLinker_1_1Section.html#aa5471535dccc7d3efc5839a70e7a4151',1,'Linker::Section::GetByte()'],['../classLinker_1_1Segment.html#acd14f099a6de3050add9c2d492aa7ac0',1,'Linker::Segment::GetByte()'],['../classLinker_1_1Writable.html#a65ddff0c88316f30d86bf90af61d4b6b',1,'Linker::Writable::GetByte()']]], + ['getcurrentaddress_5',['GetCurrentAddress',['../classLinker_1_1LinkerManager.html#a34bb86e85d02e21083be3feac1c87389',1,'Linker::LinkerManager']]], + ['getdefaultextension_6',['GetDefaultExtension',['../classBinary_1_1CommodoreFormat.html#a17b972e5363bc10c9714a0c9ba19a4c8',1,'Binary::CommodoreFormat::GetDefaultExtension()'],['../classBinary_1_1FLEXFormat.html#aca98ef979c96bbabb3e9e27511585065',1,'Binary::FLEXFormat::GetDefaultExtension()'],['../classBinary_1_1UZIFormat.html#a948a433a397691ff40119255747276bb',1,'Binary::UZIFormat::GetDefaultExtension()'],['../classBinary_1_1UZI280Format.html#a3848b5d61148f24f1005cf84f75f8c8f',1,'Binary::UZI280Format::GetDefaultExtension()'],['../classAOut_1_1AOutFormat.html#a996500d4592ef3fa0b7eed7b1ecb4c98',1,'AOut::AOutFormat::GetDefaultExtension(Linker::Module &module, std::string filename) override'],['../classAOut_1_1AOutFormat.html#aa850fe3c8282e4c953596c245bc10e99',1,'AOut::AOutFormat::GetDefaultExtension(Linker::Module &module) override'],['../classBinary_1_1BinaryFormat.html#a56b8efa3e41725456f273b286c45b731',1,'Binary::BinaryFormat::GetDefaultExtension()'],['../classDOS16M_1_1BWFormat.html#a3517416b7a83931af9814b7995ef16ab',1,'DOS16M::BWFormat::GetDefaultExtension()'],['../classCOFF_1_1COFFFormat.html#a10491116bef347e0cdc0bd58678d885b',1,'COFF::COFFFormat::GetDefaultExtension()'],['../classDigitalResearch_1_1CPM68KFormat.html#a242f6577406d004df0c6c52550cc8c18',1,'DigitalResearch::CPM68KFormat::GetDefaultExtension()'],['../classDigitalResearch_1_1CPM86Format.html#a5530bb8b81d7b13704707c2dee84b958',1,'DigitalResearch::CPM86Format::GetDefaultExtension()'],['../classDigitalResearch_1_1CPM8KFormat.html#a6071ffceb09e3641b46ee5553c768610',1,'DigitalResearch::CPM8KFormat::GetDefaultExtension()'],['../classGEOS_1_1GeodeFormat.html#ac2ce05fdb30d86de7b155299c71b2ccb',1,'GEOS::GeodeFormat::GetDefaultExtension()'],['../classX68000_1_1HUFormat.html#ac883d13a2dfeecb980823d21ced0cef5',1,'X68000::HUFormat::GetDefaultExtension()'],['../classAmiga_1_1HunkFormat.html#a22c05d93a314549136035582b74842fe',1,'Amiga::HunkFormat::GetDefaultExtension()'],['../classMicrosoft_1_1LEFormat.html#a365b4c60469beed140bf341f8921b7c8',1,'Microsoft::LEFormat::GetDefaultExtension()'],['../classApple_1_1AppleSingleDouble.html#a62c6cb7d90a8bf0b9f06041ef2435734',1,'Apple::AppleSingleDouble::GetDefaultExtension()'],['../classApple_1_1ResourceFork.html#ac6ba26e7db0bf01fa45754594fce7db2',1,'Apple::ResourceFork::GetDefaultExtension()'],['../classMINIX_1_1MINIXFormat.html#ac669f0002ca757ad94315f7d8c62f298',1,'MINIX::MINIXFormat::GetDefaultExtension()'],['../classMicrosoft_1_1MZFormat.html#a0e666b67caa97043ab81f657c30484bc',1,'Microsoft::MZFormat::GetDefaultExtension()'],['../classMicrosoft_1_1NEFormat.html#a3f28d65c0d61b0d25e07768edf547a81',1,'Microsoft::NEFormat::GetDefaultExtension()'],['../classMicrosoft_1_1PEFormat.html#a8b609d7561d690315c866c196739ed17',1,'Microsoft::PEFormat::GetDefaultExtension()'],['../classPharLap_1_1MPFormat.html#ab713ade15c665377ce3e1e8688a17af6',1,'PharLap::MPFormat::GetDefaultExtension()'],['../classPharLap_1_1P3Format.html#abd7ca40d033d4d2447739fda021625d2',1,'PharLap::P3Format::GetDefaultExtension()'],['../classPMODE_1_1PMW1Format.html#a8248000807259c9a295ed0717eaf20b4',1,'PMODE::PMW1Format::GetDefaultExtension()'],['../classErgo_1_1XPFormat.html#ae166664f87546d62348b1c4198ebdd22',1,'Ergo::XPFormat::GetDefaultExtension()'],['../classLinker_1_1OutputFormat.html#ad3db971f3bccdc2d3b6bb4f0366cd108',1,'Linker::OutputFormat::GetDefaultExtension(Linker::Module &module, std::string filename)'],['../classLinker_1_1OutputFormat.html#a451daf1a2db1498a4bc70ef11b89b16e',1,'Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)'],['../classBinary_1_1UZIFormat.html#a56b8efa3e41725456f273b286c45b731',1,'Binary::UZIFormat::GetDefaultExtension()'],['../classBinary_1_1UZI280Format.html#a56b8efa3e41725456f273b286c45b731',1,'Binary::UZI280Format::GetDefaultExtension()']]], + ['getdefaultmagic_7',['GetDefaultMagic',['../classAOut_1_1AOutFormat.html#ab38bee6d4299b0005cad181172ede2c3',1,'AOut::AOutFormat']]], + ['getendaddress_8',['GetEndAddress',['../classLinker_1_1Segment.html#a28e63b04119f271f20cf6ab37e5b0e26',1,'Linker::Segment']]], + ['getendiantype_9',['GetEndianType',['../classCOFF_1_1COFFFormat.html#adaa0fa725409722202ba7ff237fbe38a',1,'COFF::COFFFormat']]], + ['getexportedbyname_10',['GetExportedByName',['../classLinker_1_1ExportedSymbol.html#a4859410af635e2922cec134a55fdd2be',1,'Linker::ExportedSymbol::GetExportedByName(std::string &result) const'],['../classLinker_1_1ExportedSymbol.html#a460de336af8f86472b34673c32c804f5',1,'Linker::ExportedSymbol::GetExportedByName(std::string &result, uint16_t &hint) const']]], + ['getexportedbyordinal_11',['GetExportedByOrdinal',['../classLinker_1_1ExportedSymbol.html#ac373e5a8ad41f62ccd6dab995d100792',1,'Linker::ExportedSymbol::GetExportedByOrdinal(uint16_t &result) const'],['../classLinker_1_1ExportedSymbol.html#aa653a6ca4598e1d5b8458d9a7df0e75d',1,'Linker::ExportedSymbol::GetExportedByOrdinal(uint16_t &result, std::string &result_name) const']]], + ['getexportedsymbols_12',['GetExportedSymbols',['../classLinker_1_1Module.html#adc56c99c571d11400079fbdaab700cf8',1,'Linker::Module']]], + ['getimportedname_13',['GetImportedName',['../classLinker_1_1SymbolName.html#ae5ec30f1e4a365e1be6536a2c7d885ab',1,'Linker::SymbolName::GetImportedName(std::string &result_library, std::string &result_name) const'],['../classLinker_1_1SymbolName.html#a948752b8118e9be6c4f383244a4fd6f6',1,'Linker::SymbolName::GetImportedName(std::string &result_library, std::string &result_name, uint16_t &result_hint) const']]], + ['getimportedordinal_14',['GetImportedOrdinal',['../classLinker_1_1SymbolName.html#a08e3e260a9eaa29833cd1c9989a5617d',1,'Linker::SymbolName']]], + ['getimportedsymbols_15',['GetImportedSymbols',['../classLinker_1_1Module.html#a0d4a9688ee77875de9961e868590e321',1,'Linker::Module']]], + ['getlocalname_16',['GetLocalName',['../classLinker_1_1SymbolName.html#a5748b0fed36447c9c139f0c384acc3fa',1,'Linker::SymbolName']]], + ['getposition_17',['GetPosition',['../classLinker_1_1Location.html#a9758ca1f765ad78c05272d801c7af2af',1,'Linker::Location']]], + ['getscript_18',['GetScript',['../classLinker_1_1LinkerManager.html#aba6595fd0528b2f46aac4d364ac60466',1,'Linker::LinkerManager']]], + ['getsegment_19',['GetSegment',['../classCOFF_1_1COFFFormat.html#a63ed7fc7fcb78d04be806a3d184df3d5',1,'COFF::COFFFormat::GetSegment()'],['../classLinker_1_1Target.html#a53e62c6b146716463d8ca912aef35093',1,'Linker::Target::GetSegment()']]], + ['getsegmentoffset_20',['GetSegmentOffset',['../classLinker_1_1Position.html#a56171007637a4a5c1b05e6addaef839f',1,'Linker::Position']]], + ['getsize_21',['GetSize',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a7a2d1c115033e43f657e67d834804cbd',1,'DOS16M::BWFormat::AbstractSegment::GetSize()'],['../classDOS16M_1_1BWFormat_1_1Segment.html#a20943ba6504963ce4fa54b6ca1601a2e',1,'DOS16M::BWFormat::Segment::GetSize()'],['../classDOS16M_1_1BWFormat_1_1DummySegment.html#a4425e472432ac35be7312b45b47e017b',1,'DOS16M::BWFormat::DummySegment::GetSize()'],['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html#a74795a54507bb439224391a26eff963b',1,'DOS16M::BWFormat::RelocationSegment::GetSize()'],['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html#a6c982db9de1f52cc87c2b0a1f51dc894',1,'COFF::COFFFormat::OptionalHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html#a4546ecab891b8d99ea33d2cc7e844ac3',1,'COFF::COFFFormat::UnknownOptionalHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#a8df0e070d04fcbe3f18282e24ac2b9e3',1,'COFF::COFFFormat::AOutHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#a4cd88c18fa8c0d2c82a7e8012888cb8c',1,'COFF::COFFFormat::FlexOSAOutHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html#ae370975d784e4a4a0110583bb4d76572',1,'COFF::COFFFormat::GNUAOutHeader::GetSize()']]], + ['getsizeparas_22',['GetSizeParas',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#aac8e78d8db3ab63e82cf4f28554ab9d6',1,'DigitalResearch::CPM86Format::Descriptor::GetSizeParas()'],['../classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html#a3904a4cd39972c6576d06630851c5667',1,'DigitalResearch::CPM86Format::LibraryDescriptor::GetSizeParas()'],['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html#a5d2daaf7bd73b9ab6d2a4a77b7281b67',1,'DigitalResearch::CPM86Format::FastLoadDescriptor::GetSizeParas()']]], + ['getstartaddress_23',['GetStartAddress',['../classLinker_1_1Segment.html#aeb9e255e8bf3eeddb6e041cabca2540f',1,'Linker::Segment']]], + ['gettotalsize_24',['GetTotalSize',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a64f74ccf5f36149e6bdbabcd9c52aed1',1,'DOS16M::BWFormat::AbstractSegment']]], + ['gnuaoutheader_25',['GNUAOutHeader',['../classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html',1,'COFF::COFFFormat']]], + ['group_26',['group',['../structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html#abd9cd218ea7f2991098b1931ee7d9794',1,'DigitalResearch::CPM86Format::FastLoadDescriptor::ldt_descriptor']]], + ['group_5ftype_27',['group_type',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bc',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['gsosomfreader_28',['GSOSOMFReader',['../classdump_1_1GSOSOMFReader.html',1,'dump']]] +]; diff --git a/html/search/all_a.js b/html/search/all_a.js new file mode 100644 index 00000000..ea69b066 --- /dev/null +++ b/html/search/all_a.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['header_5fsize_5fparas_0',['header_size_paras',['../classMicrosoft_1_1MZFormat.html#a7b7d6c40c96e777908b6a0538ab8680d',1,'Microsoft::MZFormat']]], + ['heap_1',['Heap',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa76011044e12099fa5bd23737d781c15c',1,'Linker::Section']]], + ['hexdisplay_2',['HexDisplay',['../classDumper_1_1HexDisplay.html',1,'Dumper']]], + ['huformat_3',['HUFormat',['../classX68000_1_1HUFormat.html',1,'X68000']]], + ['hunk_4',['Hunk',['../classAmiga_1_1HunkFormat_1_1Hunk.html',1,'Amiga::HunkFormat']]], + ['hunkformat_5',['HunkFormat',['../classAmiga_1_1HunkFormat.html',1,'Amiga']]], + ['hunkreader_6',['HunkReader',['../classdump_1_1HunkReader.html',1,'dump']]], + ['hureader_7',['HUReader',['../classdump_1_1HUReader.html',1,'dump']]] +]; diff --git a/html/search/all_b.js b/html/search/all_b.js new file mode 100644 index 00000000..09d5fbec --- /dev/null +++ b/html/search/all_b.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['iconbw_0',['IconBW',['../classApple_1_1IconBW.html',1,'Apple']]], + ['iconcolor_1',['IconColor',['../classApple_1_1IconColor.html',1,'Apple']]], + ['image_2',['image',['../classBinary_1_1BinaryFormat.html#a5de12785c4f991c39102eb339b502565',1,'Binary::BinaryFormat::image'],['../classCOFF_1_1COFFFormat_1_1Section.html#a0f99c5622ca9cd29eeb8f5877f3e7712',1,'COFF::COFFFormat::Section::image'],['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#afd5f601afdb205fdcd9901fabae18f67',1,'DigitalResearch::CPM86Format::Descriptor::image'],['../classDigitalResearch_1_1CPM8KFormat_1_1Segment.html#aa88c704076bc372882968b46530b8177',1,'DigitalResearch::CPM8KFormat::Segment::image'],['../classMicrosoft_1_1MZFormat.html#a9d9d7a667fcddd2c54486c4affb8f7b9',1,'Microsoft::MZFormat::image']]], + ['in_3',['in',['../classLinker_1_1Reader.html#aa4c1fc496c1388c0cf88eef5eed692a3',1,'Linker::Reader']]], + ['index_5fbase_4',['index_base',['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html#a82e27b2e1a505e341eeb4bca16ca8f3d',1,'DigitalResearch::CPM86Format::FastLoadDescriptor']]], + ['initialize_5',['Initialize',['../classBinary_1_1CPM3Format.html#a5bf833db3745afb98f3bec696a66d5a3',1,'Binary::CPM3Format::Initialize()'],['../classBinary_1_1BinaryFormat.html#aa78f5b256332d8b6dfba37c58d2d9ccf',1,'Binary::BinaryFormat::Initialize()'],['../classCOFF_1_1COFFFormat.html#a05766481f97f8652e088ff869717f01e',1,'COFF::COFFFormat::Initialize()'],['../classDigitalResearch_1_1CPM68KFormat.html#a1573cb866e0ce426d31cebf7059088b3',1,'DigitalResearch::CPM68KFormat::Initialize()'],['../classDigitalResearch_1_1CPM86Format.html#a295f84f398b6d8bd0fa18a7b5a90e44e',1,'DigitalResearch::CPM86Format::Initialize()'],['../classDigitalResearch_1_1CPM8KFormat.html#a211a162c9c14a034c3315f8d51fc6d75',1,'DigitalResearch::CPM8KFormat::Initialize()'],['../classMicrosoft_1_1MZFormat.html#a0df0e6c07173252c18a019f37ae1a38d',1,'Microsoft::MZFormat::Initialize()'],['../classLinker_1_1Format.html#a6c58e46519edff50e69764eed29f644d',1,'Linker::Format::Initialize()']]], + ['input_20formats_6',['Supported input formats',['../index.html#x_input_formats',1,'']]], + ['inputformat_7',['InputFormat',['../classLinker_1_1InputFormat.html',1,'Linker']]], + ['internal_8',['internal',['../classDumper_1_1Field.html#ae646e571d652615bd52b7d661173d349',1,'Dumper::Field']]], + ['ip_9',['ip',['../classMicrosoft_1_1MZFormat.html#ab0a4024c4273a2196086ac0ef4ca5022',1,'Microsoft::MZFormat']]], + ['isfastloadformat_10',['IsFastLoadFormat',['../classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html#a6a1e6915c06a74f5b0a41227bd4c15b9',1,'DigitalResearch::CPM86Format::LibraryDescriptor']]], + ['ismissing_11',['IsMissing',['../classDumper_1_1Display.html#a86e7fa92f5200f65d9c56ff579ea9594',1,'Dumper::Display::IsMissing()'],['../classLinker_1_1Segment.html#ac6a54fa3ebb99e2d982270cb67b3f274',1,'Linker::Segment::IsMissing()']]], + ['isrelative_12',['IsRelative',['../classLinker_1_1Relocation.html#ad31cfab7377ed147069785e88b2c96aa',1,'Linker::Relocation']]] +]; diff --git a/html/search/all_c.js b/html/search/all_c.js new file mode 100644 index 00000000..c5d42432 --- /dev/null +++ b/html/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jumptablecoderesource_0',['JumpTableCodeResource',['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html',1,'Apple::ResourceFork']]] +]; diff --git a/html/search/all_d.js b/html/search/all_d.js new file mode 100644 index 00000000..0a6d3d9f --- /dev/null +++ b/html/search/all_d.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['label_0',['label',['../classDumper_1_1Field.html#a4f05b279bfdd3d63695bf214963f2d9c',1,'Dumper::Field']]], + ['last_5fblock_5fsize_1',['last_block_size',['../classMicrosoft_1_1MZFormat.html#a59c890aebaf1849b2e7f59268279f653',1,'Microsoft::MZFormat']]], + ['ldt_5fdescriptor_2',['ldt_descriptor',['../structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html',1,'DigitalResearch::CPM86Format::FastLoadDescriptor']]], + ['leformat_3',['LEFormat',['../classMicrosoft_1_1LEFormat.html',1,'Microsoft']]], + ['length_4',['length',['../classDigitalResearch_1_1CPM8KFormat_1_1Segment.html#afdcc145959d36ab0c7b770e741ab446b',1,'DigitalResearch::CPM8KFormat::Segment']]], + ['lereader_5',['LEReader',['../classdump_1_1LEReader.html',1,'dump']]], + ['lib_5fid_6',['lib_id',['../classDigitalResearch_1_1CPM86Format.html#a8fb8dd133fb30ecf60aca575d0c45104',1,'DigitalResearch::CPM86Format']]], + ['libraries_7',['Libraries',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca387622eb0fc198d03caa95789e1644cb',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['libraries_8',['libraries',['../classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html#abf33ad6814f77461ed94fbc94109d2cd',1,'DigitalResearch::CPM86Format::LibraryDescriptor']]], + ['library_9',['library',['../structDigitalResearch_1_1CPM86Format_1_1library.html',1,'DigitalResearch::CPM86Format']]], + ['library_5fdescriptor_10',['library_descriptor',['../classDigitalResearch_1_1CPM86Format.html#ac94f803240ab3a9525b91a0f84518159',1,'DigitalResearch::CPM86Format']]], + ['library_5fid_11',['library_id',['../structDigitalResearch_1_1CPM86Format_1_1library__id.html',1,'DigitalResearch::CPM86Format']]], + ['librarydescriptor_12',['LibraryDescriptor',['../classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html',1,'DigitalResearch::CPM86Format']]], + ['limit_13',['limit',['../structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html#aee3c775dcb26e6c0b87a692b8cffd0d5',1,'DigitalResearch::CPM86Format::FastLoadDescriptor::ldt_descriptor']]], + ['line_5fnumber_5fcount_14',['line_number_count',['../classCOFF_1_1COFFFormat_1_1Section.html#a8a7f80d8a158840fe090298f461a6608',1,'COFF::COFFFormat::Section']]], + ['line_5fnumber_5fpointer_15',['line_number_pointer',['../classCOFF_1_1COFFFormat_1_1Section.html#af299e2743064c9654eceb12823314e70',1,'COFF::COFFFormat::Section']]], + ['link_16',['Link',['../classMicrosoft_1_1MZFormat.html#a510b6d6309a9f14261ebb73a1c9d2512',1,'Microsoft::MZFormat']]], + ['linker_20for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_17',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['linker_5fparameters_18',['linker_parameters',['../classLinker_1_1LinkerManager.html#a7218e188ee0cfaa6ae1ad6dcb8e0d23a',1,'Linker::LinkerManager']]], + ['linker_5fscript_19',['linker_script',['../classLinker_1_1LinkerManager.html#ae049dffc0706eb94f0215101b15ecfdc',1,'Linker::LinkerManager']]], + ['linkermanager_20',['LinkerManager',['../classLinker_1_1LinkerManager.html',1,'Linker']]], + ['list_21',['List',['../classScript_1_1List.html',1,'Script']]], + ['load_5fsegment_22',['load_segment',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#a1c3d6491688d8c197d5343798585343f',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['loadlibraryname_23',['LoadLibraryName',['../classLinker_1_1SymbolName.html#adfcb41f833acfa11cfec3d752c6713cd',1,'Linker::SymbolName']]], + ['loadname_24',['LoadName',['../classLinker_1_1SymbolName.html#a5d843b215931ce91d0b058407cd829ae',1,'Linker::SymbolName::LoadName()'],['../classLinker_1_1ExportedSymbol.html#a99c9f8f7bcc446521bbf43fcf96d4b0f',1,'Linker::ExportedSymbol::LoadName()']]], + ['loadordinalorhint_25',['LoadOrdinalOrHint',['../classLinker_1_1SymbolName.html#aba884bef7536a6c1a359d7c797155342',1,'Linker::SymbolName::LoadOrdinalOrHint()'],['../classLinker_1_1ExportedSymbol.html#a9d9d717e43fe2020dacca712141cabc1',1,'Linker::ExportedSymbol::LoadOrdinalOrHint()']]], + ['location_26',['Location',['../classLinker_1_1Location.html',1,'Linker::Location'],['../classLinker_1_1Location.html#a1a7380b1e3dfa72d673eb3918c3f30b7',1,'Linker::Location::Location(Section *section, offset_t offset=0)'],['../classLinker_1_1Location.html#a82950ae093d0c4b056c165a85cb44e3f',1,'Linker::Location::Location(offset_t offset=0)']]], + ['lookup_27',['Lookup',['../classLinker_1_1Target.html#af430c6f4ac6d6dea47338dac7011e7cc',1,'Linker::Target']]], + ['lvformat_28',['LVFormat',['../classDX64_1_1LVFormat.html',1,'DX64']]] +]; diff --git a/html/search/all_e.js b/html/search/all_e.js new file mode 100644 index 00000000..e14efc51 --- /dev/null +++ b/html/search/all_e.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['macbinary_0',['MacBinary',['../classApple_1_1MacBinary.html',1,'Apple']]], + ['macdriver_1',['MacDriver',['../classApple_1_1MacDriver.html',1,'Apple']]], + ['machinetype_2',['MachineType',['../structCOFF_1_1COFFFormat_1_1MachineType.html',1,'COFF::COFFFormat']]], + ['machoformat_3',['MachOFormat',['../classMachO_1_1MachOFormat.html',1,'MachO']]], + ['machoreader_4',['MachOReader',['../classdump_1_1MachOReader.html',1,'dump']]], + ['macintosh_5',['Macintosh',['../classApple_1_1FileInfo_1_1Macintosh.html',1,'Apple::FileInfo']]], + ['macintoshfileinfo_6',['MacintoshFileInfo',['../classApple_1_1MacintoshFileInfo.html',1,'Apple']]], + ['macintoshresourcereader_7',['MacintoshResourceReader',['../classdump_1_1MacintoshResourceReader.html',1,'dump']]], + ['magic_8',['magic',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#a7b98197c30ecc0e3b76bc9df353e9c2d',1,'COFF::COFFFormat::AOutHeader']]], + ['magic_5fcontiguous_9',['MAGIC_CONTIGUOUS',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088a683785bc4a92b8c9927930c603374ba0',1,'DigitalResearch::CPM68KFormat']]], + ['magic_5fcrunched_10',['MAGIC_CRUNCHED',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088a8f427e52e440accb17003b50ac409eb2',1,'DigitalResearch::CPM68KFormat']]], + ['magic_5fdl_11',['MAGIC_DL',['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111ea51cb3fd729fcbcd8227374b0a84380d6',1,'Microsoft::MZFormat']]], + ['magic_5fmz_12',['MAGIC_MZ',['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111eac07251a926d754bffb47e6c6c45928aa',1,'Microsoft::MZFormat']]], + ['magic_5fnoncontiguous_13',['MAGIC_NONCONTIGUOUS',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088afb381ef2392fe8d21878e3c0e9f99903',1,'DigitalResearch::CPM68KFormat']]], + ['magic_5ftype_14',['magic_type',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088',1,'DigitalResearch::CPM68KFormat::magic_type'],['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111e',1,'Microsoft::MZFormat::magic_type']]], + ['magic_5fzm_15',['MAGIC_ZM',['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111eabe83036ddf8e49e5c0016785d1f47041',1,'Microsoft::MZFormat']]], + ['major_5fversion_16',['major_version',['../structDigitalResearch_1_1CPM86Format_1_1library__id.html#a23c6631fe39693d5e55ebef135e4f646',1,'DigitalResearch::CPM86Format::library_id']]], + ['mask_17',['mask',['../classLinker_1_1Relocation.html#a76181e4a494e21fd18a226a6f4f89838',1,'Linker::Relocation']]], + ['max_5fextra_5fparas_18',['max_extra_paras',['../classMicrosoft_1_1MZFormat.html#ae05b5020c64e5f7879134c60ebd8b6f8',1,'Microsoft::MZFormat']]], + ['max_5fsize_5fparas_19',['max_size_paras',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#a931f78fc3688876cc312da02b4e15f6d',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['maximum_5fentries_20',['maximum_entries',['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html#afc9d6f6c6482950ca266e6c94395863f',1,'DigitalResearch::CPM86Format::FastLoadDescriptor']]], + ['memory_5fmodel_21',['memory_model',['../classBinary_1_1BinaryFormat.html#a23cdbe4be80fa2b76952ab511f9f2788',1,'Binary::BinaryFormat::memory_model'],['../classDigitalResearch_1_1CPM86Format.html#a94ceae9e189f034214136f81378f28d4',1,'DigitalResearch::CPM86Format::memory_model'],['../classMicrosoft_1_1MZFormat.html#ab7b557d31473793e414f69f2f6fd8ef5',1,'Microsoft::MZFormat::memory_model']]], + ['memory_5fmodel_5ft_22',['memory_model_t',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515',1,'Binary::BinaryFormat::memory_model_t'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05f',1,'DigitalResearch::CPM86Format::memory_model_t'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7f',1,'Microsoft::MZFormat::memory_model_t']]], + ['mergeable_23',['Mergeable',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa3fb353ffb6ae08b085ad022b73fa7497',1,'Linker::Section']]], + ['min_5fextra_5fparas_24',['min_extra_paras',['../classMicrosoft_1_1MZFormat.html#a3f13f1a439ed235f3cf2b102eaa7b803',1,'Microsoft::MZFormat']]], + ['min_5fsize_5fparas_25',['min_size_paras',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#ac8aee59bc5e777e01491225cabf2aa2b',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['minixaoutreader_26',['MINIXAOutReader',['../classdump_1_1MINIXAOutReader.html',1,'dump']]], + ['minixformat_27',['MINIXFormat',['../classMINIX_1_1MINIXFormat.html',1,'MINIX']]], + ['minor_5fversion_28',['minor_version',['../structDigitalResearch_1_1CPM86Format_1_1library__id.html#a5b5dd94b564afa38198164b71a207c05',1,'DigitalResearch::CPM86Format::library_id']]], + ['mipsaoutheader_29',['MIPSAOutHeader',['../classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.html',1,'COFF::COFFFormat']]], + ['missing_5fon_5fvalue_30',['missing_on_value',['../classDumper_1_1ChoiceDisplay.html#a58fd1507f8e3b9dbbddd4e1866126490',1,'Dumper::ChoiceDisplay']]], + ['missing_5fvalue_31',['missing_value',['../classDumper_1_1ChoiceDisplay.html#aba15d500810d4601e65f82a297ef3676',1,'Dumper::ChoiceDisplay']]], + ['model_5fcompact_32',['MODEL_COMPACT',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a219d8ed787548a6cfa4254544b01ba96',1,'Binary::BinaryFormat::MODEL_COMPACT'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05fa07547fe70a01d61c80954743af926730',1,'DigitalResearch::CPM86Format::MODEL_COMPACT'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa9b4e6d2931b8b06e36e10efc051c74b0',1,'Microsoft::MZFormat::MODEL_COMPACT']]], + ['model_5fdefault_33',['MODEL_DEFAULT',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a9731d98fe73b1b6d684363f6a43f232a',1,'Binary::BinaryFormat::MODEL_DEFAULT'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa8c6eb30b9cb05c421cb0bf368e5e4b83',1,'Microsoft::MZFormat::MODEL_DEFAULT']]], + ['model_5flarge_34',['MODEL_LARGE',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a4cd2502dd60d1aeb5625f0d5c14cd674',1,'Binary::BinaryFormat::MODEL_LARGE'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa0d8e1565af651108c3e0b84c622c7c6b',1,'Microsoft::MZFormat::MODEL_LARGE']]], + ['model_5fsmall_35',['MODEL_SMALL',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a64dad9915d09e4e7b608bc804928ad3d',1,'Binary::BinaryFormat::MODEL_SMALL'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05fa6b5aba4c3ceb556d8b9b0775cc81a45a',1,'DigitalResearch::CPM86Format::MODEL_SMALL'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa3145bf8d231e8711df1664c163599525',1,'Microsoft::MZFormat::MODEL_SMALL']]], + ['model_5ftiny_36',['MODEL_TINY',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515aad5371112d94eb2b20550e72f1ba650b',1,'Binary::BinaryFormat::MODEL_TINY'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05fa466c6cec694d20390c38c9b2e3965c9d',1,'DigitalResearch::CPM86Format::MODEL_TINY'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa93baf16a07e3bb9130d73238637f6c6d',1,'Microsoft::MZFormat::MODEL_TINY']]], + ['module_37',['Module',['../classLinker_1_1Module.html',1,'Linker']]], + ['mpformat_38',['MPFormat',['../classPharLap_1_1MPFormat.html',1,'PharLap']]], + ['msdos_39',['MSDOS',['../classApple_1_1FileInfo_1_1MSDOS.html',1,'Apple::FileInfo']]], + ['msdosfileinfo_40',['MSDOSFileInfo',['../classApple_1_1MSDOSFileInfo.html',1,'Apple']]], + ['multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_41',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['multisegmented_42',['MultiSegmented',['../classPharLap_1_1P3Format_1_1MultiSegmented.html',1,'PharLap::P3Format']]], + ['mzformat_43',['MZFormat',['../classMicrosoft_1_1MZFormat.html',1,'Microsoft']]], + ['mzreader_44',['MZReader',['../classdump_1_1MZReader.html',1,'dump']]], + ['mzsimplestubwriter_45',['MZSimpleStubWriter',['../classMicrosoft_1_1MZSimpleStubWriter.html',1,'Microsoft']]], + ['mzstubwriter_46',['MZStubWriter',['../classMicrosoft_1_1MZStubWriter.html',1,'Microsoft']]] +]; diff --git a/html/search/all_f.js b/html/search/all_f.js new file mode 100644 index 00000000..1e96630f --- /dev/null +++ b/html/search/all_f.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['name_0',['Name',['../structMicrosoft_1_1LEFormat_1_1Name.html',1,'Microsoft::LEFormat::Name'],['../structMicrosoft_1_1NEFormat_1_1Name.html',1,'Microsoft::NEFormat::Name']]], + ['name_1',['name',['../classCOFF_1_1COFFFormat_1_1Symbol.html#a298d3f271171b55e1518183345ac0abb',1,'COFF::COFFFormat::Symbol::name'],['../classCOFF_1_1COFFFormat_1_1Section.html#a06a3c285396a940b73cce71323ae8072',1,'COFF::COFFFormat::Section::name'],['../structDigitalResearch_1_1CPM86Format_1_1rsx__record.html#ac313f7d69d9019e9bbfaa99d323d32f5',1,'DigitalResearch::CPM86Format::rsx_record::name'],['../structDigitalResearch_1_1CPM86Format_1_1library__id.html#a27d1b19c153971093f84bf2c20f64cfd',1,'DigitalResearch::CPM86Format::library_id::name'],['../classLinker_1_1Section.html#a4794feadb079cd87ee55ce7620f529c8',1,'Linker::Section::name'],['../classLinker_1_1Segment.html#a13dcf42dec1b18aefdb7d62474e7ff4c',1,'Linker::Segment::name']]], + ['name_5findex_2',['name_index',['../classCOFF_1_1COFFFormat_1_1Symbol.html#a9d904c15ba940516a9fab95693d51a85',1,'COFF::COFFFormat::Symbol']]], + ['names_3',['names',['../classDumper_1_1ChoiceDisplay.html#a0fee6d1c4fe6e91bb0ff7cc9b55742a9',1,'Dumper::ChoiceDisplay']]], + ['neformat_4',['NEFormat',['../classMicrosoft_1_1NEFormat.html',1,'Microsoft']]], + ['nereader_5',['NEReader',['../classdump_1_1NEReader.html',1,'dump']]], + ['node_6',['Node',['../classScript_1_1Node.html',1,'Script']]], + ['number_7',['number',['../classDigitalResearch_1_1CPM8KFormat_1_1Segment.html#aeea5863618ce8e18802109325a68a7c5',1,'DigitalResearch::CPM8KFormat::Segment']]] +]; diff --git a/html/search/classes_0.js b/html/search/classes_0.js new file mode 100644 index 00000000..c1051cca --- /dev/null +++ b/html/search/classes_0.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['abstractsegment_0',['AbstractSegment',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html',1,'DOS16M::BWFormat::AbstractSegment'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1AbstractSegment.html',1,'PharLap::P3Format::MultiSegmented::AbstractSegment']]], + ['adamformat_1',['AdamFormat',['../classSeychellDOS32_1_1AdamFormat.html',1,'SeychellDOS32']]], + ['afpdirectoryid_2',['AFPDirectoryID',['../classApple_1_1AFPDirectoryID.html',1,'Apple']]], + ['afpfileinfo_3',['AFPFileInfo',['../classApple_1_1AFPFileInfo.html',1,'Apple']]], + ['afpshortname_4',['AFPShortName',['../classApple_1_1AFPShortName.html',1,'Apple']]], + ['aoutformat_5',['AOutFormat',['../classAOut_1_1AOutFormat.html',1,'AOut']]], + ['aoutheader_6',['AOutHeader',['../classCOFF_1_1COFFFormat_1_1AOutHeader.html',1,'COFF::COFFFormat']]], + ['aoutreader_7',['AOutReader',['../classdump_1_1AOutReader.html',1,'dump']]], + ['appleformat_8',['AppleFormat',['../classBinary_1_1AppleFormat.html',1,'Binary']]], + ['applereader_9',['AppleReader',['../classdump_1_1AppleReader.html',1,'dump']]], + ['applesingledouble_10',['AppleSingleDouble',['../classApple_1_1AppleSingleDouble.html',1,'Apple']]], + ['as86objformat_11',['AS86ObjFormat',['../classAS86Obj_1_1AS86ObjFormat.html',1,'AS86Obj']]], + ['atariformat_12',['AtariFormat',['../classBinary_1_1AtariFormat.html',1,'Binary']]], + ['aux_13',['AUX',['../classApple_1_1FileInfo_1_1AUX.html',1,'Apple::FileInfo']]] +]; diff --git a/html/search/classes_1.js b/html/search/classes_1.js new file mode 100644 index 00000000..fa02bd1a --- /dev/null +++ b/html/search/classes_1.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['binaryformat_0',['BinaryFormat',['../classBinary_1_1BinaryFormat.html',1,'Binary']]], + ['bitfield_1',['BitField',['../classDumper_1_1BitFieldDisplay_1_1BitField.html',1,'Dumper::BitFieldDisplay']]], + ['bitfielddisplay_2',['BitFieldDisplay',['../classDumper_1_1BitFieldDisplay.html',1,'Dumper']]], + ['block_3',['Block',['../classDumper_1_1Block.html',1,'Dumper']]], + ['boutformat_4',['BOutFormat',['../classXenix_1_1BOutFormat.html',1,'Xenix']]], + ['buffer_5',['Buffer',['../classLinker_1_1Buffer.html',1,'Linker']]], + ['bwformat_6',['BWFormat',['../classDOS16M_1_1BWFormat.html',1,'DOS16M']]] +]; diff --git a/html/search/classes_10.js b/html/search/classes_10.js new file mode 100644 index 00000000..3faa4fe1 --- /dev/null +++ b/html/search/classes_10.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['section_0',['Section',['../classCOFF_1_1COFFFormat_1_1Section.html',1,'COFF::COFFFormat::Section'],['../classELF_1_1ELFFormat_1_1Section.html',1,'ELF::ELFFormat::Section'],['../classLinker_1_1Section.html',1,'Linker::Section']]], + ['sectioneddisplay_1',['SectionedDisplay',['../classDumper_1_1SectionedDisplay.html',1,'Dumper']]], + ['segment_2',['Segment',['../structBinary_1_1AtariFormat_1_1Segment.html',1,'Binary::AtariFormat::Segment'],['../structBinary_1_1FLEXFormat_1_1Segment.html',1,'Binary::FLEXFormat::Segment'],['../classDigitalResearch_1_1CPM8KFormat_1_1Segment.html',1,'DigitalResearch::CPM8KFormat::Segment'],['../classDOS16M_1_1BWFormat_1_1Segment.html',1,'DOS16M::BWFormat::Segment'],['../classLinker_1_1Segment.html',1,'Linker::Segment'],['../classMicrosoft_1_1NEFormat_1_1Segment.html',1,'Microsoft::NEFormat::Segment'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1Segment.html',1,'PharLap::P3Format::MultiSegmented::Segment']]], + ['segmenteddisplay_3',['SegmentedDisplay',['../classDumper_1_1SegmentedDisplay.html',1,'Dumper']]], + ['stringdisplay_4',['StringDisplay',['../classDumper_1_1StringDisplay.html',1,'Dumper']]], + ['symbol_5',['Symbol',['../classAOut_1_1AOutFormat_1_1Symbol.html',1,'AOut::AOutFormat::Symbol'],['../classCOFF_1_1COFFFormat_1_1Symbol.html',1,'COFF::COFFFormat::Symbol'],['../structDigitalResearch_1_1CPM8KFormat_1_1Symbol.html',1,'DigitalResearch::CPM8KFormat::Symbol'],['../classELF_1_1ELFFormat_1_1Symbol.html',1,'ELF::ELFFormat::Symbol']]], + ['symbolname_6',['SymbolName',['../classLinker_1_1SymbolName.html',1,'Linker']]] +]; diff --git a/html/search/classes_11.js b/html/search/classes_11.js new file mode 100644 index 00000000..6e68db83 --- /dev/null +++ b/html/search/classes_11.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['target_0',['Target',['../classLinker_1_1Target.html',1,'Linker']]], + ['taskstatesegment_1',['TaskStateSegment',['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1TaskStateSegment.html',1,'PharLap::P3Format::MultiSegmented']]], + ['testexportedsymbol_2',['TestExportedSymbol',['../classUnitTests_1_1TestExportedSymbol.html',1,'UnitTests']]], + ['testlocation_3',['TestLocation',['../classUnitTests_1_1TestLocation.html',1,'UnitTests']]], + ['testmzformat_4',['TestMZFormat',['../classUnitTests_1_1TestMZFormat.html',1,'UnitTests']]], + ['testreader_5',['TestReader',['../classUnitTests_1_1TestReader.html',1,'UnitTests']]], + ['testsection_6',['TestSection',['../classUnitTests_1_1TestSection.html',1,'UnitTests']]], + ['testsymbolname_7',['TestSymbolName',['../classUnitTests_1_1TestSymbolName.html',1,'UnitTests']]] +]; diff --git a/html/search/classes_12.js b/html/search/classes_12.js new file mode 100644 index 00000000..305a6e54 --- /dev/null +++ b/html/search/classes_12.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['unknownoptionalheader_0',['UnknownOptionalHeader',['../classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html',1,'COFF::COFFFormat']]], + ['uzi280format_1',['UZI280Format',['../classBinary_1_1UZI280Format.html',1,'Binary']]], + ['uziformat_2',['UZIFormat',['../classBinary_1_1UZIFormat.html',1,'Binary']]] +]; diff --git a/html/search/classes_13.js b/html/search/classes_13.js new file mode 100644 index 00000000..c2933946 --- /dev/null +++ b/html/search/classes_13.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['value_0',['Value',['../classScript_1_1Value.html',1,'Script']]], + ['value_3c_20void_20_3e_1',['Value< void >',['../classScript_1_1Value_3_01void_01_4.html',1,'Script']]], + ['version_2',['version',['../structMicrosoft_1_1NEFormat_1_1version.html',1,'Microsoft::NEFormat']]], + ['versiondisplay_3',['VersionDisplay',['../classDumper_1_1VersionDisplay.html',1,'Dumper']]] +]; diff --git a/html/search/classes_14.js b/html/search/classes_14.js new file mode 100644 index 00000000..01c6f982 --- /dev/null +++ b/html/search/classes_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['writable_0',['Writable',['../classLinker_1_1Writable.html',1,'Linker']]], + ['writer_1',['Writer',['../classLinker_1_1Writer.html',1,'Linker']]] +]; diff --git a/html/search/classes_15.js b/html/search/classes_15.js new file mode 100644 index 00000000..50d6adf0 --- /dev/null +++ b/html/search/classes_15.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['xoutformat_0',['XOutFormat',['../classXenix_1_1XOutFormat.html',1,'Xenix']]], + ['xpformat_1',['XPFormat',['../classErgo_1_1XPFormat.html',1,'Ergo']]] +]; diff --git a/html/search/classes_16.js b/html/search/classes_16.js new file mode 100644 index 00000000..042e7eeb --- /dev/null +++ b/html/search/classes_16.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['yy_5fbuffer_5fstate_0',['yy_buffer_state',['../structyy__buffer__state.html',1,'']]], + ['yy_5ftrans_5finfo_1',['yy_trans_info',['../structyy__trans__info.html',1,'']]], + ['yyalloc_2',['yyalloc',['../unionyyalloc.html',1,'']]], + ['yystype_3',['YYSTYPE',['../unionYYSTYPE.html',1,'']]] +]; diff --git a/html/search/classes_17.js b/html/search/classes_17.js new file mode 100644 index 00000000..b83bd2b8 --- /dev/null +++ b/html/search/classes_17.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['zilogrelocation_0',['ZilogRelocation',['../classCOFF_1_1COFFFormat_1_1ZilogRelocation.html',1,'COFF::COFFFormat']]] +]; diff --git a/html/search/classes_2.js b/html/search/classes_2.js new file mode 100644 index 00000000..fe9c2eea --- /dev/null +++ b/html/search/classes_2.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['choicedisplay_0',['ChoiceDisplay',['../classDumper_1_1ChoiceDisplay.html',1,'Dumper']]], + ['coderesource_1',['CodeResource',['../classApple_1_1ResourceFork_1_1CodeResource.html',1,'Apple::ResourceFork']]], + ['coffformat_2',['COFFFormat',['../classCOFF_1_1COFFFormat.html',1,'COFF']]], + ['coffreader_3',['COFFReader',['../classdump_1_1COFFReader.html',1,'dump']]], + ['comment_4',['Comment',['../classApple_1_1Comment.html',1,'Apple']]], + ['commodoreformat_5',['CommodoreFormat',['../classBinary_1_1CommodoreFormat.html',1,'Binary']]], + ['commonsymbol_6',['CommonSymbol',['../classLinker_1_1CommonSymbol.html',1,'Linker']]], + ['container_7',['Container',['../classDumper_1_1Container.html',1,'Dumper']]], + ['cpm3format_8',['CPM3Format',['../classBinary_1_1CPM3Format.html',1,'Binary']]], + ['cpm68kformat_9',['CPM68KFormat',['../classDigitalResearch_1_1CPM68KFormat.html',1,'DigitalResearch']]], + ['cpm68kreader_10',['CPM68KReader',['../classdump_1_1CPM68KReader.html',1,'dump']]], + ['cpm8000reader_11',['CPM8000Reader',['../classdump_1_1CPM8000Reader.html',1,'dump']]], + ['cpm86format_12',['CPM86Format',['../classDigitalResearch_1_1CPM86Format.html',1,'DigitalResearch']]], + ['cpm86reader_13',['CPM86Reader',['../classdump_1_1CPM86Reader.html',1,'dump']]], + ['cpm8kformat_14',['CPM8KFormat',['../classDigitalResearch_1_1CPM8KFormat.html',1,'DigitalResearch']]] +]; diff --git a/html/search/classes_3.js b/html/search/classes_3.js new file mode 100644 index 00000000..6b247f01 --- /dev/null +++ b/html/search/classes_3.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['d3x1format_0',['D3X1Format',['../classBrocaD3X_1_1D3X1Format.html',1,'BrocaD3X']]], + ['datafork_1',['DataFork',['../classApple_1_1DataFork.html',1,'Apple']]], + ['decdisplay_2',['DecDisplay',['../classDumper_1_1DecDisplay.html',1,'Dumper']]], + ['descriptor_3',['Descriptor',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html',1,'DigitalResearch::CPM86Format::Descriptor'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1Descriptor.html',1,'PharLap::P3Format::MultiSegmented::Descriptor']]], + ['descriptortable_4',['DescriptorTable',['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1DescriptorTable.html',1,'PharLap::P3Format::MultiSegmented']]], + ['determiner_5',['Determiner',['../classdump_1_1Determiner.html',1,'dump']]], + ['display_6',['Display',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20offset_5ft_20_3e_7',['Display< offset_t >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20offset_5ft_2c_20offset_5ft_20_3e_8',['Display< offset_t, offset_t >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20offset_5ft_2c_20ts_2e_2e_2e_20_3e_9',['Display< offset_t, Ts... >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20std_3a_3astring_20_3e_10',['Display< std::string >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['display_3c_20ts_2e_2e_2e_20_3e_11',['Display< Ts... >',['../classDumper_1_1Display.html',1,'Dumper']]], + ['dummysegment_12',['DummySegment',['../classDOS16M_1_1BWFormat_1_1DummySegment.html',1,'DOS16M::BWFormat']]], + ['dumper_13',['Dumper',['../classDumper_1_1Dumper.html',1,'Dumper']]] +]; diff --git a/html/search/classes_4.js b/html/search/classes_4.js new file mode 100644 index 00000000..b1211185 --- /dev/null +++ b/html/search/classes_4.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['elfformat_0',['ELFFormat',['../classELF_1_1ELFFormat.html',1,'ELF']]], + ['elfreader_1',['ELFReader',['../classdump_1_1ELFReader.html',1,'dump']]], + ['entry_2',['Entry',['../classApple_1_1AppleSingleDouble_1_1Entry.html',1,'Apple::AppleSingleDouble::Entry'],['../structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry.html',1,'Apple::ResourceFork::JumpTableCodeResource::Entry'],['../classDumper_1_1Entry.html',1,'Dumper::Entry'],['../classMicrosoft_1_1LEFormat_1_1Entry.html',1,'Microsoft::LEFormat::Entry'],['../classMicrosoft_1_1NEFormat_1_1Entry.html',1,'Microsoft::NEFormat::Entry']]], + ['exception_3',['Exception',['../classLinker_1_1Exception.html',1,'Linker']]], + ['exportedsymbol_4',['ExportedSymbol',['../classLinker_1_1ExportedSymbol.html',1,'Linker']]] +]; diff --git a/html/search/classes_5.js b/html/search/classes_5.js new file mode 100644 index 00000000..85a50b51 --- /dev/null +++ b/html/search/classes_5.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['fastloaddescriptor_0',['FastLoadDescriptor',['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html',1,'DigitalResearch::CPM86Format']]], + ['field_1',['Field',['../classDumper_1_1Field.html',1,'Dumper']]], + ['fieldof_2',['FieldOf',['../classDumper_1_1FieldOf.html',1,'Dumper']]], + ['filedatesinfo_3',['FileDatesInfo',['../classApple_1_1FileDatesInfo.html',1,'Apple']]], + ['fileinfo_4',['FileInfo',['../classApple_1_1FileInfo.html',1,'Apple']]], + ['filereader_5',['FileReader',['../classdump_1_1FileReader.html',1,'dump']]], + ['finderinfo_6',['FinderInfo',['../classApple_1_1FinderInfo.html',1,'Apple']]], + ['flat_7',['Flat',['../classPharLap_1_1P3Format_1_1Flat.html',1,'PharLap::P3Format']]], + ['flatformat_8',['FlatFormat',['../classDX64_1_1FlatFormat.html',1,'DX64']]], + ['flexformat_9',['FLEXFormat',['../classBinary_1_1FLEXFormat.html',1,'Binary']]], + ['flexosaoutheader_10',['FlexOSAOutHeader',['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html',1,'COFF::COFFFormat']]], + ['format_11',['Format',['../classLinker_1_1Format.html',1,'Linker']]], + ['format_5fdescription_12',['format_description',['../structformat__description.html',1,'']]], + ['format_5fmagic_13',['format_magic',['../structformat__magic.html',1,'']]] +]; diff --git a/html/search/classes_6.js b/html/search/classes_6.js new file mode 100644 index 00000000..8b79a8ab --- /dev/null +++ b/html/search/classes_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['genericresource_0',['GenericResource',['../classApple_1_1ResourceFork_1_1GenericResource.html',1,'Apple::ResourceFork']]], + ['geodeformat_1',['GeodeFormat',['../classGEOS_1_1GeodeFormat.html',1,'GEOS']]], + ['gnuaoutheader_2',['GNUAOutHeader',['../classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html',1,'COFF::COFFFormat']]], + ['gsosomfreader_3',['GSOSOMFReader',['../classdump_1_1GSOSOMFReader.html',1,'dump']]] +]; diff --git a/html/search/classes_7.js b/html/search/classes_7.js new file mode 100644 index 00000000..436fbb81 --- /dev/null +++ b/html/search/classes_7.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['hexdisplay_0',['HexDisplay',['../classDumper_1_1HexDisplay.html',1,'Dumper']]], + ['huformat_1',['HUFormat',['../classX68000_1_1HUFormat.html',1,'X68000']]], + ['hunk_2',['Hunk',['../classAmiga_1_1HunkFormat_1_1Hunk.html',1,'Amiga::HunkFormat']]], + ['hunkformat_3',['HunkFormat',['../classAmiga_1_1HunkFormat.html',1,'Amiga']]], + ['hunkreader_4',['HunkReader',['../classdump_1_1HunkReader.html',1,'dump']]], + ['hureader_5',['HUReader',['../classdump_1_1HUReader.html',1,'dump']]] +]; diff --git a/html/search/classes_8.js b/html/search/classes_8.js new file mode 100644 index 00000000..81f96531 --- /dev/null +++ b/html/search/classes_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['iconbw_0',['IconBW',['../classApple_1_1IconBW.html',1,'Apple']]], + ['iconcolor_1',['IconColor',['../classApple_1_1IconColor.html',1,'Apple']]], + ['inputformat_2',['InputFormat',['../classLinker_1_1InputFormat.html',1,'Linker']]] +]; diff --git a/html/search/classes_9.js b/html/search/classes_9.js new file mode 100644 index 00000000..c5d42432 --- /dev/null +++ b/html/search/classes_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jumptablecoderesource_0',['JumpTableCodeResource',['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html',1,'Apple::ResourceFork']]] +]; diff --git a/html/search/classes_a.js b/html/search/classes_a.js new file mode 100644 index 00000000..23dc0769 --- /dev/null +++ b/html/search/classes_a.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['ldt_5fdescriptor_0',['ldt_descriptor',['../structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html',1,'DigitalResearch::CPM86Format::FastLoadDescriptor']]], + ['leformat_1',['LEFormat',['../classMicrosoft_1_1LEFormat.html',1,'Microsoft']]], + ['lereader_2',['LEReader',['../classdump_1_1LEReader.html',1,'dump']]], + ['library_3',['library',['../structDigitalResearch_1_1CPM86Format_1_1library.html',1,'DigitalResearch::CPM86Format']]], + ['library_5fid_4',['library_id',['../structDigitalResearch_1_1CPM86Format_1_1library__id.html',1,'DigitalResearch::CPM86Format']]], + ['librarydescriptor_5',['LibraryDescriptor',['../classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html',1,'DigitalResearch::CPM86Format']]], + ['linkermanager_6',['LinkerManager',['../classLinker_1_1LinkerManager.html',1,'Linker']]], + ['list_7',['List',['../classScript_1_1List.html',1,'Script']]], + ['location_8',['Location',['../classLinker_1_1Location.html',1,'Linker']]], + ['lvformat_9',['LVFormat',['../classDX64_1_1LVFormat.html',1,'DX64']]] +]; diff --git a/html/search/classes_b.js b/html/search/classes_b.js new file mode 100644 index 00000000..60cac4cf --- /dev/null +++ b/html/search/classes_b.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['macbinary_0',['MacBinary',['../classApple_1_1MacBinary.html',1,'Apple']]], + ['macdriver_1',['MacDriver',['../classApple_1_1MacDriver.html',1,'Apple']]], + ['machinetype_2',['MachineType',['../structCOFF_1_1COFFFormat_1_1MachineType.html',1,'COFF::COFFFormat']]], + ['machoformat_3',['MachOFormat',['../classMachO_1_1MachOFormat.html',1,'MachO']]], + ['machoreader_4',['MachOReader',['../classdump_1_1MachOReader.html',1,'dump']]], + ['macintosh_5',['Macintosh',['../classApple_1_1FileInfo_1_1Macintosh.html',1,'Apple::FileInfo']]], + ['macintoshfileinfo_6',['MacintoshFileInfo',['../classApple_1_1MacintoshFileInfo.html',1,'Apple']]], + ['macintoshresourcereader_7',['MacintoshResourceReader',['../classdump_1_1MacintoshResourceReader.html',1,'dump']]], + ['minixaoutreader_8',['MINIXAOutReader',['../classdump_1_1MINIXAOutReader.html',1,'dump']]], + ['minixformat_9',['MINIXFormat',['../classMINIX_1_1MINIXFormat.html',1,'MINIX']]], + ['mipsaoutheader_10',['MIPSAOutHeader',['../classCOFF_1_1COFFFormat_1_1MIPSAOutHeader.html',1,'COFF::COFFFormat']]], + ['module_11',['Module',['../classLinker_1_1Module.html',1,'Linker']]], + ['mpformat_12',['MPFormat',['../classPharLap_1_1MPFormat.html',1,'PharLap']]], + ['msdos_13',['MSDOS',['../classApple_1_1FileInfo_1_1MSDOS.html',1,'Apple::FileInfo']]], + ['msdosfileinfo_14',['MSDOSFileInfo',['../classApple_1_1MSDOSFileInfo.html',1,'Apple']]], + ['multisegmented_15',['MultiSegmented',['../classPharLap_1_1P3Format_1_1MultiSegmented.html',1,'PharLap::P3Format']]], + ['mzformat_16',['MZFormat',['../classMicrosoft_1_1MZFormat.html',1,'Microsoft']]], + ['mzreader_17',['MZReader',['../classdump_1_1MZReader.html',1,'dump']]], + ['mzsimplestubwriter_18',['MZSimpleStubWriter',['../classMicrosoft_1_1MZSimpleStubWriter.html',1,'Microsoft']]], + ['mzstubwriter_19',['MZStubWriter',['../classMicrosoft_1_1MZStubWriter.html',1,'Microsoft']]] +]; diff --git a/html/search/classes_c.js b/html/search/classes_c.js new file mode 100644 index 00000000..2abf0dc2 --- /dev/null +++ b/html/search/classes_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['name_0',['Name',['../structMicrosoft_1_1LEFormat_1_1Name.html',1,'Microsoft::LEFormat::Name'],['../structMicrosoft_1_1NEFormat_1_1Name.html',1,'Microsoft::NEFormat::Name']]], + ['neformat_1',['NEFormat',['../classMicrosoft_1_1NEFormat.html',1,'Microsoft']]], + ['nereader_2',['NEReader',['../classdump_1_1NEReader.html',1,'dump']]], + ['node_3',['Node',['../classScript_1_1Node.html',1,'Script']]] +]; diff --git a/html/search/classes_d.js b/html/search/classes_d.js new file mode 100644 index 00000000..0698349c --- /dev/null +++ b/html/search/classes_d.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['o65format_0',['O65Format',['../classO65_1_1O65Format.html',1,'O65']]], + ['object_1',['Object',['../classMicrosoft_1_1LEFormat_1_1Object.html',1,'Microsoft::LEFormat']]], + ['omfformat_2',['OMFFormat',['../classApple_1_1OMFFormat.html',1,'Apple::OMFFormat'],['../classOMF_1_1OMFFormat.html',1,'OMF::OMFFormat']]], + ['optionalheader_3',['OptionalHeader',['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html',1,'COFF::COFFFormat']]], + ['output_5fformat_5ftype_4',['output_format_type',['../structoutput__format__type.html',1,'']]], + ['outputformat_5',['OutputFormat',['../classLinker_1_1OutputFormat.html',1,'Linker']]] +]; diff --git a/html/search/classes_e.js b/html/search/classes_e.js new file mode 100644 index 00000000..68793869 --- /dev/null +++ b/html/search/classes_e.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['p3format_0',['P3Format',['../classPharLap_1_1P3Format.html',1,'PharLap']]], + ['page_1',['Page',['../classMicrosoft_1_1LEFormat_1_1Page.html',1,'Microsoft::LEFormat']]], + ['pefformat_2',['PEFFormat',['../classApple_1_1PEFFormat.html',1,'Apple']]], + ['peformat_3',['PEFormat',['../classMicrosoft_1_1PEFormat.html',1,'Microsoft']]], + ['pefreader_4',['PEFReader',['../classdump_1_1PEFReader.html',1,'dump']]], + ['pereader_5',['PEReader',['../classdump_1_1PEReader.html',1,'dump']]], + ['pif_6',['PIF',['../structMicrosoft_1_1MZFormat_1_1PIF.html',1,'Microsoft::MZFormat']]], + ['pmw1format_7',['PMW1Format',['../classPMODE_1_1PMW1Format.html',1,'PMODE']]], + ['point_8',['Point',['../structApple_1_1FinderInfo_1_1Point.html',1,'Apple::FinderInfo']]], + ['position_9',['Position',['../classLinker_1_1Position.html',1,'Linker']]], + ['prlformat_10',['PRLFormat',['../classBinary_1_1PRLFormat.html',1,'Binary']]], + ['prodos_11',['ProDOS',['../classApple_1_1FileInfo_1_1ProDOS.html',1,'Apple::FileInfo']]], + ['prodosfileinfo_12',['ProDOSFileInfo',['../classApple_1_1ProDOSFileInfo.html',1,'Apple']]] +]; diff --git a/html/search/classes_f.js b/html/search/classes_f.js new file mode 100644 index 00000000..e23b9960 --- /dev/null +++ b/html/search/classes_f.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['reader_0',['Reader',['../classdump_1_1Reader.html',1,'dump.Reader'],['../classLinker_1_1Reader.html',1,'Linker::Reader']]], + ['realname_1',['RealName',['../classApple_1_1RealName.html',1,'Apple']]], + ['reference_2',['Reference',['../classLinker_1_1Reference.html',1,'Linker']]], + ['region_3',['Region',['../classDumper_1_1Region.html',1,'Dumper']]], + ['relocation_4',['Relocation',['../classCOFF_1_1COFFFormat_1_1Relocation.html',1,'COFF::COFFFormat::Relocation'],['../structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html',1,'DigitalResearch::CPM68KFormat::Relocation'],['../structDigitalResearch_1_1CPM86Format_1_1Relocation.html',1,'DigitalResearch::CPM86Format::Relocation'],['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html',1,'DigitalResearch::CPM8KFormat::Relocation'],['../classELF_1_1ELFFormat_1_1Relocation.html',1,'ELF::ELFFormat::Relocation'],['../classLinker_1_1Relocation.html',1,'Linker::Relocation'],['../classMicrosoft_1_1LEFormat_1_1Page_1_1Relocation.html',1,'Microsoft::LEFormat::Page::Relocation'],['../structMicrosoft_1_1MZFormat_1_1Relocation.html',1,'Microsoft::MZFormat::Relocation'],['../classMicrosoft_1_1NEFormat_1_1Segment_1_1Relocation.html',1,'Microsoft::NEFormat::Segment::Relocation'],['../unionPharLap_1_1MPFormat_1_1Relocation.html',1,'PharLap::MPFormat::Relocation'],['../classPharLap_1_1P3Format_1_1MultiSegmented_1_1Relocation.html',1,'PharLap::P3Format::MultiSegmented::Relocation']]], + ['relocation_5fsource_5',['relocation_source',['../structDigitalResearch_1_1CPM86Format_1_1relocation__source.html',1,'DigitalResearch::CPM86Format']]], + ['relocationsegment_6',['RelocationSegment',['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html',1,'DOS16M::BWFormat']]], + ['resolution_7',['Resolution',['../classLinker_1_1Resolution.html',1,'Linker']]], + ['resource_8',['Resource',['../classApple_1_1ResourceFork_1_1Resource.html',1,'Apple::ResourceFork::Resource'],['../classMicrosoft_1_1LEFormat_1_1Resource.html',1,'Microsoft::LEFormat::Resource'],['../classMicrosoft_1_1NEFormat_1_1Resource.html',1,'Microsoft::NEFormat::Resource']]], + ['resourcefork_9',['ResourceFork',['../classApple_1_1ResourceFork.html',1,'Apple']]], + ['rsx_5frecord_10',['rsx_record',['../structBinary_1_1CPM3Format_1_1rsx__record.html',1,'Binary::CPM3Format::rsx_record'],['../structDigitalResearch_1_1CPM86Format_1_1rsx__record.html',1,'DigitalResearch::CPM86Format::rsx_record']]], + ['runtimeparameterblock_11',['RunTimeParameterBlock',['../classPharLap_1_1P3Format_1_1RunTimeParameterBlock.html',1,'PharLap::P3Format']]] +]; diff --git a/html/search/close.svg b/html/search/close.svg new file mode 100644 index 00000000..337d6cc1 --- /dev/null +++ b/html/search/close.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/html/search/enums_0.js b/html/search/enums_0.js new file mode 100644 index 00000000..3a7ced12 --- /dev/null +++ b/html/search/enums_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['cpu_0',['cpu',['../classCOFF_1_1COFFFormat.html#a804c399c94ce4aff3c5905406d7b0114',1,'COFF::COFFFormat']]], + ['cpu_5ftype_1',['cpu_type',['../classLinker_1_1Module.html#a91adcc0d6d9aa631e4d79dad0154a756',1,'Linker::Module']]] +]; diff --git a/html/search/enums_1.js b/html/search/enums_1.js new file mode 100644 index 00000000..07e4e6d6 --- /dev/null +++ b/html/search/enums_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['flags_0',['flags',['../classAmiga_1_1HunkFormat.html#ad1b414fa36f950ce745b54450b2e179d',1,'Amiga::HunkFormat']]], + ['format_5ftype_1',['format_type',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25ac',1,'COFF::COFFFormat::format_type'],['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3eb',1,'DigitalResearch::CPM86Format::format_type']]] +]; diff --git a/html/search/enums_2.js b/html/search/enums_2.js new file mode 100644 index 00000000..846f2348 --- /dev/null +++ b/html/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['group_5ftype_0',['group_type',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bc',1,'DigitalResearch::CPM86Format::Descriptor']]] +]; diff --git a/html/search/enums_3.js b/html/search/enums_3.js new file mode 100644 index 00000000..ecb62dd4 --- /dev/null +++ b/html/search/enums_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['magic_5ftype_0',['magic_type',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088',1,'DigitalResearch::CPM68KFormat::magic_type'],['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111e',1,'Microsoft::MZFormat::magic_type']]], + ['memory_5fmodel_5ft_1',['memory_model_t',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515',1,'Binary::BinaryFormat::memory_model_t'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05f',1,'DigitalResearch::CPM86Format::memory_model_t'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7f',1,'Microsoft::MZFormat::memory_model_t']]] +]; diff --git a/html/search/enums_4.js b/html/search/enums_4.js new file mode 100644 index 00000000..0f4a99d5 --- /dev/null +++ b/html/search/enums_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['relocation_5ftype_0',['relocation_type',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['relocations_5ftype_1',['relocations_type',['../classDOS16M_1_1BWFormat.html#a3395277dce362ec553740b0c45a8a4b0',1,'DOS16M::BWFormat']]] +]; diff --git a/html/search/enums_5.js b/html/search/enums_5.js new file mode 100644 index 00000000..b310e34f --- /dev/null +++ b/html/search/enums_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['section_5fflags_0',['section_flags',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8f',1,'Linker::Section']]], + ['segment_5ftype_1',['segment_type',['../classDigitalResearch_1_1CPM8KFormat_1_1Segment.html#a0818774db1a08ab47fd52e4069bf6640',1,'DigitalResearch::CPM8KFormat::Segment']]], + ['system_5ftype_2',['system_type',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1b',1,'DigitalResearch::CPM68KFormat']]] +]; diff --git a/html/search/enumvalues_0.js b/html/search/enumvalues_0.js new file mode 100644 index 00000000..f439dbdd --- /dev/null +++ b/html/search/enumvalues_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['actualauxiliary4_0',['ActualAuxiliary4',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcae218ed246145a67e1e94f5ef8c71c9fe',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['actualfixups_1',['ActualFixups',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca92571d0c94c4c0dc7d2c8542f471303a',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary1_2',['Auxiliary1',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcab31c357526faf3aba751a51e7c453205',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary2_3',['Auxiliary2',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca199320a090ec7413013033e9b3cd70ab',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary3_4',['Auxiliary3',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca4f07ac9f6ffc8ca108537e580d68428e',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['auxiliary4_5',['Auxiliary4',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca8736c7a4573c44d72b8bce0f526db12f',1,'DigitalResearch::CPM86Format::Descriptor']]] +]; diff --git a/html/search/enumvalues_1.js b/html/search/enumvalues_1.js new file mode 100644 index 00000000..83d67d5a --- /dev/null +++ b/html/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bss_0',['BSS',['../classCOFF_1_1COFFFormat_1_1Section.html#aa98e4f30e87e423b60d4f9d924473ff1acd6fe573a51ee5fb35133d867cf4ec5b',1,'COFF::COFFFormat::Section']]] +]; diff --git a/html/search/enumvalues_10.js b/html/search/enumvalues_10.js new file mode 100644 index 00000000..1ac42d5a --- /dev/null +++ b/html/search/enumvalues_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['zerofilled_0',['ZeroFilled',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8faba221e7755b96fb7e972459ef96b477e',1,'Linker::Section']]], + ['zmagic_1',['ZMAGIC',['../classCOFF_1_1COFFFormat.html#a29adeff9d932998e06a35922718bea12a73d5453307f61d03b130b653422f6e1a',1,'COFF::COFFFormat']]] +]; diff --git a/html/search/enumvalues_2.js b/html/search/enumvalues_2.js new file mode 100644 index 00000000..68468c68 --- /dev/null +++ b/html/search/enumvalues_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['cdos386_0',['CDOS386',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25aca80ca5a704e7b53e211021287a4bb463c',1,'COFF::COFFFormat']]], + ['cdos68k_1',['CDOS68K',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25acafc03bd551a50f1b4ddfb5d5b97efe541',1,'COFF::COFFFormat']]], + ['chipmemory_2',['ChipMemory',['../classAmiga_1_1HunkFormat.html#ad1b414fa36f950ce745b54450b2e179da535f8a152f6d70793b9172cde60ab1c2',1,'Amiga::HunkFormat']]], + ['code_3',['Code',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca041ccb2597a7ca9e00585ccf8ec7ea8c',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['customflag_4',['CustomFlag',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fae0a0ecea4c542ca2f039f5d47f979a94',1,'Linker::Section']]] +]; diff --git a/html/search/enumvalues_3.js b/html/search/enumvalues_3.js new file mode 100644 index 00000000..2871de86 --- /dev/null +++ b/html/search/enumvalues_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['data_0',['DATA',['../classCOFF_1_1COFFFormat_1_1Section.html#aa98e4f30e87e423b60d4f9d924473ff1ac312875fa4baa17c5155c3e9a387ba62',1,'COFF::COFFFormat::Section']]], + ['data_1',['Data',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca492c2e9bd5afcfdad00b90ca418de356',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['djgpp_2',['DJGPP',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25acaf1971793850657a6e57b7c06efdc89b6',1,'COFF::COFFFormat']]] +]; diff --git a/html/search/enumvalues_4.js b/html/search/enumvalues_4.js new file mode 100644 index 00000000..bb47d66c --- /dev/null +++ b/html/search/enumvalues_4.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['execable_0',['Execable',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fab2f97edc3c4aeecb00c40972d00fff99',1,'Linker::Section']]], + ['ext_5flong_5fsegmented_1',['EXT_LONG_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a602afe81434a4ee60b2ac34e11048cf8',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['ext_5foffset_2',['EXT_OFFSET',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7aebafb868bba8c89f6672015d7c78b338',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['ext_5fshort_5fsegmented_3',['EXT_SHORT_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a78667166226b7dddcca7daebd8c6727e',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['extra_4',['Extra',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca5cf9a33a0504d4559d0d2e80557481ed',1,'DigitalResearch::CPM86Format::Descriptor']]] +]; diff --git a/html/search/enumvalues_5.js b/html/search/enumvalues_5.js new file mode 100644 index 00000000..cc7e5ee2 --- /dev/null +++ b/html/search/enumvalues_5.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['fastload_0',['FastLoad',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcae79f94571b41f4a695ebc97022420c81',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['fastmemory_1',['FastMemory',['../classAmiga_1_1HunkFormat.html#ad1b414fa36f950ce745b54450b2e179da544a0f3763a858994ab32233a34d953a',1,'Amiga::HunkFormat']]], + ['fixed_2',['Fixed',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8faa55a998be59cd8af7f48facf1cada69c',1,'Linker::Section']]], + ['fixups_3',['Fixups',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca4d30082575f71e95b8bf4e0a32e14f31',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['flag_5fdirect_5fvideo_4',['FLAG_DIRECT_VIDEO',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a050aca90f2650e7187228f90fae63f2c',1,'DigitalResearch::CPM86Format']]], + ['flag_5ffixups_5',['FLAG_FIXUPS',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a09bb39cb6f0674d025d719ed48ec2aa9',1,'DigitalResearch::CPM86Format']]], + ['flag_5foptional_5f8087_6',['FLAG_OPTIONAL_8087',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751ad6dda5e8dc03209d08a9528ee8bb098c',1,'DigitalResearch::CPM86Format']]], + ['flag_5frequired_5f8087_7',['FLAG_REQUIRED_8087',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a236f4a8010d466e28892ca9709b962e9',1,'DigitalResearch::CPM86Format']]], + ['flag_5frsx_8',['FLAG_RSX',['../classDigitalResearch_1_1CPM86Format.html#a4806b038ebd284bb2a44b5edb8e26751a3c6f7fe26e8b845c181df1a8056c5523',1,'DigitalResearch::CPM86Format']]], + ['format_5f8080_9',['FORMAT_8080',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3ebaa232eed41fbad678e1998318314c42ae',1,'DigitalResearch::CPM86Format']]], + ['format_5fcompact_10',['FORMAT_COMPACT',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3eba6b9d972314f61bacc116901a621b7a63',1,'DigitalResearch::CPM86Format']]], + ['format_5fflexos_11',['FORMAT_FLEXOS',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3eba640e7402848b89e6fd60f88909a334c0',1,'DigitalResearch::CPM86Format']]], + ['format_5fsmall_12',['FORMAT_SMALL',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3ebadc1fb4be46190e214cbd76178992a4d8',1,'DigitalResearch::CPM86Format']]], + ['format_5funknown_13',['FORMAT_UNKNOWN',['../classDigitalResearch_1_1CPM86Format.html#a62e99897dc1820e925180333ade1a3ebaa2c35c19da1681b1a8daba3bbbde7a8e',1,'DigitalResearch::CPM86Format']]] +]; diff --git a/html/search/enumvalues_6.js b/html/search/enumvalues_6.js new file mode 100644 index 00000000..2d276191 --- /dev/null +++ b/html/search/enumvalues_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['generic_0',['GENERIC',['../classCOFF_1_1COFFFormat.html#a205bb77ac2289ed12beb03a1a72d25acae7e705fbd20a2b3d5f82145997b5f1e0',1,'COFF::COFFFormat']]] +]; diff --git a/html/search/enumvalues_7.js b/html/search/enumvalues_7.js new file mode 100644 index 00000000..941001d4 --- /dev/null +++ b/html/search/enumvalues_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['heap_0',['Heap',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa76011044e12099fa5bd23737d781c15c',1,'Linker::Section']]] +]; diff --git a/html/search/enumvalues_8.js b/html/search/enumvalues_8.js new file mode 100644 index 00000000..1e644bfe --- /dev/null +++ b/html/search/enumvalues_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['libraries_0',['Libraries',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca387622eb0fc198d03caa95789e1644cb',1,'DigitalResearch::CPM86Format::Descriptor']]] +]; diff --git a/html/search/enumvalues_9.js b/html/search/enumvalues_9.js new file mode 100644 index 00000000..0780e654 --- /dev/null +++ b/html/search/enumvalues_9.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['magic_5fcontiguous_0',['MAGIC_CONTIGUOUS',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088a683785bc4a92b8c9927930c603374ba0',1,'DigitalResearch::CPM68KFormat']]], + ['magic_5fcrunched_1',['MAGIC_CRUNCHED',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088a8f427e52e440accb17003b50ac409eb2',1,'DigitalResearch::CPM68KFormat']]], + ['magic_5fdl_2',['MAGIC_DL',['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111ea51cb3fd729fcbcd8227374b0a84380d6',1,'Microsoft::MZFormat']]], + ['magic_5fmz_3',['MAGIC_MZ',['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111eac07251a926d754bffb47e6c6c45928aa',1,'Microsoft::MZFormat']]], + ['magic_5fnoncontiguous_4',['MAGIC_NONCONTIGUOUS',['../classDigitalResearch_1_1CPM68KFormat.html#a5a22e53abce0480a94876f192d83b088afb381ef2392fe8d21878e3c0e9f99903',1,'DigitalResearch::CPM68KFormat']]], + ['magic_5fzm_5',['MAGIC_ZM',['../classMicrosoft_1_1MZFormat.html#a4973fba6e928696bc2bc1a59b8e4111eabe83036ddf8e49e5c0016785d1f47041',1,'Microsoft::MZFormat']]], + ['mergeable_6',['Mergeable',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa3fb353ffb6ae08b085ad022b73fa7497',1,'Linker::Section']]], + ['model_5fcompact_7',['MODEL_COMPACT',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a219d8ed787548a6cfa4254544b01ba96',1,'Binary::BinaryFormat::MODEL_COMPACT'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05fa07547fe70a01d61c80954743af926730',1,'DigitalResearch::CPM86Format::MODEL_COMPACT'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa9b4e6d2931b8b06e36e10efc051c74b0',1,'Microsoft::MZFormat::MODEL_COMPACT']]], + ['model_5fdefault_8',['MODEL_DEFAULT',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a9731d98fe73b1b6d684363f6a43f232a',1,'Binary::BinaryFormat::MODEL_DEFAULT'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa8c6eb30b9cb05c421cb0bf368e5e4b83',1,'Microsoft::MZFormat::MODEL_DEFAULT']]], + ['model_5flarge_9',['MODEL_LARGE',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a4cd2502dd60d1aeb5625f0d5c14cd674',1,'Binary::BinaryFormat::MODEL_LARGE'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa0d8e1565af651108c3e0b84c622c7c6b',1,'Microsoft::MZFormat::MODEL_LARGE']]], + ['model_5fsmall_10',['MODEL_SMALL',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515a64dad9915d09e4e7b608bc804928ad3d',1,'Binary::BinaryFormat::MODEL_SMALL'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05fa6b5aba4c3ceb556d8b9b0775cc81a45a',1,'DigitalResearch::CPM86Format::MODEL_SMALL'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa3145bf8d231e8711df1664c163599525',1,'Microsoft::MZFormat::MODEL_SMALL']]], + ['model_5ftiny_11',['MODEL_TINY',['../classBinary_1_1BinaryFormat.html#a5a48c0a58040c5e59c1b4d2ec8554515aad5371112d94eb2b20550e72f1ba650b',1,'Binary::BinaryFormat::MODEL_TINY'],['../classDigitalResearch_1_1CPM86Format.html#a6503f9e1d16bfba45df9a4acb402d05fa466c6cec694d20390c38c9b2e3965c9d',1,'DigitalResearch::CPM86Format::MODEL_TINY'],['../classMicrosoft_1_1MZFormat.html#aacb034ec17033245a85deb560444ca7fa93baf16a07e3bb9130d73238637f6c6d',1,'Microsoft::MZFormat::MODEL_TINY']]] +]; diff --git a/html/search/enumvalues_a.js b/html/search/enumvalues_a.js new file mode 100644 index 00000000..6058c47d --- /dev/null +++ b/html/search/enumvalues_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['optional_0',['Optional',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fadada38e1155b0e6747c8fd45cdff3eea',1,'Linker::Section']]] +]; diff --git a/html/search/enumvalues_b.js b/html/search/enumvalues_b.js new file mode 100644 index 00000000..7e3ee971 --- /dev/null +++ b/html/search/enumvalues_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['readable_0',['Readable',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fab550e096ede3ba6d373fdfebfa22225a',1,'Linker::Section']]], + ['resource_1',['Resource',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa9648caf56b0d9933fa5dc3d00f27013f',1,'Linker::Section']]] +]; diff --git a/html/search/enumvalues_c.js b/html/search/enumvalues_c.js new file mode 100644 index 00000000..1384a5de --- /dev/null +++ b/html/search/enumvalues_c.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['seg_5flong_5fsegmented_0',['SEG_LONG_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a1fa71fcdacda1e9f6b89fbfd1d4d915c',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['seg_5foffset_1',['SEG_OFFSET',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a146b613d3ef4a6e05a0c686df6a20add',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['seg_5fshort_5fsegmented_2',['SEG_SHORT_SEGMENTED',['../structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html#a178f324a79b912c1de63612c9576f0b7a5f4c5642e0664eff148a56a35934989b',1,'DigitalResearch::CPM8KFormat::Relocation']]], + ['sharedcode_3',['SharedCode',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bcafcfa041be26ca443d0bca28a1f079dd7',1,'DigitalResearch::CPM86Format::Descriptor']]], + ['stack_4',['Stack',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca829a6a4e19d570606b0da4f241aa97a0',1,'DigitalResearch::CPM86Format::Descriptor::Stack'],['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa5208e5a4b284d0504e761c0a61d69feb',1,'Linker::Section::Stack']]], + ['system_5fcdos68k_5',['SYSTEM_CDOS68K',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba5e6b33e76cf55ed17a0f6237a73808ea',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fcpm68k_6',['SYSTEM_CPM68K',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1bad04dc5f0edc1ab2af285a1bc785ceb32',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fgemdos_7',['SYSTEM_GEMDOS',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba013986292e603c077687f1f6b48301ae',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fgemdos_5fearly_8',['SYSTEM_GEMDOS_EARLY',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba74c69cc9d8f1fcebafe0d83f0d769f65',1,'DigitalResearch::CPM68KFormat']]], + ['system_5fhuman68k_9',['SYSTEM_HUMAN68K',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1baa4d56796da0fcfd685d076e4809642dd',1,'DigitalResearch::CPM68KFormat']]], + ['system_5funknown_10',['SYSTEM_UNKNOWN',['../classDigitalResearch_1_1CPM68KFormat.html#abb931463a3828b9f6b41aed2260b8d1ba41bc1e64e5d47878232dcc8e699da07f',1,'DigitalResearch::CPM68KFormat']]] +]; diff --git a/html/search/enumvalues_d.js b/html/search/enumvalues_d.js new file mode 100644 index 00000000..c69f51d8 --- /dev/null +++ b/html/search/enumvalues_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['text_0',['TEXT',['../classCOFF_1_1COFFFormat_1_1Section.html#aa98e4f30e87e423b60d4f9d924473ff1af1f75fb0cf89d4fcb2e18f06b3e37773',1,'COFF::COFFFormat::Section']]] +]; diff --git a/html/search/enumvalues_e.js b/html/search/enumvalues_e.js new file mode 100644 index 00000000..01f44fe5 --- /dev/null +++ b/html/search/enumvalues_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['undefined_0',['Undefined',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#af657b23aac9b14639cb22bf34c2847bca27ef7ad15cb05528aef8ac8bf8248cd2',1,'DigitalResearch::CPM86Format::Descriptor']]] +]; diff --git a/html/search/enumvalues_f.js b/html/search/enumvalues_f.js new file mode 100644 index 00000000..b4f8e72f --- /dev/null +++ b/html/search/enumvalues_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['writable_0',['Writable',['../classLinker_1_1Section.html#ac63d033d602ad0a9a0f82dddeaeb7d8fa4aa86e7d81f338cf0ecf056d84f62087',1,'Linker::Section']]] +]; diff --git a/html/search/functions_0.js b/html/search/functions_0.js new file mode 100644 index 00000000..ce41830c --- /dev/null +++ b/html/search/functions_0.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['absolute_0',['Absolute',['../classLinker_1_1Relocation.html#a683650aca2ebbf8919fa3d8f41b9f177',1,'Linker::Relocation::Absolute(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#a04bdbd692c483d4249e4e3b87069d12e',1,'Linker::Relocation::Absolute(size_t size, Location source, Target target, uint64_t addend=0)']]], + ['actualdatasize_1',['ActualDataSize',['../classLinker_1_1Buffer.html#a197ddf4ac1014305c343b1e95288cedc',1,'Linker::Buffer::ActualDataSize()'],['../classLinker_1_1Segment.html#a9ca37dea54f271851d44ffe964334553',1,'Linker::Segment::ActualDataSize()'],['../classLinker_1_1Writable.html#a8554e5aef765d9b8b4851a5543a21f84',1,'Linker::Writable::ActualDataSize()']]], + ['addcommonsymbol_2',['AddCommonSymbol',['../classLinker_1_1Module.html#a38dd4b20975c68f2c930f3d971f6a813',1,'Linker::Module']]], + ['addcurrentvalue_3',['AddCurrentValue',['../classLinker_1_1Relocation.html#a52614e87d0765b572eb7f171e3809253',1,'Linker::Relocation']]], + ['addexportedsymbol_4',['AddExportedSymbol',['../classLinker_1_1Module.html#a333949c04bd348d6271c659fd0340c74',1,'Linker::Module']]], + ['addglobalsymbol_5',['AddGlobalSymbol',['../classLinker_1_1Module.html#a671906d40d548939cc0b7d1bc12ab04e',1,'Linker::Module']]], + ['addimportedsymbol_6',['AddImportedSymbol',['../classLinker_1_1Module.html#a71d051047356e374379eecc9d16aba55',1,'Linker::Module']]], + ['addlocalsymbol_7',['AddLocalSymbol',['../classLinker_1_1Module.html#a828a23753d979857943659de799f8a5d',1,'Linker::Module']]], + ['addsection_8',['AddSection',['../classLinker_1_1Module.html#adbeb6b70c7faa2e1d484e1c0e337d97a',1,'Linker::Module']]], + ['addsignal_9',['AddSignal',['../classDumper_1_1Block.html#a1f3148ed13be3968248a671615b4332f',1,'Dumper::Block']]], + ['addsupplementaryoutputformat_10',['AddSupplementaryOutputFormat',['../classApple_1_1MacDriver.html#adfe824eb865192caa12fc254b9631647',1,'Apple::MacDriver::AddSupplementaryOutputFormat()'],['../classLinker_1_1OutputFormat.html#aeeec2cbf4f03e45b0cdf46f2a52a5416',1,'Linker::OutputFormat::AddSupplementaryOutputFormat()']]], + ['aligncurrentaddress_11',['AlignCurrentAddress',['../classLinker_1_1LinkerManager.html#a0513ddb037fcae3aad5fdfa2b6425942',1,'Linker::LinkerManager']]], + ['alignendaddress_12',['AlignEndAddress',['../classLinker_1_1Segment.html#a32e5606ef13b215cd1b9c52830ce4bf3',1,'Linker::Segment']]], + ['alignto_13',['AlignTo',['../classLinker_1_1Writer.html#ad8876e9da13272a4de20e8f8724e2a4d',1,'Linker::Writer']]], + ['allocatesymbols_14',['AllocateSymbols',['../classLinker_1_1Module.html#a9a45504e9a720fd2a58dd17d440cadcf',1,'Linker::Module::AllocateSymbols(Section *section)'],['../classLinker_1_1Module.html#afc97fc4bf30de0c91c53bd93de4a48c1',1,'Linker::Module::AllocateSymbols()']]], + ['append_15',['Append',['../classLinker_1_1Module.html#a06298d0a85295d9ba2b060097d11031d',1,'Linker::Module::Append(Section *dst, Section *src)'],['../classLinker_1_1Module.html#a8e39ce2d456bae6b064d2dd9ffe0bb11',1,'Linker::Module::Append(Module &other)'],['../classLinker_1_1Section.html#ab4d26d74a06752724795de2c9d526bf3',1,'Linker::Section::Append(const void *new_data, size_t length)'],['../classLinker_1_1Section.html#a80c8bcd695cb65929d1522e02cdb1343',1,'Linker::Section::Append(const char *new_data)'],['../classLinker_1_1Section.html#abfb2e69be54239f43a154a40e3cf42fb',1,'Linker::Section::Append(const Section &other)'],['../classLinker_1_1Section.html#a69f9d69f290ee3cc59165e847588c277',1,'Linker::Section::Append(Buffer &buffer)'],['../classLinker_1_1Segment.html#aebb72654447cd853c865f93f9a65c790',1,'Linker::Segment::Append()']]], + ['appendsection_16',['AppendSection',['../classLinker_1_1LinkerManager.html#ae66d1566aff716ecd001ad48dc9d0551',1,'Linker::LinkerManager']]], + ['appendsegment_17',['AppendSegment',['../classLinker_1_1LinkerManager.html#a94ae35491ad1755ee49c632bd708c814',1,'Linker::LinkerManager']]] +]; diff --git a/html/search/functions_1.js b/html/search/functions_1.js new file mode 100644 index 00000000..e90eb2da --- /dev/null +++ b/html/search/functions_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['base_0',['Base',['../classLinker_1_1Section.html#a242f928451cdd3b741c6d4cd4efcb6a1',1,'Linker::Section']]], + ['beginunderline_1',['BeginUnderline',['../classDumper_1_1Dumper.html#ab9ebe2519df04c643ef60e13287ff5a6',1,'Dumper::Dumper']]] +]; diff --git a/html/search/functions_2.js b/html/search/functions_2.js new file mode 100644 index 00000000..4f9aff12 --- /dev/null +++ b/html/search/functions_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['calculatevalues_0',['CalculateValues',['../classAOut_1_1AOutFormat.html#ac63886fecdf1c9adf140a637fea08e47',1,'AOut::AOutFormat::CalculateValues()'],['../classBinary_1_1BinaryFormat.html#a9782a2f414adba1895f72780b4aa662d',1,'Binary::BinaryFormat::CalculateValues()'],['../classDOS16M_1_1BWFormat.html#a24c289d13fb346385875f3c052f27218',1,'DOS16M::BWFormat::CalculateValues()'],['../classCOFF_1_1COFFFormat.html#a1ec3125ad30063324784f9da3de537aa',1,'COFF::COFFFormat::CalculateValues()'],['../classDigitalResearch_1_1CPM68KFormat.html#a93c0e5c68e510f9de58f149fe0aa9369',1,'DigitalResearch::CPM68KFormat::CalculateValues()'],['../classDigitalResearch_1_1CPM86Format.html#a1b7ed452994cb3587eeadc7a8bffb135',1,'DigitalResearch::CPM86Format::CalculateValues()'],['../classDigitalResearch_1_1CPM8KFormat.html#aad313a3810caf2e89655525a3e31d83e',1,'DigitalResearch::CPM8KFormat::CalculateValues()'],['../classX68000_1_1HUFormat.html#a52c6e70d4c5cd93adea01e976bee4048',1,'X68000::HUFormat::CalculateValues()'],['../classAmiga_1_1HunkFormat.html#ab1ae152c9608fcbfe0f6ae3687ae5af4',1,'Amiga::HunkFormat::CalculateValues()'],['../classMicrosoft_1_1LEFormat.html#a0ab79b384f25d415e1631681b9793ae2',1,'Microsoft::LEFormat::CalculateValues()'],['../classApple_1_1AppleSingleDouble.html#ada5c7760fea6e4ddd3b59f7a3c3aed6a',1,'Apple::AppleSingleDouble::CalculateValues()'],['../classApple_1_1ResourceFork_1_1GenericResource.html#a31ccf2cbef6b59f21a3fe6cc230f9954',1,'Apple::ResourceFork::GenericResource::CalculateValues()'],['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html#aa261a3d333e9eee0bc7cbd9bf284dc1e',1,'Apple::ResourceFork::JumpTableCodeResource::CalculateValues()'],['../classApple_1_1ResourceFork_1_1CodeResource.html#a4dc00dbdc9ef73d5af451461894dcfe0',1,'Apple::ResourceFork::CodeResource::CalculateValues()'],['../classMINIX_1_1MINIXFormat.html#a90bfee0ea7ce2677e470f6631cc9d408',1,'MINIX::MINIXFormat::CalculateValues()'],['../classMicrosoft_1_1MZFormat.html#a7bcdf0f44cc2a9b48f66906bf40a6cf6',1,'Microsoft::MZFormat::CalculateValues()'],['../classMicrosoft_1_1NEFormat.html#a6a73699bab6ddb3922eded05d7bcc5a8',1,'Microsoft::NEFormat::CalculateValues()'],['../classPharLap_1_1MPFormat.html#a4f75a159485d47338053c820ba747807',1,'PharLap::MPFormat::CalculateValues()'],['../classPharLap_1_1P3Format_1_1Flat.html#a9f8d94a21dbc4db2c319913d7acf6f99',1,'PharLap::P3Format::Flat::CalculateValues()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#afcb01358809136d90dd0d3c19c1b312c',1,'PharLap::P3Format::MultiSegmented::CalculateValues()'],['../classLinker_1_1OutputFormat.html#ae63d979e5fa85a76ffe06ac613b6ec27',1,'Linker::OutputFormat::CalculateValues()']]], + ['choicedisplay_1',['ChoiceDisplay',['../classDumper_1_1ChoiceDisplay.html#ae66efcf0962a72fe2b2bcb72358806be',1,'Dumper::ChoiceDisplay::ChoiceDisplay(std::string on_true, std::string on_false)'],['../classDumper_1_1ChoiceDisplay.html#a823c380e4cdd3c30a9c8e6ecae41a280',1,'Dumper::ChoiceDisplay::ChoiceDisplay(std::string on_true)']]], + ['clear_2',['Clear',['../classBinary_1_1CPM3Format.html#ae040dd0d1749353e2882e753c5ef7ca9',1,'Binary::CPM3Format::Clear()'],['../classBinary_1_1BinaryFormat.html#a937dd9941d6bf2f29efcb398ff8f9506',1,'Binary::BinaryFormat::Clear()'],['../classCOFF_1_1COFFFormat.html#a0129e17c2c0772232a3b291b399f1964',1,'COFF::COFFFormat::Clear()'],['../classDigitalResearch_1_1CPM68KFormat.html#a68b79c0a0ae9f53b33ddd2ee64becffa',1,'DigitalResearch::CPM68KFormat::Clear()'],['../classDigitalResearch_1_1CPM86Format.html#a9afc148e9cd3946c6a3902adaf7510ad',1,'DigitalResearch::CPM86Format::Clear()'],['../classDigitalResearch_1_1CPM8KFormat.html#a82b5d9e40365938302fe561fff5a8163',1,'DigitalResearch::CPM8KFormat::Clear()'],['../classMicrosoft_1_1MZFormat.html#a93a473b423af7a60fbbc55a69c269f80',1,'Microsoft::MZFormat::Clear()'],['../classLinker_1_1Format.html#af096ef1500e69a6b3112c7640b3748bd',1,'Linker::Format::Clear()']]], + ['codesegment_3',['CodeSegment',['../classDigitalResearch_1_1CPM68KFormat.html#a66433c4cc0d0304758cab50c61062535',1,'DigitalResearch::CPM68KFormat']]], + ['createdefaultsegments_4',['CreateDefaultSegments',['../classMicrosoft_1_1MZFormat.html#a17104d50d6ea71b5773e590d4211152d',1,'Microsoft::MZFormat']]] +]; diff --git a/html/search/functions_3.js b/html/search/functions_3.js new file mode 100644 index 00000000..723b6e4f --- /dev/null +++ b/html/search/functions_3.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['datasegment_0',['DataSegment',['../classDigitalResearch_1_1CPM68KFormat.html#a6153aa2356eae02abde97495cf990812',1,'DigitalResearch::CPM68KFormat']]], + ['deletesection_1',['DeleteSection',['../classLinker_1_1Module.html#aae537c795e8d0046c4499a1e66bbde27',1,'Linker::Module']]], + ['displace_2',['Displace',['../classLinker_1_1Location.html#abe76dceca566c3aee80013c80308ad6d',1,'Linker::Location::Displace()'],['../classLinker_1_1Relocation.html#a997e3f105f20348bb79fb9f550dd3a2e',1,'Linker::Relocation::Displace()'],['../classLinker_1_1Target.html#ac136ed2a72fa0c95779643fd57fc6367',1,'Linker::Target::Displace()']]], + ['displayvalue_3',['DisplayValue',['../classDumper_1_1Display.html#a9a91ab30a111e6fcdc129e0f164fa138',1,'Dumper::Display']]], + ['dump_4',['Dump',['../classBinary_1_1BinaryFormat.html#a2a8d3173acc8166cf53b7553793b24c3',1,'Binary::BinaryFormat::Dump()'],['../classCOFF_1_1COFFFormat.html#a1ea5f59639fe34d30cad54aa61676736',1,'COFF::COFFFormat::Dump()'],['../classDigitalResearch_1_1CPM68KFormat.html#aa256a83e6a66d8981288c8b128bc89c4',1,'DigitalResearch::CPM68KFormat::Dump()'],['../classDigitalResearch_1_1CPM86Format.html#aee66587b1963f21504339500ea7de4c1',1,'DigitalResearch::CPM86Format::Dump()'],['../classDigitalResearch_1_1CPM8KFormat.html#a8e8f5325c0741dc3db55b4544de45fcf',1,'DigitalResearch::CPM8KFormat::Dump()'],['../classMicrosoft_1_1MZFormat.html#a28d44ea54967cc61dba156b22d7b4826',1,'Microsoft::MZFormat::Dump()'],['../classLinker_1_1Format.html#adda815844b654ffdd8f78e4828767702',1,'Linker::Format::Dump()']]] +]; diff --git a/html/search/functions_4.js b/html/search/functions_4.js new file mode 100644 index 00000000..d741d6c9 --- /dev/null +++ b/html/search/functions_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['empty_0',['Empty',['../classLinker_1_1Relocation.html#aba1cfdf0438558e003d4cd3ce97c6523',1,'Linker::Relocation']]], + ['endunderline_1',['EndUnderline',['../classDumper_1_1Dumper.html#a8c75f310152f2aa454cfbd63e9e78dc7',1,'Dumper::Dumper']]], + ['expand_2',['Expand',['../classLinker_1_1Section.html#a3339e1b63c42c3c4d710001e63ce216e',1,'Linker::Section']]], + ['exportedsymbol_3',['ExportedSymbol',['../classLinker_1_1ExportedSymbol.html#ae0fb96e25dca1d64c74f0af0df9e3f6a',1,'Linker::ExportedSymbol::ExportedSymbol(std::string name)'],['../classLinker_1_1ExportedSymbol.html#a8f2adbe199038cecb52aa108122709c2',1,'Linker::ExportedSymbol::ExportedSymbol(std::string name, uint16_t hint)'],['../classLinker_1_1ExportedSymbol.html#af1441a432c55e64b8c6e129243afb940',1,'Linker::ExportedSymbol::ExportedSymbol(uint16_t ordinal, std::string internal_name)']]] +]; diff --git a/html/search/functions_5.js b/html/search/functions_5.js new file mode 100644 index 00000000..980d0cb9 --- /dev/null +++ b/html/search/functions_5.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['fetchintegeroption_0',['FetchIntegerOption',['../classLinker_1_1OutputFormat.html#a9fb1445cd62e7a05eec785abed8ef273',1,'Linker::OutputFormat']]], + ['fetchoption_1',['FetchOption',['../classLinker_1_1OutputFormat.html#ad1ac5336a836f4bdddd593b6430261c8',1,'Linker::OutputFormat::FetchOption(std::map< std::string, std::string > &options, std::string name)'],['../classLinker_1_1OutputFormat.html#ad3fb1623474b9baad197c5e42cf7be8f',1,'Linker::OutputFormat::FetchOption(std::map< std::string, std::string > &options, std::string name, std::string default_value)']]], + ['fetchsection_2',['FetchSection',['../classLinker_1_1Module.html#a154b90ea74e33c2840967d6a2687a329',1,'Linker::Module']]], + ['fetchsegment_3',['FetchSegment',['../classLinker_1_1LinkerManager.html#a5a940cfa3403f3542623e9b3c64ade38',1,'Linker::LinkerManager']]], + ['fill_4',['Fill',['../classLinker_1_1Segment.html#a8158df81757259be97fc2a4e4e8721fc',1,'Linker::Segment']]], + ['fillto_5',['FillTo',['../classLinker_1_1Writer.html#ac011de4c3e053ede67d0ce98bda2977c',1,'Linker::Writer']]], + ['findglobalsymbol_6',['FindGlobalSymbol',['../classLinker_1_1Module.html#a5aea788c1415f8976b83f5a52b562a32',1,'Linker::Module']]], + ['findlocalsymbol_7',['FindLocalSymbol',['../classLinker_1_1Module.html#a923aaeeedf3fcc23b0d5b72a6db7d638',1,'Linker::Module']]], + ['findsection_8',['FindSection',['../classLinker_1_1Module.html#a7169903a78039021c158c75287f11892',1,'Linker::Module']]], + ['finishcurrentsegment_9',['FinishCurrentSegment',['../classLinker_1_1LinkerManager.html#aa0a1b1554b4ff9b8b49306518fb3edd8',1,'Linker::LinkerManager']]], + ['formatis16bit_10',['FormatIs16bit',['../classBinary_1_1BinaryFormat.html#a010b248db427db178e4772757852dc64',1,'Binary::BinaryFormat::FormatIs16bit()'],['../classDOS16M_1_1BWFormat.html#aa8d383feed5c4e8502227d6fc8f9d39c',1,'DOS16M::BWFormat::FormatIs16bit()'],['../classDigitalResearch_1_1CPM86Format.html#a791c5babfe42adf6d44e55258c79bcb7',1,'DigitalResearch::CPM86Format::FormatIs16bit()'],['../classMINIX_1_1MINIXFormat.html#a4c7cc4597d24c12b99daa4796a83d377',1,'MINIX::MINIXFormat::FormatIs16bit()'],['../classMicrosoft_1_1MZFormat.html#acb4aef47fa12b0e185a49c0ce0740e40',1,'Microsoft::MZFormat::FormatIs16bit()'],['../classMicrosoft_1_1NEFormat.html#aa1cce598aeec7f574b6d82df75562749',1,'Microsoft::NEFormat::FormatIs16bit()'],['../classLinker_1_1OutputFormat.html#a8e6cfc4a9c2434536ab1b31e54f2c6f7',1,'Linker::OutputFormat::FormatIs16bit() const']]], + ['formatislinear_11',['FormatIsLinear',['../classLinker_1_1OutputFormat.html#a71bf1175595e1a2ab076f3e92d5233fb',1,'Linker::OutputFormat']]], + ['formatsupportslibraries_12',['FormatSupportsLibraries',['../classMicrosoft_1_1LEFormat.html#aefacaa5ae55554ebd1cd3ba13d67f521',1,'Microsoft::LEFormat::FormatSupportsLibraries()'],['../classMicrosoft_1_1NEFormat.html#addafeb4098ab2b0dc9b9b72ee2a1b7b7',1,'Microsoft::NEFormat::FormatSupportsLibraries()'],['../classLinker_1_1OutputFormat.html#a35ff0e5cd89f53d03a15e9e9c3260ad6',1,'Linker::OutputFormat::FormatSupportsLibraries()']]], + ['formatsupportsresources_13',['FormatSupportsResources',['../classApple_1_1AppleSingleDouble.html#a1511e96742a27fbdcb6b0a554628a91b',1,'Apple::AppleSingleDouble::FormatSupportsResources()'],['../classApple_1_1ResourceFork.html#aae55a4f1ec21ef570532b1f10ddeda07',1,'Apple::ResourceFork::FormatSupportsResources()'],['../classApple_1_1MacDriver.html#a4567bc5ac5e448ef7edf0bebc34bc42a',1,'Apple::MacDriver::FormatSupportsResources()'],['../classLinker_1_1OutputFormat.html#afd51a2eb946dc0ed9b9750e840bcd247',1,'Linker::OutputFormat::FormatSupportsResources()']]], + ['formatsupportssegmentation_14',['FormatSupportsSegmentation',['../classBinary_1_1BinaryFormat.html#a6e55c52d347946b43d01807e5f17a263',1,'Binary::BinaryFormat::FormatSupportsSegmentation()'],['../classDOS16M_1_1BWFormat.html#a73187385b2f11df0c3ac42a9869579f7',1,'DOS16M::BWFormat::FormatSupportsSegmentation()'],['../classDigitalResearch_1_1CPM86Format.html#ab959c7ed471304b0d73022a924eaca43',1,'DigitalResearch::CPM86Format::FormatSupportsSegmentation()'],['../classDigitalResearch_1_1CPM8KFormat.html#a019a1e548bfa70f9b96fcf6674a7a255',1,'DigitalResearch::CPM8KFormat::FormatSupportsSegmentation()'],['../classMicrosoft_1_1LEFormat.html#aae4d001b509ab1b9d534f09bb45dc132',1,'Microsoft::LEFormat::FormatSupportsSegmentation()'],['../classMicrosoft_1_1MZFormat.html#a6efdba1cb775c162adbdf7be87c2ff72',1,'Microsoft::MZFormat::FormatSupportsSegmentation()'],['../classMicrosoft_1_1NEFormat.html#a655726f8e8ebd89016120424cbf66439',1,'Microsoft::NEFormat::FormatSupportsSegmentation()'],['../classPharLap_1_1P3Format.html#a96dea43941291a7aec830cddb3f5f49b',1,'PharLap::P3Format::FormatSupportsSegmentation()'],['../classLinker_1_1OutputFormat.html#a0f64b63a2c6849c44a5642087698bfbf',1,'Linker::OutputFormat::FormatSupportsSegmentation()']]] +]; diff --git a/html/search/functions_6.js b/html/search/functions_6.js new file mode 100644 index 00000000..e5937d03 --- /dev/null +++ b/html/search/functions_6.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['generatefile_0',['GenerateFile',['../classAOut_1_1AOutFormat.html#aeb2dca4af06fc91eee3b0ec541a7c2e9',1,'AOut::AOutFormat::GenerateFile()'],['../classBinary_1_1BinaryFormat.html#af985aced3dbb5524755aa01f907ad3bb',1,'Binary::BinaryFormat::GenerateFile()'],['../classCOFF_1_1COFFFormat.html#aae1e7eea10ae2c9c17e25ad4aadecd2a',1,'COFF::COFFFormat::GenerateFile()'],['../classDigitalResearch_1_1CPM68KFormat.html#a00bef741b0e9e895d0dd3d97c4861cda',1,'DigitalResearch::CPM68KFormat::GenerateFile()'],['../classDigitalResearch_1_1CPM86Format.html#aa3d67ffa2d4e957a60668efeba32af33',1,'DigitalResearch::CPM86Format::GenerateFile()'],['../classDigitalResearch_1_1CPM8KFormat.html#a8e5d8a6501416701e4f560bf3cce1861',1,'DigitalResearch::CPM8KFormat::GenerateFile()'],['../classX68000_1_1HUFormat.html#a5fc2afa2deb6094eb859dfd5c867ea8c',1,'X68000::HUFormat::GenerateFile()'],['../classAmiga_1_1HunkFormat.html#a5b4b78743bdd53830e1956bcadceb3fe',1,'Amiga::HunkFormat::GenerateFile()'],['../classMicrosoft_1_1LEFormat.html#a492a8120c06116191530433b7e50e60c',1,'Microsoft::LEFormat::GenerateFile()'],['../classApple_1_1AppleSingleDouble.html#a621c7de1abb9db6ecd8612866fe7eaa6',1,'Apple::AppleSingleDouble::GenerateFile()'],['../classApple_1_1ResourceFork.html#a3a6a72c5d7707e6237c14f10b3588ac1',1,'Apple::ResourceFork::GenerateFile()'],['../classApple_1_1MacBinary.html#aaaecfa1a8afa5f8630a5460e95cd3142',1,'Apple::MacBinary::GenerateFile()'],['../classApple_1_1MacDriver.html#aea76e5ab16309d4abdf2d119044d5fdb',1,'Apple::MacDriver::GenerateFile()'],['../classMINIX_1_1MINIXFormat.html#acf17c17209c21db3524666df77dced27',1,'MINIX::MINIXFormat::GenerateFile()'],['../classMicrosoft_1_1MZFormat.html#a52e7121fe79598680874bae16a8640ae',1,'Microsoft::MZFormat::GenerateFile()'],['../classMicrosoft_1_1NEFormat.html#afa08577f8c91f95e46199f3a87c6e878',1,'Microsoft::NEFormat::GenerateFile()'],['../classLinker_1_1OutputFormat.html#a7f0a56b4e329c20bc92d8be1aba820d8',1,'Linker::OutputFormat::GenerateFile()']]], + ['getbyte_1',['GetByte',['../classLinker_1_1Buffer.html#afa37ec81b00582464e8d65475582947a',1,'Linker::Buffer::GetByte()'],['../classLinker_1_1Section.html#aa5471535dccc7d3efc5839a70e7a4151',1,'Linker::Section::GetByte()'],['../classLinker_1_1Segment.html#acd14f099a6de3050add9c2d492aa7ac0',1,'Linker::Segment::GetByte()'],['../classLinker_1_1Writable.html#a65ddff0c88316f30d86bf90af61d4b6b',1,'Linker::Writable::GetByte()']]], + ['getcurrentaddress_2',['GetCurrentAddress',['../classLinker_1_1LinkerManager.html#a34bb86e85d02e21083be3feac1c87389',1,'Linker::LinkerManager']]], + ['getdefaultextension_3',['GetDefaultExtension',['../classBinary_1_1CommodoreFormat.html#a17b972e5363bc10c9714a0c9ba19a4c8',1,'Binary::CommodoreFormat::GetDefaultExtension()'],['../classBinary_1_1FLEXFormat.html#aca98ef979c96bbabb3e9e27511585065',1,'Binary::FLEXFormat::GetDefaultExtension()'],['../classBinary_1_1UZIFormat.html#a948a433a397691ff40119255747276bb',1,'Binary::UZIFormat::GetDefaultExtension()'],['../classBinary_1_1UZI280Format.html#a3848b5d61148f24f1005cf84f75f8c8f',1,'Binary::UZI280Format::GetDefaultExtension()'],['../classAOut_1_1AOutFormat.html#a996500d4592ef3fa0b7eed7b1ecb4c98',1,'AOut::AOutFormat::GetDefaultExtension(Linker::Module &module, std::string filename) override'],['../classAOut_1_1AOutFormat.html#aa850fe3c8282e4c953596c245bc10e99',1,'AOut::AOutFormat::GetDefaultExtension(Linker::Module &module) override'],['../classBinary_1_1BinaryFormat.html#a56b8efa3e41725456f273b286c45b731',1,'Binary::BinaryFormat::GetDefaultExtension()'],['../classDOS16M_1_1BWFormat.html#a3517416b7a83931af9814b7995ef16ab',1,'DOS16M::BWFormat::GetDefaultExtension()'],['../classCOFF_1_1COFFFormat.html#a10491116bef347e0cdc0bd58678d885b',1,'COFF::COFFFormat::GetDefaultExtension()'],['../classDigitalResearch_1_1CPM68KFormat.html#a242f6577406d004df0c6c52550cc8c18',1,'DigitalResearch::CPM68KFormat::GetDefaultExtension()'],['../classDigitalResearch_1_1CPM86Format.html#a5530bb8b81d7b13704707c2dee84b958',1,'DigitalResearch::CPM86Format::GetDefaultExtension()'],['../classDigitalResearch_1_1CPM8KFormat.html#a6071ffceb09e3641b46ee5553c768610',1,'DigitalResearch::CPM8KFormat::GetDefaultExtension()'],['../classGEOS_1_1GeodeFormat.html#ac2ce05fdb30d86de7b155299c71b2ccb',1,'GEOS::GeodeFormat::GetDefaultExtension()'],['../classX68000_1_1HUFormat.html#ac883d13a2dfeecb980823d21ced0cef5',1,'X68000::HUFormat::GetDefaultExtension()'],['../classAmiga_1_1HunkFormat.html#a22c05d93a314549136035582b74842fe',1,'Amiga::HunkFormat::GetDefaultExtension()'],['../classMicrosoft_1_1LEFormat.html#a365b4c60469beed140bf341f8921b7c8',1,'Microsoft::LEFormat::GetDefaultExtension()'],['../classApple_1_1AppleSingleDouble.html#a62c6cb7d90a8bf0b9f06041ef2435734',1,'Apple::AppleSingleDouble::GetDefaultExtension()'],['../classApple_1_1ResourceFork.html#ac6ba26e7db0bf01fa45754594fce7db2',1,'Apple::ResourceFork::GetDefaultExtension()'],['../classMINIX_1_1MINIXFormat.html#ac669f0002ca757ad94315f7d8c62f298',1,'MINIX::MINIXFormat::GetDefaultExtension()'],['../classMicrosoft_1_1MZFormat.html#a0e666b67caa97043ab81f657c30484bc',1,'Microsoft::MZFormat::GetDefaultExtension()'],['../classMicrosoft_1_1NEFormat.html#a3f28d65c0d61b0d25e07768edf547a81',1,'Microsoft::NEFormat::GetDefaultExtension()'],['../classMicrosoft_1_1PEFormat.html#a8b609d7561d690315c866c196739ed17',1,'Microsoft::PEFormat::GetDefaultExtension()'],['../classPharLap_1_1MPFormat.html#ab713ade15c665377ce3e1e8688a17af6',1,'PharLap::MPFormat::GetDefaultExtension()'],['../classPharLap_1_1P3Format.html#abd7ca40d033d4d2447739fda021625d2',1,'PharLap::P3Format::GetDefaultExtension()'],['../classPMODE_1_1PMW1Format.html#a8248000807259c9a295ed0717eaf20b4',1,'PMODE::PMW1Format::GetDefaultExtension()'],['../classErgo_1_1XPFormat.html#ae166664f87546d62348b1c4198ebdd22',1,'Ergo::XPFormat::GetDefaultExtension()'],['../classLinker_1_1OutputFormat.html#ad3db971f3bccdc2d3b6bb4f0366cd108',1,'Linker::OutputFormat::GetDefaultExtension(Linker::Module &module, std::string filename)'],['../classLinker_1_1OutputFormat.html#a451daf1a2db1498a4bc70ef11b89b16e',1,'Linker::OutputFormat::GetDefaultExtension(Linker::Module &module)'],['../classBinary_1_1UZIFormat.html#a56b8efa3e41725456f273b286c45b731',1,'Binary::UZIFormat::GetDefaultExtension()'],['../classBinary_1_1UZI280Format.html#a56b8efa3e41725456f273b286c45b731',1,'Binary::UZI280Format::GetDefaultExtension()']]], + ['getdefaultmagic_4',['GetDefaultMagic',['../classAOut_1_1AOutFormat.html#ab38bee6d4299b0005cad181172ede2c3',1,'AOut::AOutFormat']]], + ['getendaddress_5',['GetEndAddress',['../classLinker_1_1Segment.html#a28e63b04119f271f20cf6ab37e5b0e26',1,'Linker::Segment']]], + ['getendiantype_6',['GetEndianType',['../classCOFF_1_1COFFFormat.html#adaa0fa725409722202ba7ff237fbe38a',1,'COFF::COFFFormat']]], + ['getexportedbyname_7',['GetExportedByName',['../classLinker_1_1ExportedSymbol.html#a4859410af635e2922cec134a55fdd2be',1,'Linker::ExportedSymbol::GetExportedByName(std::string &result) const'],['../classLinker_1_1ExportedSymbol.html#a460de336af8f86472b34673c32c804f5',1,'Linker::ExportedSymbol::GetExportedByName(std::string &result, uint16_t &hint) const']]], + ['getexportedbyordinal_8',['GetExportedByOrdinal',['../classLinker_1_1ExportedSymbol.html#ac373e5a8ad41f62ccd6dab995d100792',1,'Linker::ExportedSymbol::GetExportedByOrdinal(uint16_t &result) const'],['../classLinker_1_1ExportedSymbol.html#aa653a6ca4598e1d5b8458d9a7df0e75d',1,'Linker::ExportedSymbol::GetExportedByOrdinal(uint16_t &result, std::string &result_name) const']]], + ['getexportedsymbols_9',['GetExportedSymbols',['../classLinker_1_1Module.html#adc56c99c571d11400079fbdaab700cf8',1,'Linker::Module']]], + ['getimportedname_10',['GetImportedName',['../classLinker_1_1SymbolName.html#ae5ec30f1e4a365e1be6536a2c7d885ab',1,'Linker::SymbolName::GetImportedName(std::string &result_library, std::string &result_name) const'],['../classLinker_1_1SymbolName.html#a948752b8118e9be6c4f383244a4fd6f6',1,'Linker::SymbolName::GetImportedName(std::string &result_library, std::string &result_name, uint16_t &result_hint) const']]], + ['getimportedordinal_11',['GetImportedOrdinal',['../classLinker_1_1SymbolName.html#a08e3e260a9eaa29833cd1c9989a5617d',1,'Linker::SymbolName']]], + ['getimportedsymbols_12',['GetImportedSymbols',['../classLinker_1_1Module.html#a0d4a9688ee77875de9961e868590e321',1,'Linker::Module']]], + ['getlocalname_13',['GetLocalName',['../classLinker_1_1SymbolName.html#a5748b0fed36447c9c139f0c384acc3fa',1,'Linker::SymbolName']]], + ['getposition_14',['GetPosition',['../classLinker_1_1Location.html#a9758ca1f765ad78c05272d801c7af2af',1,'Linker::Location']]], + ['getscript_15',['GetScript',['../classLinker_1_1LinkerManager.html#aba6595fd0528b2f46aac4d364ac60466',1,'Linker::LinkerManager']]], + ['getsegment_16',['GetSegment',['../classCOFF_1_1COFFFormat.html#a63ed7fc7fcb78d04be806a3d184df3d5',1,'COFF::COFFFormat::GetSegment()'],['../classLinker_1_1Target.html#a53e62c6b146716463d8ca912aef35093',1,'Linker::Target::GetSegment()']]], + ['getsegmentoffset_17',['GetSegmentOffset',['../classLinker_1_1Position.html#a56171007637a4a5c1b05e6addaef839f',1,'Linker::Position']]], + ['getsize_18',['GetSize',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a7a2d1c115033e43f657e67d834804cbd',1,'DOS16M::BWFormat::AbstractSegment::GetSize()'],['../classDOS16M_1_1BWFormat_1_1Segment.html#a20943ba6504963ce4fa54b6ca1601a2e',1,'DOS16M::BWFormat::Segment::GetSize()'],['../classDOS16M_1_1BWFormat_1_1DummySegment.html#a4425e472432ac35be7312b45b47e017b',1,'DOS16M::BWFormat::DummySegment::GetSize()'],['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html#a74795a54507bb439224391a26eff963b',1,'DOS16M::BWFormat::RelocationSegment::GetSize()'],['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html#a6c982db9de1f52cc87c2b0a1f51dc894',1,'COFF::COFFFormat::OptionalHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1UnknownOptionalHeader.html#a4546ecab891b8d99ea33d2cc7e844ac3',1,'COFF::COFFFormat::UnknownOptionalHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1AOutHeader.html#a8df0e070d04fcbe3f18282e24ac2b9e3',1,'COFF::COFFFormat::AOutHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#a4cd88c18fa8c0d2c82a7e8012888cb8c',1,'COFF::COFFFormat::FlexOSAOutHeader::GetSize()'],['../classCOFF_1_1COFFFormat_1_1GNUAOutHeader.html#ae370975d784e4a4a0110583bb4d76572',1,'COFF::COFFFormat::GNUAOutHeader::GetSize()']]], + ['getsizeparas_19',['GetSizeParas',['../classDigitalResearch_1_1CPM86Format_1_1Descriptor.html#aac8e78d8db3ab63e82cf4f28554ab9d6',1,'DigitalResearch::CPM86Format::Descriptor::GetSizeParas()'],['../classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html#a3904a4cd39972c6576d06630851c5667',1,'DigitalResearch::CPM86Format::LibraryDescriptor::GetSizeParas()'],['../classDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor.html#a5d2daaf7bd73b9ab6d2a4a77b7281b67',1,'DigitalResearch::CPM86Format::FastLoadDescriptor::GetSizeParas()']]], + ['getstartaddress_20',['GetStartAddress',['../classLinker_1_1Segment.html#aeb9e255e8bf3eeddb6e041cabca2540f',1,'Linker::Segment']]], + ['gettotalsize_21',['GetTotalSize',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a64f74ccf5f36149e6bdbabcd9c52aed1',1,'DOS16M::BWFormat::AbstractSegment']]] +]; diff --git a/html/search/functions_7.js b/html/search/functions_7.js new file mode 100644 index 00000000..b6ad8041 --- /dev/null +++ b/html/search/functions_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['initialize_0',['Initialize',['../classBinary_1_1CPM3Format.html#a5bf833db3745afb98f3bec696a66d5a3',1,'Binary::CPM3Format::Initialize()'],['../classBinary_1_1BinaryFormat.html#aa78f5b256332d8b6dfba37c58d2d9ccf',1,'Binary::BinaryFormat::Initialize()'],['../classCOFF_1_1COFFFormat.html#a05766481f97f8652e088ff869717f01e',1,'COFF::COFFFormat::Initialize()'],['../classDigitalResearch_1_1CPM68KFormat.html#a1573cb866e0ce426d31cebf7059088b3',1,'DigitalResearch::CPM68KFormat::Initialize()'],['../classDigitalResearch_1_1CPM86Format.html#a295f84f398b6d8bd0fa18a7b5a90e44e',1,'DigitalResearch::CPM86Format::Initialize()'],['../classDigitalResearch_1_1CPM8KFormat.html#a211a162c9c14a034c3315f8d51fc6d75',1,'DigitalResearch::CPM8KFormat::Initialize()'],['../classMicrosoft_1_1MZFormat.html#a0df0e6c07173252c18a019f37ae1a38d',1,'Microsoft::MZFormat::Initialize()'],['../classLinker_1_1Format.html#a6c58e46519edff50e69764eed29f644d',1,'Linker::Format::Initialize()']]], + ['isfastloadformat_1',['IsFastLoadFormat',['../classDigitalResearch_1_1CPM86Format_1_1LibraryDescriptor.html#a6a1e6915c06a74f5b0a41227bd4c15b9',1,'DigitalResearch::CPM86Format::LibraryDescriptor']]], + ['ismissing_2',['IsMissing',['../classDumper_1_1Display.html#a86e7fa92f5200f65d9c56ff579ea9594',1,'Dumper::Display::IsMissing()'],['../classLinker_1_1Segment.html#ac6a54fa3ebb99e2d982270cb67b3f274',1,'Linker::Segment::IsMissing()']]], + ['isrelative_3',['IsRelative',['../classLinker_1_1Relocation.html#ad31cfab7377ed147069785e88b2c96aa',1,'Linker::Relocation']]] +]; diff --git a/html/search/functions_8.js b/html/search/functions_8.js new file mode 100644 index 00000000..e123d52f --- /dev/null +++ b/html/search/functions_8.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['link_0',['Link',['../classMicrosoft_1_1MZFormat.html#a510b6d6309a9f14261ebb73a1c9d2512',1,'Microsoft::MZFormat']]], + ['loadlibraryname_1',['LoadLibraryName',['../classLinker_1_1SymbolName.html#adfcb41f833acfa11cfec3d752c6713cd',1,'Linker::SymbolName']]], + ['loadname_2',['LoadName',['../classLinker_1_1SymbolName.html#a5d843b215931ce91d0b058407cd829ae',1,'Linker::SymbolName::LoadName()'],['../classLinker_1_1ExportedSymbol.html#a99c9f8f7bcc446521bbf43fcf96d4b0f',1,'Linker::ExportedSymbol::LoadName()']]], + ['loadordinalorhint_3',['LoadOrdinalOrHint',['../classLinker_1_1SymbolName.html#aba884bef7536a6c1a359d7c797155342',1,'Linker::SymbolName::LoadOrdinalOrHint()'],['../classLinker_1_1ExportedSymbol.html#a9d9d717e43fe2020dacca712141cabc1',1,'Linker::ExportedSymbol::LoadOrdinalOrHint()']]], + ['location_4',['Location',['../classLinker_1_1Location.html#a1a7380b1e3dfa72d673eb3918c3f30b7',1,'Linker::Location::Location(Section *section, offset_t offset=0)'],['../classLinker_1_1Location.html#a82950ae093d0c4b056c165a85cb44e3f',1,'Linker::Location::Location(offset_t offset=0)']]], + ['lookup_5',['Lookup',['../classLinker_1_1Target.html#af430c6f4ac6d6dea47338dac7011e7cc',1,'Linker::Target']]] +]; diff --git a/html/search/functions_9.js b/html/search/functions_9.js new file mode 100644 index 00000000..3d120c58 --- /dev/null +++ b/html/search/functions_9.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['offset_0',['Offset',['../classLinker_1_1Relocation.html#a4407a27508fe3cc7a6315a44994d1cc2',1,'Linker::Relocation::Offset(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#acb1903efffda06e377c6bbe9cafa0609',1,'Linker::Relocation::Offset(size_t size, Location source, Target target, uint64_t addend=0)']]], + ['offsetfrom_1',['OffsetFrom',['../classLinker_1_1Relocation.html#ab1c277444f6f8b86162d523fc84b1554',1,'Linker::Relocation::OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#a0f1364079d76f4cda400181e188cc084',1,'Linker::Relocation::OffsetFrom(size_t size, Location source, Target target, Target reference, uint64_t addend=0)']]], + ['onnewsegment_2',['OnNewSegment',['../classBinary_1_1AtariFormat.html#a38797034a1a3d035a928c2108e401b4a',1,'Binary::AtariFormat::OnNewSegment()'],['../classBinary_1_1FLEXFormat.html#a69864d591fe0e9a1b3b920e70c7db0d2',1,'Binary::FLEXFormat::OnNewSegment()'],['../classBinary_1_1PRLFormat.html#a19d18a89786bf3749e2e749924ab3b2c',1,'Binary::PRLFormat::OnNewSegment()'],['../classBinary_1_1UZI280Format.html#a0f7e5560ec84dedd9522d57603f0bff2',1,'Binary::UZI280Format::OnNewSegment()'],['../classAOut_1_1AOutFormat.html#a6c8f21ca6add3d123b0ee39aefd98ca6',1,'AOut::AOutFormat::OnNewSegment()'],['../classBinary_1_1BinaryFormat.html#ac0f4435b37b7060465169e7bd9362da5',1,'Binary::BinaryFormat::OnNewSegment()'],['../classDOS16M_1_1BWFormat.html#a3c2b5119c8831e1e3aa5e52952ee1082',1,'DOS16M::BWFormat::OnNewSegment()'],['../classCOFF_1_1COFFFormat.html#ad3dd132cdab03a545c48267b73ddcaa4',1,'COFF::COFFFormat::OnNewSegment()'],['../classDigitalResearch_1_1CPM68KFormat.html#aa9238a504c2cb8f5e34a19170d703c1f',1,'DigitalResearch::CPM68KFormat::OnNewSegment()'],['../classDigitalResearch_1_1CPM8KFormat.html#a9189caaf9597a30ba0535f5235b5be94',1,'DigitalResearch::CPM8KFormat::OnNewSegment()'],['../classX68000_1_1HUFormat.html#ac4a60872fc71f5a0bf583e1bbcf222ad',1,'X68000::HUFormat::OnNewSegment()'],['../classAmiga_1_1HunkFormat.html#af186f0dd87dc7976dacabb41837b7c0b',1,'Amiga::HunkFormat::OnNewSegment()'],['../classMicrosoft_1_1LEFormat.html#a9320e434ebe4111389bad0935630d779',1,'Microsoft::LEFormat::OnNewSegment()'],['../classApple_1_1ResourceFork.html#ada0c0c8828a457d6e1c5a06ed612b4a4',1,'Apple::ResourceFork::OnNewSegment()'],['../classMINIX_1_1MINIXFormat.html#a98d0cfc391b83f53fb691bc66a62d392',1,'MINIX::MINIXFormat::OnNewSegment()'],['../classMicrosoft_1_1MZFormat.html#afa0b1127d28dd5fa1648a83fb43179b6',1,'Microsoft::MZFormat::OnNewSegment()'],['../classMicrosoft_1_1NEFormat.html#aca8f3be52d106a9a7c1164e8a68597d7',1,'Microsoft::NEFormat::OnNewSegment()'],['../classPharLap_1_1MPFormat.html#a3de080158ea6605be327284ce73b9ad1',1,'PharLap::MPFormat::OnNewSegment()'],['../classPharLap_1_1P3Format_1_1Flat.html#a1fcf5a52ef60b57b0b21bfafa7203cce',1,'PharLap::P3Format::Flat::OnNewSegment()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#a9837df407d3cc958af2d253b8d287067',1,'PharLap::P3Format::MultiSegmented::OnNewSegment()'],['../classLinker_1_1LinkerManager.html#a042e3111f536030659635482f65ad28a',1,'Linker::LinkerManager::OnNewSegment()']]], + ['operator_21_3d_3',['operator!=',['../classLinker_1_1SymbolName.html#a15d71d6d8b0be64f3e28412859d254b7',1,'Linker::SymbolName::operator!=()'],['../classLinker_1_1ExportedSymbol.html#a579b3b21771a55dadbb765d4dc69a31f',1,'Linker::ExportedSymbol::operator!=()']]], + ['operator_2b_3d_4',['operator+=',['../classLinker_1_1Position.html#ad751a394f71ddbd74bd071885aa6fdbd',1,'Linker::Position']]], + ['operator_2d_3d_5',['operator-=',['../classLinker_1_1Position.html#aaba27c80cda33644b239a3bea01a4cc2',1,'Linker::Position']]], + ['operator_3c_6',['operator<',['../classLinker_1_1ExportedSymbol.html#a4306df9ff6cdc8241709947407bc8627',1,'Linker::ExportedSymbol']]], + ['operator_3c_3d_7',['operator<=',['../classLinker_1_1ExportedSymbol.html#a68e80ed7a3e77810ae675341fbd0e03e',1,'Linker::ExportedSymbol']]], + ['operator_3d_3d_8',['operator==',['../classLinker_1_1SymbolName.html#afee6804e76ddec4fa10646c1d963b174',1,'Linker::SymbolName::operator==()'],['../classLinker_1_1ExportedSymbol.html#af0e20520bc9bd8c01743456e68b9c723',1,'Linker::ExportedSymbol::operator==(const ExportedSymbol &other) const']]], + ['operator_3e_9',['operator>',['../classLinker_1_1ExportedSymbol.html#a3381e59ff0cee6adab8af5e98a85e44d',1,'Linker::ExportedSymbol']]], + ['operator_3e_3d_10',['operator>=',['../classLinker_1_1ExportedSymbol.html#a5480954b5a5e2c7a9c5d6a680c7dd4f7',1,'Linker::ExportedSymbol']]] +]; diff --git a/html/search/functions_a.js b/html/search/functions_a.js new file mode 100644 index 00000000..157f62ec --- /dev/null +++ b/html/search/functions_a.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['paragraph_0',['Paragraph',['../classLinker_1_1Relocation.html#a04a671196fe896c497f18eb95cb7fed1',1,'Linker::Relocation']]], + ['paragraphdifference_1',['ParagraphDifference',['../classLinker_1_1Relocation.html#a6462f258ad6f126bc1e0397ff2f82d27',1,'Linker::Relocation']]], + ['postreadfile_2',['PostReadFile',['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html#a9a62da5a8e339d05035eaf22d2296241',1,'COFF::COFFFormat::OptionalHeader::PostReadFile()'],['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#a71a0a2a89dd45195a27beff8cf2d7728',1,'COFF::COFFFormat::FlexOSAOutHeader::PostReadFile()']]], + ['postwritefile_3',['PostWriteFile',['../classCOFF_1_1COFFFormat_1_1OptionalHeader.html#a299f440ad2bf55366dca6a25fc7450bc',1,'COFF::COFFFormat::OptionalHeader::PostWriteFile()'],['../classCOFF_1_1COFFFormat_1_1FlexOSAOutHeader.html#a39185f6d2595df5c1ad0dc7e1a409493',1,'COFF::COFFFormat::FlexOSAOutHeader::PostWriteFile()']]], + ['printdec_4',['PrintDec',['../classDumper_1_1Dumper.html#a9127b08f323f8f942587f601f61b2ce6',1,'Dumper::Dumper']]], + ['printhex_5',['PrintHex',['../classDumper_1_1Dumper.html#a5bbe1f1167e547ae15e0be50fb22f64f',1,'Dumper::Dumper']]], + ['processmodule_6',['ProcessModule',['../classBinary_1_1AtariFormat.html#ad99743036f489514006642c6a7e6c458',1,'Binary::AtariFormat::ProcessModule()'],['../classBinary_1_1CommodoreFormat.html#a3c102f06f6071749e7ec1a05db3158dd',1,'Binary::CommodoreFormat::ProcessModule()'],['../classBinary_1_1UZIFormat.html#ad7b8c0f4e78c264cc888043db4a6c34b',1,'Binary::UZIFormat::ProcessModule()'],['../classAOut_1_1AOutFormat.html#ab5bea1d84db8cfeebad9fbfb807f6af7',1,'AOut::AOutFormat::ProcessModule()'],['../classBinary_1_1BinaryFormat.html#a66f83cae99d2a72735f914a763f8ba9f',1,'Binary::BinaryFormat::ProcessModule()'],['../classDOS16M_1_1BWFormat.html#abbe31d54db62342fedf965a72420c680',1,'DOS16M::BWFormat::ProcessModule()'],['../classCOFF_1_1COFFFormat.html#ad6e72adc262e5910df2cfc675755f430',1,'COFF::COFFFormat::ProcessModule()'],['../classDigitalResearch_1_1CPM68KFormat.html#ad4207cf0fab6b484032c57d0038b794b',1,'DigitalResearch::CPM68KFormat::ProcessModule()'],['../classDigitalResearch_1_1CPM86Format.html#a25c41738814b891d57274f5371b25c4f',1,'DigitalResearch::CPM86Format::ProcessModule()'],['../classDigitalResearch_1_1CPM8KFormat.html#acf42701b3e0770da961597ec0994bf59',1,'DigitalResearch::CPM8KFormat::ProcessModule()'],['../classX68000_1_1HUFormat.html#a077c76309ab78cb84a34c3eaa7c705d5',1,'X68000::HUFormat::ProcessModule()'],['../classAmiga_1_1HunkFormat.html#a10585d5dbd06a323fa8b52a5b19480e4',1,'Amiga::HunkFormat::ProcessModule()'],['../classMicrosoft_1_1LEFormat.html#aaebe52a538fa5e732e7430a98bf285f0',1,'Microsoft::LEFormat::ProcessModule()'],['../classApple_1_1AppleSingleDouble.html#a5ff371b8a4200b5a3511b49310f17c4a',1,'Apple::AppleSingleDouble::ProcessModule()'],['../classApple_1_1ResourceFork_1_1GenericResource.html#a7303e0680f70d5fd3e8e3f56ea7a3caa',1,'Apple::ResourceFork::GenericResource::ProcessModule()'],['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html#a7bcaaf685f04019bd728999eca4a2090',1,'Apple::ResourceFork::JumpTableCodeResource::ProcessModule()'],['../classApple_1_1ResourceFork_1_1CodeResource.html#a1ec4dfd31e760718d3a7490bc9dcb221',1,'Apple::ResourceFork::CodeResource::ProcessModule()'],['../classMINIX_1_1MINIXFormat.html#a3e07151724b42f7b720d8f962b8ce520',1,'MINIX::MINIXFormat::ProcessModule()'],['../classMicrosoft_1_1MZFormat.html#afabb348a27e595170b8ccf9a8b3ff197',1,'Microsoft::MZFormat::ProcessModule()'],['../classMicrosoft_1_1NEFormat.html#afa8dd720f2f63991cb5d3daa07346c45',1,'Microsoft::NEFormat::ProcessModule()'],['../classPharLap_1_1MPFormat.html#acd49e88b77e48274108aa21ccab58517',1,'PharLap::MPFormat::ProcessModule()'],['../classPharLap_1_1P3Format_1_1Flat.html#afd68e3988d8da3bd2f25c97e56d9ddc7',1,'PharLap::P3Format::Flat::ProcessModule()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#a4db8e384678f3da2eb2bc82e62af1f1f',1,'PharLap::P3Format::MultiSegmented::ProcessModule()'],['../classLinker_1_1OutputFormat.html#a264c8d1ecae5c2cd5d20678d4479567f',1,'Linker::OutputFormat::ProcessModule()']]], + ['processrelocation_7',['ProcessRelocation',['../classBinary_1_1PRLFormat.html#a6cf83f27a7a7f2cc67a935a010be86cc',1,'Binary::PRLFormat::ProcessRelocation()'],['../classBinary_1_1BinaryFormat.html#a93bf5aa551ba5572b24ba6d565d4213d',1,'Binary::BinaryFormat::ProcessRelocation()']]], + ['processscript_8',['ProcessScript',['../classLinker_1_1LinkerManager.html#a78436685f5eb510f136a40c0722f53f0',1,'Linker::LinkerManager']]], + ['producemodule_9',['ProduceModule',['../classAOut_1_1AOutFormat.html#a0323a0b83974707ef47894364c211d7d',1,'AOut::AOutFormat::ProduceModule()'],['../classAS86Obj_1_1AS86ObjFormat.html#a053cb4076029477f441d322af61383a4',1,'AS86Obj::AS86ObjFormat::ProduceModule()'],['../classCOFF_1_1COFFFormat.html#a4c4ce3924c5e57d3427fe4aa667474f4',1,'COFF::COFFFormat::ProduceModule()'],['../classELF_1_1ELFFormat.html#aeb5460f1f1a717f45d2ae52b98a8b925',1,'ELF::ELFFormat::ProduceModule()'],['../classO65_1_1O65Format.html#ab51cae36f93e26d75e63b086379238cf',1,'O65::O65Format::ProduceModule()'],['../classOMF_1_1OMFFormat.html#a3045b8b01b76cd6e485aefb65ee5a3cb',1,'OMF::OMFFormat::ProduceModule()'],['../classLinker_1_1InputFormat.html#a58bcbddd1c00b23b581c8bf55e65c8dc',1,'Linker::InputFormat::ProduceModule()']]], + ['putchar_10',['PutChar',['../classDumper_1_1Dumper.html#ad70bd979bbe1b63554ddec79eb14d942',1,'Dumper::Dumper']]] +]; diff --git a/html/search/functions_b.js b/html/search/functions_b.js new file mode 100644 index 00000000..a3e47f48 --- /dev/null +++ b/html/search/functions_b.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['readasciiz_0',['ReadASCIIZ',['../classLinker_1_1Reader.html#af45e79ab2bb29815127acbb4082056cf',1,'Linker::Reader']]], + ['readdata_1',['ReadData',['../classLinker_1_1Reader.html#ab9a7925fcebb6d17538e16d39292267f',1,'Linker::Reader::ReadData(size_t count, void *data)'],['../classLinker_1_1Reader.html#a3418c22962f0b1fab791279ac03341f6',1,'Linker::Reader::ReadData(size_t count, bool terminate_at_null=false)']]], + ['readfile_2',['ReadFile',['../classBinary_1_1AppleFormat.html#abf003455fbb57696c6b283c81081b8d2',1,'Binary::AppleFormat::ReadFile()'],['../classBinary_1_1AtariFormat.html#a3dea68d956349900fd7b1bcc55735347',1,'Binary::AtariFormat::ReadFile()'],['../classBinary_1_1CPM3Format.html#a42dec76ab0c22a30b591f679e6bc9550',1,'Binary::CPM3Format::ReadFile()'],['../classAOut_1_1AOutFormat.html#aeaf8a3d71f995d4c83b6451d234628c1',1,'AOut::AOutFormat::ReadFile()'],['../classAS86Obj_1_1AS86ObjFormat.html#a56b0f7014cd95b8c3d28afacc1fad7ff',1,'AS86Obj::AS86ObjFormat::ReadFile()'],['../classBinary_1_1BinaryFormat.html#afb80efcfba66019b9edf44e3633524be',1,'Binary::BinaryFormat::ReadFile()'],['../classDOS16M_1_1BWFormat.html#ab230559789c0d07d3d09598fa17e9958',1,'DOS16M::BWFormat::ReadFile()'],['../classCOFF_1_1COFFFormat.html#aab8530040f5357e86cecd607605816ba',1,'COFF::COFFFormat::ReadFile()'],['../classDigitalResearch_1_1CPM68KFormat.html#ad9c349c889f6ee6f7e6b4f60a82f41b6',1,'DigitalResearch::CPM68KFormat::ReadFile()'],['../classDigitalResearch_1_1CPM86Format.html#a45b61af50486ac7916c122d832f1f46a',1,'DigitalResearch::CPM86Format::ReadFile()'],['../classDigitalResearch_1_1CPM8KFormat.html#a73dc21b4399d041f4588ad360b9f0627',1,'DigitalResearch::CPM8KFormat::ReadFile()'],['../classSeychellDOS32_1_1AdamFormat.html#aef26372584b30c2d1407a2d7152c2664',1,'SeychellDOS32::AdamFormat::ReadFile()'],['../classBrocaD3X_1_1D3X1Format.html#a40328852e56220241a6d18a86bd0e405',1,'BrocaD3X::D3X1Format::ReadFile()'],['../classDX64_1_1FlatFormat.html#afcd54e322770df5311f8fb2e55cd7804',1,'DX64::FlatFormat::ReadFile()'],['../classDX64_1_1LVFormat.html#aad0894e46545362697dd39a686b2dfe1',1,'DX64::LVFormat::ReadFile()'],['../classELF_1_1ELFFormat.html#a33bdfe43c4c823ed04849a64690c57e9',1,'ELF::ELFFormat::ReadFile()'],['../classGEOS_1_1GeodeFormat.html#ac5bcd075e633955ac7f23b68f20fcfe2',1,'GEOS::GeodeFormat::ReadFile()'],['../classApple_1_1OMFFormat.html#abba19c4b32dfb1215575a227182c1617',1,'Apple::OMFFormat::ReadFile()'],['../classX68000_1_1HUFormat.html#abe87eb82330832155d2e4f367ce9ed39',1,'X68000::HUFormat::ReadFile()'],['../classAmiga_1_1HunkFormat.html#ad0064009205799eadf0d1a0fd6eecc63',1,'Amiga::HunkFormat::ReadFile()'],['../classMicrosoft_1_1LEFormat.html#a769f6eef63c333e5da0cb6d16c30e428',1,'Microsoft::LEFormat::ReadFile()'],['../classMachO_1_1MachOFormat.html#aa4f3382726cace72f9d02f929b0c6f59',1,'MachO::MachOFormat::ReadFile()'],['../classApple_1_1AppleSingleDouble.html#a25c0ab4dd291319937018d3ce84421db',1,'Apple::AppleSingleDouble::ReadFile()'],['../classApple_1_1AppleSingleDouble_1_1Entry.html#a0c165886c9df4157d0a83d0a360fcbf7',1,'Apple::AppleSingleDouble::Entry::ReadFile()'],['../classApple_1_1ResourceFork_1_1Resource.html#a789efe3d7cbc573f048cfebf302923e0',1,'Apple::ResourceFork::Resource::ReadFile()'],['../classApple_1_1MacDriver.html#a0995a75c004f9f99c6ad0a191768e34c',1,'Apple::MacDriver::ReadFile()'],['../classMINIX_1_1MINIXFormat.html#a38c43f66c9c4cb4687abcd304699f373',1,'MINIX::MINIXFormat::ReadFile()'],['../classMicrosoft_1_1MZFormat.html#a3b74f4517a1e84a8a504f72d883fb224',1,'Microsoft::MZFormat::ReadFile()'],['../classMicrosoft_1_1NEFormat.html#ab2eaeaddbbde85f9c25c4b4dcbd2b567',1,'Microsoft::NEFormat::ReadFile()'],['../classO65_1_1O65Format.html#a09cda60a374b9635f9adefee95c9c6fb',1,'O65::O65Format::ReadFile()'],['../classOMF_1_1OMFFormat.html#a0f50bc777c60a44194eb78733e8b262d',1,'OMF::OMFFormat::ReadFile()'],['../classMicrosoft_1_1PEFormat.html#aa93e7c752954377cb2b64a3ee9dfacac',1,'Microsoft::PEFormat::ReadFile()'],['../classApple_1_1PEFFormat.html#ac2afe6e4739d901bf05310a513b9ce29',1,'Apple::PEFFormat::ReadFile()'],['../classPharLap_1_1MPFormat.html#a4723a4d88cf26e49e0f11b79944441bf',1,'PharLap::MPFormat::ReadFile()'],['../classPharLap_1_1P3Format.html#a2903dd38d0d535cb2570f8ae2efa6682',1,'PharLap::P3Format::ReadFile()'],['../classPMODE_1_1PMW1Format.html#ac8cb61eab6efcd790875692636545952',1,'PMODE::PMW1Format::ReadFile()'],['../classXenix_1_1BOutFormat.html#a6ff3882f42096abef305557ccc49bb22',1,'Xenix::BOutFormat::ReadFile()'],['../classXenix_1_1XOutFormat.html#a11f07f3e05658c2f9ac5e59712cabeef',1,'Xenix::XOutFormat::ReadFile()'],['../classErgo_1_1XPFormat.html#acc2ad9b8ae6cbfcd67640b5f4c92595d',1,'Ergo::XPFormat::ReadFile()'],['../classLinker_1_1Format.html#a84465b0adcb1d902012cf290c3b74d38',1,'Linker::Format::ReadFile()'],['../classLinker_1_1Section.html#a2a9af840b8126ed8e25c148482f5ea72',1,'Linker::Section::ReadFile(std::istream &in)'],['../classLinker_1_1Section.html#af7ef665717a68f8340672730ab6f0729',1,'Linker::Section::ReadFile(Reader &in)']]], + ['readsigned_3',['ReadSigned',['../classLinker_1_1Reader.html#a5af1a6baa17eac46bd912b3c7e77f474',1,'Linker::Reader::ReadSigned(size_t bytes, EndianType endiantype)'],['../classLinker_1_1Reader.html#a3ed71b59bda885040c0c72400f191e1f',1,'Linker::Reader::ReadSigned(size_t bytes)'],['../classLinker_1_1Relocation.html#a60948f401d8237a15ecc618ef1862ee4',1,'Linker::Relocation::ReadSigned()']]], + ['readunsigned_4',['ReadUnsigned',['../classLinker_1_1Reader.html#affadb1a578f9cacb586d92fa7064e4a5',1,'Linker::Reader::ReadUnsigned(size_t bytes, EndianType endiantype)'],['../classLinker_1_1Reader.html#af3606ca912a722fe366757dbebf8fabc',1,'Linker::Reader::ReadUnsigned(size_t bytes)'],['../classLinker_1_1Relocation.html#aee8667caa51cbc0a095c333949cd8ab1',1,'Linker::Relocation::ReadUnsigned()']]], + ['realignend_5',['RealignEnd',['../classLinker_1_1Section.html#aaa9b51eb318d9ede69c6cc8d76024e9a',1,'Linker::Section::RealignEnd()'],['../classLinker_1_1Segment.html#a7f3e66e62db0be090c2a73dd619d339b',1,'Linker::Segment::RealignEnd()']]], + ['relative_6',['Relative',['../classLinker_1_1Relocation.html#a4bd9ae7037c0682f5f5172270b65b383',1,'Linker::Relocation::Relative(size_t size, Location source, Target target, uint64_t addend, EndianType endiantype)'],['../classLinker_1_1Relocation.html#a699f8fc71b63a394ae20c469f485264a',1,'Linker::Relocation::Relative(size_t size, Location source, Target target, uint64_t addend=0)']]], + ['removesections_7',['RemoveSections',['../classLinker_1_1Module.html#a6a4eda34cd479a9106046f1e26327465',1,'Linker::Module']]], + ['reset_8',['Reset',['../classLinker_1_1Section.html#a0a902380623f10988b63c3c709794cf6',1,'Linker::Section']]], + ['resetaddress_9',['ResetAddress',['../classLinker_1_1Section.html#a421d65927c27ef21fa0616b5bf385873',1,'Linker::Section']]], + ['resolve_10',['Resolve',['../classLinker_1_1Relocation.html#a24f13a02af2e31ef0cbb4ecd68ed3e7d',1,'Linker::Relocation']]], + ['resolvelocals_11',['ResolveLocals',['../classLinker_1_1Target.html#a000bc2a78e3e359911ae48da803d2fe9',1,'Linker::Target']]], + ['resolverelocations_12',['ResolveRelocations',['../classLinker_1_1Module.html#aa20a1e19fee67b2522417e1630b200e6',1,'Linker::Module']]] +]; diff --git a/html/search/functions_c.js b/html/search/functions_c.js new file mode 100644 index 00000000..cae8f639 --- /dev/null +++ b/html/search/functions_c.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['sections_0',['Sections',['../classLinker_1_1Module.html#a42e6ef39e2cf388f1d0e9187facdbb70',1,'Linker::Module']]], + ['seek_1',['Seek',['../classLinker_1_1Reader.html#a343a294aab926fcfab2034efdd1319fc',1,'Linker::Reader::Seek()'],['../classLinker_1_1Writer.html#a349afc2371685949e4eb8371be0bf605',1,'Linker::Writer::Seek()']]], + ['seekend_2',['SeekEnd',['../classLinker_1_1Reader.html#a5cdcc691e23a208fbc8bbf60fdda79fe',1,'Linker::Reader::SeekEnd()'],['../classLinker_1_1Writer.html#a9da2e59c091f6d39c207903c87165e3e',1,'Linker::Writer::SeekEnd()']]], + ['segment_3',['Segment',['../classLinker_1_1Relocation.html#aded7a9cc33a03b86348176b9fcdcecff',1,'Linker::Relocation']]], + ['selector_4',['Selector',['../classLinker_1_1Relocation.html#a7529c16b2aeb4814ab6604b076963883',1,'Linker::Relocation']]], + ['setaddress_5',['SetAddress',['../classLinker_1_1Section.html#a0ca5f545223d3dd4b4f64bc7013a4373',1,'Linker::Section']]], + ['setcurrentaddress_6',['SetCurrentAddress',['../classLinker_1_1LinkerManager.html#a78e7c43d71de7f2e97c06fcbfb3cddaf',1,'Linker::LinkerManager']]], + ['setendaddress_7',['SetEndAddress',['../classLinker_1_1Segment.html#adb6f4217dd8d629cd87bd3ebf6b3ce0d',1,'Linker::Segment']]], + ['setflag_8',['SetFlag',['../classLinker_1_1Section.html#a79245340c416065aaa0c4a2344854330',1,'Linker::Section']]], + ['setlatestbase_9',['SetLatestBase',['../classLinker_1_1LinkerManager.html#ac9381d0e1b2c0091be80074df188bdae',1,'Linker::LinkerManager']]], + ['setlinkerparameter_10',['SetLinkerParameter',['../classLinker_1_1LinkerManager.html#ac272c92dd4f8303f4baaf61f11883a68',1,'Linker::LinkerManager::SetLinkerParameter(std::map< std::string, std::string > &options, std::string key)'],['../classLinker_1_1LinkerManager.html#a95270665ba4a6c881c4cd50802d6ac83',1,'Linker::LinkerManager::SetLinkerParameter(std::map< std::string, std::string > &options, std::string key, std::string variable)']]], + ['setlinkscript_11',['SetLinkScript',['../classApple_1_1AppleSingleDouble.html#af2d4899c9df07cc12f9a57dc9800c05a',1,'Apple::AppleSingleDouble::SetLinkScript()'],['../classApple_1_1MacDriver.html#a9bf4a39db2db7b4a6b602b420774f27d',1,'Apple::MacDriver::SetLinkScript()'],['../classLinker_1_1OutputFormat.html#a817cfc3dafc78cbc76d029e1b7bb31db',1,'Linker::OutputFormat::SetLinkScript()'],['../classLinker_1_1LinkerManager.html#a0b537dd19bd73699d7440107b9fc5318',1,'Linker::LinkerManager::SetLinkScript()']]], + ['setmask_12',['SetMask',['../classLinker_1_1Relocation.html#a6f622a8c2deab8d83658b56a122d4cbf',1,'Linker::Relocation']]], + ['setmodel_13',['SetModel',['../classBinary_1_1BinaryFormat.html#a2572e5127ddcc994337e0a3701b1ec0b',1,'Binary::BinaryFormat::SetModel()'],['../classDigitalResearch_1_1CPM86Format.html#a845fc53264a046ccd553ae803037f471',1,'DigitalResearch::CPM86Format::SetModel()'],['../classApple_1_1AppleSingleDouble.html#a80af3c658d803c26838f9f6a5657d8d8',1,'Apple::AppleSingleDouble::SetModel()'],['../classApple_1_1ResourceFork.html#a7f48c552cfca70909b10031349edb90d',1,'Apple::ResourceFork::SetModel()'],['../classApple_1_1MacDriver.html#ae08d17b45300fbb138d97b4ea20a1252',1,'Apple::MacDriver::SetModel()'],['../classMicrosoft_1_1MZFormat.html#a8287609725f7e97c1463b623d05fa162',1,'Microsoft::MZFormat::SetModel()'],['../classMicrosoft_1_1NEFormat.html#ae6ef0ea8bc44fb447ad95b6adbd80530',1,'Microsoft::NEFormat::SetModel()'],['../classLinker_1_1OutputFormat.html#ade72610728318b9d106b3276bab836e0',1,'Linker::OutputFormat::SetModel()']]], + ['setoptions_14',['SetOptions',['../classAOut_1_1AOutFormat.html#aba95a501b20d3244db008021ac058944',1,'AOut::AOutFormat::SetOptions()'],['../classBinary_1_1BinaryFormat.html#a34ad8bbf856ed636446e652bd3c0d9bf',1,'Binary::BinaryFormat::SetOptions()'],['../classDOS16M_1_1BWFormat.html#a2a0a74b5ad1597a04648e8310cd5ebe1',1,'DOS16M::BWFormat::SetOptions()'],['../classCOFF_1_1COFFFormat.html#ad4cd9543645d19c01a9902bce9cf2ea2',1,'COFF::COFFFormat::SetOptions()'],['../classDigitalResearch_1_1CPM68KFormat.html#a70f9d3bf78f9af3533ba38b394bf993b',1,'DigitalResearch::CPM68KFormat::SetOptions()'],['../classDigitalResearch_1_1CPM86Format.html#a96740027f679b7c24399b6d05f1211a3',1,'DigitalResearch::CPM86Format::SetOptions()'],['../classDigitalResearch_1_1CPM8KFormat.html#acf2aa18f5eb16d059712bc3d733c3076',1,'DigitalResearch::CPM8KFormat::SetOptions()'],['../classX68000_1_1HUFormat.html#a7d174df603cb79f435a84edda1e01fe7',1,'X68000::HUFormat::SetOptions()'],['../classAmiga_1_1HunkFormat.html#a07a6b84eab671da4d38c079f385f85e6',1,'Amiga::HunkFormat::SetOptions()'],['../classMicrosoft_1_1LEFormat.html#a2705b181ed4faa1c749e75422f6772e6',1,'Microsoft::LEFormat::SetOptions()'],['../classApple_1_1AppleSingleDouble.html#a0ac17e352fa7c397c9d1cef6153930a8',1,'Apple::AppleSingleDouble::SetOptions()'],['../classApple_1_1ResourceFork.html#a829f84c133c0d816f4b4d1d05addfcf6',1,'Apple::ResourceFork::SetOptions()'],['../classApple_1_1MacDriver.html#af05daad73ca49cf45c51f9c6ddef992c',1,'Apple::MacDriver::SetOptions()'],['../classMINIX_1_1MINIXFormat.html#a07cb6ce4902dd5e62f62ffaad7b3bd0d',1,'MINIX::MINIXFormat::SetOptions()'],['../classMicrosoft_1_1MZFormat.html#afd6d4ab5094386e62edae99cb180e130',1,'Microsoft::MZFormat::SetOptions()'],['../classMicrosoft_1_1NEFormat.html#a64bfdf5a7436678eb4150377c35e4184',1,'Microsoft::NEFormat::SetOptions()'],['../classPharLap_1_1MPFormat.html#ab1c92042fde29422a3e9871b2d75a708',1,'PharLap::MPFormat::SetOptions()'],['../classPharLap_1_1P3Format.html#a61c15b66186993e4a569f2bf5611692f',1,'PharLap::P3Format::SetOptions()'],['../classLinker_1_1OutputFormat.html#aabb33f0f671aa3eaeb66d64b2ca4664b',1,'Linker::OutputFormat::SetOptions()']]], + ['setshift_15',['SetShift',['../classLinker_1_1Relocation.html#a19f61c05e7eaff3591f3597ca0060aab',1,'Linker::Relocation']]], + ['setstartaddress_16',['SetStartAddress',['../classLinker_1_1Segment.html#a93aaacc9a2cb93500aa515678f3ce8e5',1,'Linker::Segment']]], + ['setsubtract_17',['SetSubtract',['../classLinker_1_1Relocation.html#a54f1baba0cd332e37697b57b63b4c00f',1,'Linker::Relocation']]], + ['settotalsize_18',['SetTotalSize',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a94c6ad316309d670fb66742823a6d209',1,'DOS16M::BWFormat::AbstractSegment::SetTotalSize()'],['../classDOS16M_1_1BWFormat_1_1Segment.html#a639993747924b90005f1b9f4df5367ab',1,'DOS16M::BWFormat::Segment::SetTotalSize()'],['../classDOS16M_1_1BWFormat_1_1DummySegment.html#a4bea7b3466fd5ae8fcb244b6e739950d',1,'DOS16M::BWFormat::DummySegment::SetTotalSize()'],['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html#a93ad75c4d5706947490c5cace3aca6c5',1,'DOS16M::BWFormat::RelocationSegment::SetTotalSize()']]], + ['setupoptions_19',['SetupOptions',['../classCOFF_1_1COFFFormat.html#afc232281548bee94289e86b26e13c08b',1,'COFF::COFFFormat::SetupOptions()'],['../classELF_1_1ELFFormat.html#a3f97fe47d2c0a33bbfc829d84daa2e87',1,'ELF::ELFFormat::SetupOptions()'],['../classLinker_1_1InputFormat.html#a6b3dd88f974178a02070c631a67426a2',1,'Linker::InputFormat::SetupOptions()']]], + ['skip_20',['Skip',['../classLinker_1_1Reader.html#a0ed9d13d3744cefef203ae0c5101ff5f',1,'Linker::Reader::Skip()'],['../classLinker_1_1Writer.html#a93ee2801dd02a9a06d4aead9d35e26ed',1,'Linker::Writer::Skip()']]], + ['start_21',['Start',['../classLinker_1_1Section.html#a163039378d7a86e7068be1a0e6a57048',1,'Linker::Section']]], + ['symbolname_22',['SymbolName',['../classLinker_1_1SymbolName.html#a41afe7820806a0a3487be9a042ed3f6e',1,'Linker::SymbolName::SymbolName(std::string name)'],['../classLinker_1_1SymbolName.html#a75a32305087d9f356def514157982fda',1,'Linker::SymbolName::SymbolName(std::string library, std::string name)'],['../classLinker_1_1SymbolName.html#aaecd03744ee3a531f1b3b0e400d1dcbe',1,'Linker::SymbolName::SymbolName(std::string library, std::string name, uint16_t hint)'],['../classLinker_1_1SymbolName.html#a31e8133552a79e43242ac92d733a1ef7',1,'Linker::SymbolName::SymbolName(std::string library, uint16_t ordinal)']]] +]; diff --git a/html/search/functions_d.js b/html/search/functions_d.js new file mode 100644 index 00000000..ee3386e1 --- /dev/null +++ b/html/search/functions_d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['tell_0',['Tell',['../classLinker_1_1Reader.html#aff3e3665be97f967b9d7345a989862f3',1,'Linker::Reader::Tell()'],['../classLinker_1_1Writer.html#af6537228fec1d745676c97899ec81433',1,'Linker::Writer::Tell()']]], + ['tolocation_1',['ToLocation',['../classLinker_1_1Reference.html#a08ba6f8edc18df8330f565de6b0ff27c',1,'Linker::Reference']]], + ['totalsize_2',['TotalSize',['../classLinker_1_1Segment.html#ac62e516f60e68d46d6b7f101e526da2e',1,'Linker::Segment']]] +]; diff --git a/html/search/functions_e.js b/html/search/functions_e.js new file mode 100644 index 00000000..f3622bb6 --- /dev/null +++ b/html/search/functions_e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['writecontent_0',['WriteContent',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a1d0f3f22973ba7224d6dc817f7702522',1,'DOS16M::BWFormat::AbstractSegment::WriteContent()'],['../classDOS16M_1_1BWFormat_1_1Segment.html#a6f607528e1c2c9cc8aba8f52d8d9ed0b',1,'DOS16M::BWFormat::Segment::WriteContent()'],['../classDOS16M_1_1BWFormat_1_1DummySegment.html#ab9356b2c53ef55f19db300a673c413c2',1,'DOS16M::BWFormat::DummySegment::WriteContent()'],['../classDOS16M_1_1BWFormat_1_1RelocationSegment.html#a29d6c560fa59bfd17373cd6fa11bbe30',1,'DOS16M::BWFormat::RelocationSegment::WriteContent()']]], + ['writedata_1',['WriteData',['../classLinker_1_1Writer.html#a523aa2b80b655b7a2765e6875d8eb85c',1,'Linker::Writer::WriteData(size_t count, const void *data)'],['../classLinker_1_1Writer.html#af4f07fcec98011eea428b565e54d3d51',1,'Linker::Writer::WriteData(size_t count, std::string text, char padding='\0')'],['../classLinker_1_1Writer.html#a8ceeee98b8e37e45bb84afb287b541e6',1,'Linker::Writer::WriteData(std::string text)'],['../classLinker_1_1Writer.html#a9c14051689fe69f1d09d410df59dfd6e',1,'Linker::Writer::WriteData(size_t count, std::istream &in)']]], + ['writefile_2',['WriteFile',['../classBinary_1_1AppleFormat.html#aaf14bc3473dacb540d6e773be9c57448',1,'Binary::AppleFormat::WriteFile()'],['../classBinary_1_1AtariFormat.html#a737d817fd17aed04f83bcbe5bb6375f8',1,'Binary::AtariFormat::WriteFile()'],['../classBinary_1_1CommodoreFormat.html#af64da130f10ea3f8919e2f0cb05e7a9f',1,'Binary::CommodoreFormat::WriteFile()'],['../classBinary_1_1CPM3Format.html#a636e7573e555f70d6096f4a230a65649',1,'Binary::CPM3Format::WriteFile()'],['../classBinary_1_1FLEXFormat.html#a352669cf448c34ee601de909f480702e',1,'Binary::FLEXFormat::WriteFile()'],['../classBinary_1_1PRLFormat.html#ae6dcc6fdcbe742de44ae3a7831ea1eb5',1,'Binary::PRLFormat::WriteFile()'],['../classBinary_1_1UZIFormat.html#a3aad6ec6aceca87de5d6a5f9f5fe3d00',1,'Binary::UZIFormat::WriteFile()'],['../classBinary_1_1UZI280Format.html#a93aec7f72b84d2ba6015052a256be8f5',1,'Binary::UZI280Format::WriteFile()'],['../classAOut_1_1AOutFormat.html#a4627671f6e551bf3926f244e15f4d235',1,'AOut::AOutFormat::WriteFile()'],['../classAS86Obj_1_1AS86ObjFormat.html#af7f56f226c587271483d50de81250bb2',1,'AS86Obj::AS86ObjFormat::WriteFile()'],['../classBinary_1_1BinaryFormat.html#a3f8e6f48a32f66ee83ff36fe2fc6b1ce',1,'Binary::BinaryFormat::WriteFile()'],['../classDOS16M_1_1BWFormat.html#a8eb57a684dde21c66909866e203d25de',1,'DOS16M::BWFormat::WriteFile()'],['../classCOFF_1_1COFFFormat.html#a25871f4b6e54e7b6d9864af9c3b1a07f',1,'COFF::COFFFormat::WriteFile()'],['../classDigitalResearch_1_1CPM68KFormat.html#ae7f250eb992a3234820b5e61134c340a',1,'DigitalResearch::CPM68KFormat::WriteFile()'],['../classDigitalResearch_1_1CPM86Format.html#ae5a4356303418e7e7584737bb74ed299',1,'DigitalResearch::CPM86Format::WriteFile()'],['../classDigitalResearch_1_1CPM8KFormat.html#a12206b3bbae38b2433bb64f3bfc4e69a',1,'DigitalResearch::CPM8KFormat::WriteFile()'],['../classSeychellDOS32_1_1AdamFormat.html#af2c3fa6f81bb10c193d864a7aa81036f',1,'SeychellDOS32::AdamFormat::WriteFile()'],['../classBrocaD3X_1_1D3X1Format.html#a6db159d94043a0bf2dcf6736689685bf',1,'BrocaD3X::D3X1Format::WriteFile()'],['../classDX64_1_1FlatFormat.html#a2029e0d07b97985418ded54bfbb84b4f',1,'DX64::FlatFormat::WriteFile()'],['../classDX64_1_1LVFormat.html#a9716d2c8c82dd435e2c1328987c65b64',1,'DX64::LVFormat::WriteFile()'],['../classELF_1_1ELFFormat.html#a0c8f7e566d6caa0e0c2d6f09b577cf37',1,'ELF::ELFFormat::WriteFile()'],['../classGEOS_1_1GeodeFormat.html#ae2786dcc904d8e3cf634e5cd71830309',1,'GEOS::GeodeFormat::WriteFile()'],['../classApple_1_1OMFFormat.html#a7feb462007d32c53a30b5bd8f44cc5a2',1,'Apple::OMFFormat::WriteFile()'],['../classX68000_1_1HUFormat.html#a0e28d0ba10884fdb86d33c5624f8e4e7',1,'X68000::HUFormat::WriteFile()'],['../classAmiga_1_1HunkFormat.html#aaf7a65831eec42d20a21f918ac1230f9',1,'Amiga::HunkFormat::WriteFile()'],['../classMicrosoft_1_1LEFormat.html#a254b69fd83dd6b9b09259c1e29d8e119',1,'Microsoft::LEFormat::WriteFile()'],['../classMachO_1_1MachOFormat.html#ae88571b14ab0fee96645bbb176c0f420',1,'MachO::MachOFormat::WriteFile()'],['../classApple_1_1AppleSingleDouble_1_1Entry.html#a1e74989233547855316a8997a66d54c7',1,'Apple::AppleSingleDouble::Entry::WriteFile()'],['../classApple_1_1AppleSingleDouble.html#a6475b5b94cb43b80e02f57df395a9277',1,'Apple::AppleSingleDouble::WriteFile()'],['../classApple_1_1ResourceFork_1_1Resource.html#a4ee6acff25b3e03145fa7c3611304d84',1,'Apple::ResourceFork::Resource::WriteFile()'],['../classApple_1_1ResourceFork_1_1GenericResource.html#ad592b45a291d0830cb2071b9884c78ca',1,'Apple::ResourceFork::GenericResource::WriteFile()'],['../classApple_1_1ResourceFork_1_1JumpTableCodeResource.html#ac41b63140ac01e6036c612ffa0cce566',1,'Apple::ResourceFork::JumpTableCodeResource::WriteFile()'],['../classApple_1_1ResourceFork_1_1CodeResource.html#aa723f121f1d8d506ae51939eff07c955',1,'Apple::ResourceFork::CodeResource::WriteFile()'],['../classApple_1_1ResourceFork.html#a0b44f8cf819a015646651d025c445a2f',1,'Apple::ResourceFork::WriteFile()'],['../classApple_1_1RealName.html#a7ad29a4c7f59fc86a9a6000cdf957fcd',1,'Apple::RealName::WriteFile()'],['../classApple_1_1FileInfo_1_1Macintosh.html#a1a8a9e962721cb8f2c0d22e9f84cb247',1,'Apple::FileInfo::Macintosh::WriteFile()'],['../classApple_1_1FileInfo_1_1ProDOS.html#af2dfbfc7b83f7a7c8c57489f165cfd3d',1,'Apple::FileInfo::ProDOS::WriteFile()'],['../classApple_1_1FileInfo_1_1MSDOS.html#affb106d1c66be886990f57cf34a06ccf',1,'Apple::FileInfo::MSDOS::WriteFile()'],['../classApple_1_1FileInfo_1_1AUX.html#a4c74f1fe087b474693b073ea2d92353f',1,'Apple::FileInfo::AUX::WriteFile()'],['../classApple_1_1FileDatesInfo.html#a3c32685a823a9dc547b3229e21f41eeb',1,'Apple::FileDatesInfo::WriteFile()'],['../classApple_1_1FinderInfo.html#ab30a0def6e80e7d6c10b019ec1640aab',1,'Apple::FinderInfo::WriteFile()'],['../classApple_1_1MacintoshFileInfo.html#a55c3c2fe777dcefa1e258fb223d5f343',1,'Apple::MacintoshFileInfo::WriteFile()'],['../classApple_1_1ProDOSFileInfo.html#a052d26aac0d721735bd7b28149032731',1,'Apple::ProDOSFileInfo::WriteFile()'],['../classApple_1_1MSDOSFileInfo.html#a68843055daf5729f7b559201f8989dc3',1,'Apple::MSDOSFileInfo::WriteFile()'],['../classApple_1_1MacBinary.html#ad8d638540f9fb4cb16989a6aeccfe59a',1,'Apple::MacBinary::WriteFile()'],['../classApple_1_1MacDriver.html#aca7edd2de3b6b596bcc926dc8bca4792',1,'Apple::MacDriver::WriteFile()'],['../classMINIX_1_1MINIXFormat.html#a55c210f884eb06dac9fd3eb5e4eab595',1,'MINIX::MINIXFormat::WriteFile()'],['../classMicrosoft_1_1MZFormat.html#a242b466acbaf015b8e3887d938f3e267',1,'Microsoft::MZFormat::WriteFile()'],['../classMicrosoft_1_1NEFormat.html#a3a194f5c10a8cbfa58398a89ba220a5f',1,'Microsoft::NEFormat::WriteFile()'],['../classO65_1_1O65Format.html#abefd64e0b8e3c845f83c5663e1f95030',1,'O65::O65Format::WriteFile()'],['../classOMF_1_1OMFFormat.html#ae4153631e7b51b0f030388ac14d9d298',1,'OMF::OMFFormat::WriteFile()'],['../classMicrosoft_1_1PEFormat.html#ae610cd11e4a7a3d34c47fafaaccd024c',1,'Microsoft::PEFormat::WriteFile()'],['../classApple_1_1PEFFormat.html#a354d0be061c610a40a93ffa6dc11e775',1,'Apple::PEFFormat::WriteFile()'],['../classPharLap_1_1MPFormat.html#ab608287487d09e21d313b86e6778beb3',1,'PharLap::MPFormat::WriteFile()'],['../classPharLap_1_1P3Format.html#a794241630c24126d739a36b99e028da8',1,'PharLap::P3Format::WriteFile()'],['../classPharLap_1_1P3Format_1_1Flat.html#af6bcf8273dd8568a2258b379dc3fedb0',1,'PharLap::P3Format::Flat::WriteFile()'],['../classPharLap_1_1P3Format_1_1MultiSegmented.html#aa57de7ee344486f70e5501c062c1b9f0',1,'PharLap::P3Format::MultiSegmented::WriteFile()'],['../classPMODE_1_1PMW1Format.html#a91ef852a40facca81b20c227edeacaff',1,'PMODE::PMW1Format::WriteFile()'],['../classXenix_1_1BOutFormat.html#a9ac7fdb34d3a9a836e0627d5dc947896',1,'Xenix::BOutFormat::WriteFile()'],['../classXenix_1_1XOutFormat.html#ada30bdcffea24009ddd5a1bfe0fc097b',1,'Xenix::XOutFormat::WriteFile()'],['../classErgo_1_1XPFormat.html#a9c2f56e22788e32f42c61932589a3376',1,'Ergo::XPFormat::WriteFile()'],['../classLinker_1_1Format.html#a12d9426f324db2e9b0ee3ea21a4530f1',1,'Linker::Format::WriteFile()'],['../classLinker_1_1Buffer.html#ae13ce28cf7bc9f28e1ac1d57e409d312',1,'Linker::Buffer::WriteFile()'],['../classLinker_1_1Section.html#afa284d747c352a450242854c6e33e62b',1,'Linker::Section::WriteFile(std::ostream &out, offset_t size, offset_t offset=0) const'],['../classLinker_1_1Section.html#ab5f090fdfb2d83a8ee5b6c23870c2f3f',1,'Linker::Section::WriteFile(std::ostream &out) const'],['../classLinker_1_1Segment.html#a8d4ea3d17c420c322d938adf712c9d90',1,'Linker::Segment::WriteFile(std::ostream &out, offset_t size, offset_t offset=0)'],['../classLinker_1_1Segment.html#a57d6570ad4f3a4d5998a818534c2bcb2',1,'Linker::Segment::WriteFile(std::ostream &out)'],['../classLinker_1_1Segment.html#a119b7d562f5401dafa398cde31b742ab',1,'Linker::Segment::WriteFile(Writer &wr, offset_t count, offset_t offset=0) override'],['../classLinker_1_1Segment.html#a366605060e992fac343d39a2ce18be63',1,'Linker::Segment::WriteFile(Writer &wr)'],['../classLinker_1_1Writable.html#a310c770333046a3944c566fd173b5d53',1,'Linker::Writable::WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0'],['../classLinker_1_1Writable.html#aff8843f0b288316ac97fb6410ac82bf9',1,'Linker::Writable::WriteFile(Writer &wr)'],['../classLinker_1_1Buffer.html#a310c770333046a3944c566fd173b5d53',1,'Linker::Buffer::WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0'],['../classLinker_1_1Buffer.html#aff8843f0b288316ac97fb6410ac82bf9',1,'Linker::Buffer::WriteFile(Writer &wr)']]], + ['writeheader_3',['WriteHeader',['../classDOS16M_1_1BWFormat_1_1AbstractSegment.html#a1332ec123131e73c4ca4a9173a38e865',1,'DOS16M::BWFormat::AbstractSegment']]], + ['writeword_4',['WriteWord',['../classLinker_1_1Relocation.html#aa0eed011df24c767c399fcd74f239024',1,'Linker::Relocation::WriteWord()'],['../classLinker_1_1Section.html#ad4dcfdcf444ea616412c1c6dde000cef',1,'Linker::Section::WriteWord(size_t bytes, uint64_t value, EndianType endiantype)'],['../classLinker_1_1Section.html#ae6c5dd43f195119d8704f7866d91d180',1,'Linker::Section::WriteWord(size_t bytes, uint64_t value)'],['../classLinker_1_1Writer.html#aec0567605e2d3f55c33ed2ad9aec65d5',1,'Linker::Writer::WriteWord(size_t bytes, uint64_t value, EndianType endiantype)'],['../classLinker_1_1Writer.html#a44fbbc31d70df4dc53e185e642537320',1,'Linker::Writer::WriteWord(size_t bytes, uint64_t value)']]] +]; diff --git a/html/search/mag.svg b/html/search/mag.svg new file mode 100644 index 00000000..ffb6cf0d --- /dev/null +++ b/html/search/mag.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/html/search/mag_d.svg b/html/search/mag_d.svg new file mode 100644 index 00000000..4122773f --- /dev/null +++ b/html/search/mag_d.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/html/search/mag_sel.svg b/html/search/mag_sel.svg new file mode 100644 index 00000000..553dba87 --- /dev/null +++ b/html/search/mag_sel.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/html/search/mag_seld.svg b/html/search/mag_seld.svg new file mode 100644 index 00000000..c906f84c --- /dev/null +++ b/html/search/mag_seld.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/html/search/pages_0.js b/html/search/pages_0.js new file mode 100644 index 00000000..afdab1b1 --- /dev/null +++ b/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['16_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_1.js b/html/search/pages_1.js new file mode 100644 index 00000000..badf2db3 --- /dev/null +++ b/html/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['32_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_2.js b/html/search/pages_2.js new file mode 100644 index 00000000..965a3361 --- /dev/null +++ b/html/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['8_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_3.js b/html/search/pages_3.js new file mode 100644 index 00000000..6965fb65 --- /dev/null +++ b/html/search/pages_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['a_20linker_20for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['and_2032_20bit_20executable_20formats_1',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_4.js b/html/search/pages_4.js new file mode 100644 index 00000000..518f066b --- /dev/null +++ b/html/search/pages_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_5.js b/html/search/pages_5.js new file mode 100644 index 00000000..acaa74d3 --- /dev/null +++ b/html/search/pages_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_6.js b/html/search/pages_6.js new file mode 100644 index 00000000..f90f90be --- /dev/null +++ b/html/search/pages_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]], + ['formats_1',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_7.js b/html/search/pages_7.js new file mode 100644 index 00000000..66a19ba9 --- /dev/null +++ b/html/search/pages_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['linker_20for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_8.js b/html/search/pages_8.js new file mode 100644 index 00000000..ffc6829b --- /dev/null +++ b/html/search/pages_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/pages_9.js b/html/search/pages_9.js new file mode 100644 index 00000000..4a6ff87f --- /dev/null +++ b/html/search/pages_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['retrolinker_20a_20linker_20for_20multiple_208_20bit_2016_20bit_20and_2032_20bit_20executable_20formats_0',['RetroLinker, a linker for multiple 8-bit, 16-bit and 32-bit executable formats',['../index.html',1,'']]] +]; diff --git a/html/search/search.css b/html/search/search.css new file mode 100644 index 00000000..19f76f9d --- /dev/null +++ b/html/search/search.css @@ -0,0 +1,291 @@ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} + +#MSearchBox { + display: inline-block; + white-space : nowrap; + background: var(--search-background-color); + border-radius: 0.65em; + box-shadow: var(--search-box-shadow); + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; +} + +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; +} + + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: var(--search-foreground-color); + outline: none; + font-family: var(--font-family-search); + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: var(--search-active-color); +} + + + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt var(--font-family-search); + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: var(--font-family-monospace); + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: var(--search-filter-foreground-color); + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: var(--search-filter-foreground-color); + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + /*width: 60ex;*/ + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); + z-index:10000; + width: 300px; + height: 400px; + overflow: auto; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +div.SRPage { + margin: 5px 2px; + background-color: var(--search-results-background-color); +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: var(--font-family-search); +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: var(--font-family-search); +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: var(--nav-gradient-active-image-parent); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/html/search/search.js b/html/search/search.js new file mode 100644 index 00000000..666af01e --- /dev/null +++ b/html/search/search.js @@ -0,0 +1,694 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +const SEARCH_COOKIE_NAME = ''+'search_grp'; + +const searchResults = new SearchResults(); + +/* A class handling everything associated with the search panel. + + Parameters: + name - The name of the global variable that will be + storing this instance. Is needed to be able to set timeouts. + resultPath - path to use for external files +*/ +function SearchBox(name, resultsPath, extension) { + if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } + if (!extension || extension == "") { extension = ".html"; } + + function getXPos(item) { + let x = 0; + if (item.offsetWidth) { + while (item && item!=document.body) { + x += item.offsetLeft; + item = item.offsetParent; + } + } + return x; + } + + function getYPos(item) { + let y = 0; + if (item.offsetWidth) { + while (item && item!=document.body) { + y += item.offsetTop; + item = item.offsetParent; + } + } + return y; + } + + // ---------- Instance variables + this.name = name; + this.resultsPath = resultsPath; + this.keyTimeout = 0; + this.keyTimeoutLength = 500; + this.closeSelectionTimeout = 300; + this.lastSearchValue = ""; + this.lastResultsPage = ""; + this.hideTimeout = 0; + this.searchIndex = 0; + this.searchActive = false; + this.extension = extension; + + // ----------- DOM Elements + + this.DOMSearchField = () => document.getElementById("MSearchField"); + this.DOMSearchSelect = () => document.getElementById("MSearchSelect"); + this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow"); + this.DOMPopupSearchResults = () => document.getElementById("MSearchResults"); + this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow"); + this.DOMSearchClose = () => document.getElementById("MSearchClose"); + this.DOMSearchBox = () => document.getElementById("MSearchBox"); + + // ------------ Event Handlers + + // Called when focus is added or removed from the search field. + this.OnSearchFieldFocus = function(isActive) { + this.Activate(isActive); + } + + this.OnSearchSelectShow = function() { + const searchSelectWindow = this.DOMSearchSelectWindow(); + const searchField = this.DOMSearchSelect(); + + const left = getXPos(searchField); + const top = getYPos(searchField) + searchField.offsetHeight; + + // show search selection popup + searchSelectWindow.style.display='block'; + searchSelectWindow.style.left = left + 'px'; + searchSelectWindow.style.top = top + 'px'; + + // stop selection hide timer + if (this.hideTimeout) { + clearTimeout(this.hideTimeout); + this.hideTimeout=0; + } + return false; // to avoid "image drag" default event + } + + this.OnSearchSelectHide = function() { + this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), + this.closeSelectionTimeout); + } + + // Called when the content of the search field is changed. + this.OnSearchFieldChange = function(evt) { + if (this.keyTimeout) { // kill running timer + clearTimeout(this.keyTimeout); + this.keyTimeout = 0; + } + + const e = evt ? evt : window.event; // for IE + if (e.keyCode==40 || e.keyCode==13) { + if (e.shiftKey==1) { + this.OnSearchSelectShow(); + const win=this.DOMSearchSelectWindow(); + for (let i=0;i do a search + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) { // Up + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } else if (e.keyCode==13 || e.keyCode==27) { + e.stopPropagation(); + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() { + this.keyTimeout = 0; + + // strip leading whitespace + const searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + const code = searchValue.toLowerCase().charCodeAt(0); + let idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair + idxChar = searchValue.substr(0, 2); + } + + let jsFile; + let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) { + const hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + } + + const loadJS = function(url, impl, loc) { + const scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); + } + + const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + const domSearchBox = this.DOMSearchBox(); + const domPopupSearchResults = this.DOMPopupSearchResults(); + const domSearchClose = this.DOMSearchClose(); + const resultsPath = this.resultsPath; + + const handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + if (idx!=-1) { + searchResults.Search(searchValue); + } else { // no file with search results => force empty search results + searchResults.Search('===='); + } + + if (domPopupSearchResultsWindow.style.display!='block') { + domSearchClose.style.display = 'inline-block'; + let left = getXPos(domSearchBox) + 150; + let top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + const maxWidth = document.body.clientWidth; + const maxHeight = document.body.clientHeight; + let width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + let height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); + } + + this.lastSearchValue = searchValue; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) { + this.DOMSearchBox().className = 'MSearchBoxActive'; + this.searchActive = true; + } else if (!isActive) { // directly remove the panel + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + this.DOMSearchField().value = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults() { + + function convertToId(search) { + let result = ''; + for (let i=0;i. + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) { + const parentElement = document.getElementById(id); + let element = parentElement.firstChild; + + while (element && element!=parentElement) { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { + element = element.firstChild; + } else if (element.nextSibling) { + element = element.nextSibling; + } else { + do { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) { + const element = this.FindChildElement(id); + if (element) { + if (element.style.display == 'block') { + element.style.display = 'none'; + } else { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) { + if (!search) { // get search word from URL + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + const resultRows = document.getElementsByTagName("div"); + let matches = 0; + + let i = 0; + while (i < resultRows.length) { + const row = resultRows.item(i); + if (row.className == "SRResult") { + let rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) { + row.style.display = 'block'; + matches++; + } else { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) { // no results + document.getElementById("NoMatches").style.display='block'; + } else { // at least one result + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) { + if (e.type == "keydown") { + this.repeatOn = false; + this.lastKey = e.keyCode; + } else if (e.type == "keypress") { + if (!this.repeatOn) { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } else if (e.type == "keyup") { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + const newIndex = itemIndex-1; + let focusItem = this.NavPrev(newIndex); + if (focusItem) { + let child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') { // children visible + let n=0; + let tmpElem; + for (;;) { // search for last child + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) { + focusItem = tmpElem; + } else { // found it! + break; + } + n++; + } + } + } + if (focusItem) { + focusItem.focus(); + } else { // return focus to search field + document.getElementById("MSearchField").focus(); + } + } else if (this.lastKey==40) { // Down + const newIndex = itemIndex+1; + let focusItem; + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') { // children visible + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } else if (this.lastKey==39) { // Right + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } else if (this.lastKey==37) { // Left + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + if (childIndex>0) { + const newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } else { // already at first child, jump to parent + document.getElementById('Item'+itemIndex).focus(); + } + } else if (this.lastKey==40) { // Down + const newIndex = childIndex+1; + let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) { // last child, jump to parent next parent + elem = this.NavNext(itemIndex+1); + } + if (elem) { + elem.focus(); + } + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; + } + return false; + } +} + +function createResults(resultsPath) { + + function setKeyActions(elem,action) { + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); + } + + function setClassAttr(elem,attr) { + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); + } + + const results = document.getElementById("SRResults"); + results.innerHTML = ''; + searchData.forEach((elem,index) => { + const id = elem[0]; + const srResult = document.createElement('div'); + srResult.setAttribute('id','SR_'+id); + setClassAttr(srResult,'SRResult'); + const srEntry = document.createElement('div'); + setClassAttr(srEntry,'SREntry'); + const srLink = document.createElement('a'); + srLink.setAttribute('id','Item'+index); + setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); + setClassAttr(srLink,'SRSymbol'); + srLink.innerHTML = elem[1][0]; + srEntry.appendChild(srLink); + if (elem[1].length==2) { // single result + srLink.setAttribute('href',resultsPath+elem[1][1][0]); + srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); + if (elem[1][1][1]) { + srLink.setAttribute('target','_parent'); + } else { + srLink.setAttribute('target','_blank'); + } + const srScope = document.createElement('span'); + setClassAttr(srScope,'SRScope'); + srScope.innerHTML = elem[1][1][2]; + srEntry.appendChild(srScope); + } else { // multiple results + srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); + const srChildren = document.createElement('div'); + setClassAttr(srChildren,'SRChildren'); + for (let c=0; c + + + + + + +RetroLinker: src/linker/section.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    section.h
    +
    +
    +
    1#ifndef SECTION_H
    +
    2#define SECTION_H
    +
    3
    +
    4#include <algorithm>
    +
    5#include <iostream>
    +
    6#include <string>
    +
    7#include <variant>
    +
    8#include <vector>
    +
    9#include "../common.h"
    +
    10#include "position.h"
    +
    11#include "reader.h"
    +
    12#include "writable.h"
    +
    13
    +
    14namespace Linker
    +
    15{
    +
    16 class Segment;
    +
    17
    +
    +
    21 class Buffer : public Writable
    +
    22 {
    +
    23 protected:
    +
    24 std::vector<uint8_t> data;
    +
    25
    +
    26 public:
    +
    27 Buffer()
    +
    28 {
    +
    29 }
    +
    30
    +
    31 Buffer(size_t size)
    +
    32 {
    +
    33 data.resize(size);
    +
    34 }
    +
    35
    +
    36 offset_t ActualDataSize() override;
    +
    37 void ReadFile(Reader& rd);
    +
    38 void ReadFile(Reader& rd, offset_t count);
    + +
    40 offset_t WriteFile(Writer& wr, offset_t count, offset_t offset = 0) override;
    +
    41 int GetByte(offset_t offset) override;
    +
    42
    +
    43 friend class Section;
    +
    44 };
    +
    +
    45
    +
    +
    51 class Section : public Buffer
    +
    52 {
    +
    53 public:
    +
    57 std::string name;
    +
    58 private:
    +
    59 /* depends on whether it is zero filled or not */
    +
    60 //std::vector<uint8_t> data; /* inherited */
    +
    61 offset_t size; /* only use if ZeroFilled */
    +
    62 public:
    +
    + +
    67 {
    +
    71 Readable = 1 << 0,
    +
    75 Writable = 1 << 1,
    +
    79 Execable = 1 << 2,
    +
    90 Mergeable = 1 << 3,
    +
    97 ZeroFilled = 1 << 4, /* note: data should be empty if ZeroFilled is set */
    +
    103 Fixed = 1 << 5,
    +
    110 Resource = 1 << 6,
    +
    116 Optional = 1 << 7,
    +
    120 Stack = 1 << 8,
    +
    124 Heap = 1 << 9,
    +
    128 CustomFlag = 1 << 10,
    +
    129 } flags;
    +
    +
    130 private:
    +
    131 union
    +
    132 {
    +
    133 offset_t address; /* only use if fixed is true */
    +
    134 offset_t align; /* only use if fixed is false */
    +
    135 };
    +
    136 public:
    +
    148 offset_t bias;
    +
    156 std::variant<std::string, uint16_t> resource_type, resource_id;
    +
    157
    + +
    167 std::string collection_name;
    +
    168
    +
    169 Section(std::string name, int flags = Readable)
    +
    170 :
    +
    171 name(name),
    +
    172 size(0),
    +
    173 flags((section_flags)flags),
    +
    174 align(1), bias(0),
    +
    175 resource_type(" "), resource_id(uint16_t(0)),
    +
    176 segment(nullptr)
    +
    177 {
    +
    178 }
    +
    179
    +
    180 private:
    +
    181 void AlterFlags(bool state, unsigned flags_mask);
    +
    182
    +
    183 public:
    +
    189 void SetFlag(unsigned newflags);
    +
    190
    +
    191 unsigned GetFlags() const;
    +
    192
    +
    193 bool IsReadable() const;
    +
    194
    +
    195 void SetReadable(bool state);
    +
    196
    +
    197 bool IsWritable() const;
    +
    198
    +
    199 void SetWritable(bool state);
    +
    200
    +
    201 bool IsExecable() const;
    +
    202
    +
    203 void SetExecable(bool state);
    +
    204
    +
    205 bool IsMergeable() const;
    +
    206
    +
    207 void SetMergeable(bool state);
    +
    208
    +
    209 bool IsFixed() const;
    +
    210
    +
    211 bool IsZeroFilled() const;
    +
    212
    +
    213 offset_t SetZeroFilled(bool is_zero_filled);
    +
    214
    +
    215 offset_t GetAlign() const;
    +
    216
    +
    217 void SetAlign(offset_t new_align);
    +
    218
    +
    219 offset_t GetStartAddress() const;
    +
    220
    +
    230 offset_t SetAddress(offset_t new_address);
    +
    231
    +
    235 void ResetAddress(offset_t new_address);
    +
    236
    +
    237 offset_t Size() const;
    +
    238
    +
    245 offset_t Expand(offset_t new_size);
    +
    246
    +
    250 offset_t RealignEnd(offset_t align);
    +
    251
    +
    252 int GetByte(offset_t offset) override;
    +
    253
    +
    254 uint64_t ReadUnsigned(size_t bytes, offset_t offset, EndianType endiantype) const;
    +
    255
    +
    256 uint64_t ReadUnsigned(size_t bytes, offset_t offset) const;
    +
    257
    +
    258 int64_t ReadSigned(size_t bytes, offset_t offset, EndianType endiantype) const;
    +
    259
    +
    260 uint64_t ReadSigned(size_t bytes, offset_t offset) const;
    +
    261
    +
    262 void WriteWord(size_t bytes, offset_t offset, uint64_t value, EndianType endiantype);
    +
    263
    +
    264 void WriteWord(size_t bytes, offset_t offset, uint64_t value);
    +
    265
    +
    269 void WriteWord(size_t bytes, uint64_t value, EndianType endiantype);
    +
    270
    +
    274 void WriteWord(size_t bytes, uint64_t value);
    +
    275
    +
    279 offset_t Append(const void * new_data, size_t length);
    +
    280
    +
    284 offset_t Append(const char * new_data);
    +
    285
    +
    289 offset_t Append(const Section& other);
    +
    290
    +
    294 offset_t Append(Buffer& buffer);
    +
    295
    +
    299 Position Start() const;
    +
    300
    +
    306 Position Base() const;
    +
    307
    +
    313 void ReadFile(std::istream& in);
    +
    314
    +
    320 void ReadFile(Reader& in);
    +
    321
    +
    331 offset_t WriteFile(std::ostream& out, offset_t size, offset_t offset = 0) const;
    +
    332
    +
    341 offset_t WriteFile(std::ostream& out) const;
    +
    342
    +
    346 void Reset();
    +
    347 };
    +
    +
    348
    +
    349 std::ostream& operator<<(std::ostream& out, const Section& section);
    +
    350}
    +
    351
    +
    352#endif /* SECTION_H */
    +
    A buffer that can be used to read and store data from a file.
    Definition section.h:22
    +
    offset_t ActualDataSize() override
    Retrieves size of stored data.
    Definition section.cc:6
    +
    offset_t WriteFile(Writer &wr, offset_t count, offset_t offset=0) override
    Writes data of non-zero filled sections.
    Definition section.cc:27
    +
    int GetByte(offset_t offset) override
    Retrieve byte at a certain offset (optional, might not be defined)
    Definition section.cc:36
    +
    Stores an absolute address along with the containing segment or address space.
    Definition position.h:17
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A section of data as read from an object file.
    Definition section.h:52
    +
    void Reset()
    Clear the section.
    Definition section.cc:381
    +
    offset_t SetAddress(offset_t new_address)
    For non-fixed segments, sets the starting address and makes the fixed.
    Definition section.cc:162
    +
    Position Start() const
    Retrieves the address of the first byte of the section.
    Definition section.cc:341
    +
    Position Base() const
    Retrieves the address of the start of the segment of the section.
    Definition section.cc:348
    +
    void ReadFile(std::istream &in)
    Overwrites section data with contents of input stream.
    Definition section.cc:355
    +
    offset_t Expand(offset_t new_size)
    Increases the size of the section by the specified amount.
    Definition section.cc:194
    +
    void ResetAddress(offset_t new_address)
    Forcibly alters the starting address.
    Definition section.cc:180
    +
    std::string name
    Name of the section.
    Definition section.h:57
    +
    void SetFlag(unsigned newflags)
    Sets the flags of the section.
    Definition section.cc:49
    +
    offset_t bias
    Difference between the first byte of the section and the zero address associated with the section.
    Definition section.h:148
    +
    std::string collection_name
    Section name that collects sections.
    Definition section.h:167
    +
    int GetByte(offset_t offset) override
    Retrieve byte at a certain offset (optional, might not be defined)
    Definition section.cc:227
    +
    offset_t RealignEnd(offset_t align)
    Expands the section to a size such that its end is at a specified alignment.
    Definition section.cc:214
    +
    offset_t Append(const void *new_data, size_t length)
    Appends data at the end of a section.
    Definition section.cc:279
    +
    section_flags
    The type of the section.
    Definition section.h:67
    +
    @ Mergeable
    Sections of the same name with this flag are overlayed instead of appended.
    Definition section.h:90
    +
    @ Stack
    Stack section.
    Definition section.h:120
    +
    @ Heap
    Heap section.
    Definition section.h:124
    +
    @ Resource
    Section data represents a resource that has to be handled differently.
    Definition section.h:110
    +
    @ Fixed
    Section resides at a fixed address and cannot be moved.
    Definition section.h:103
    +
    @ Execable
    The section data can be used as instruction.
    Definition section.h:79
    +
    @ Readable
    The data in the section can be read at runtime.
    Definition section.h:71
    +
    @ ZeroFilled
    Section is filled with zeros.
    Definition section.h:97
    +
    @ Optional
    Section data may be unallocated if necessary.
    Definition section.h:116
    +
    @ CustomFlag
    Other flags.
    Definition section.h:128
    +
    std::variant< std::string, uint16_t > resource_type
    The resource type and ID for a resource section.
    Definition section.h:156
    +
    Segment * segment
    The segment a section belongs to.
    Definition section.h:163
    +
    offset_t WriteFile(std::ostream &out, offset_t size, offset_t offset=0) const
    Writes data into file.
    Definition section.cc:367
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    Represents an abstract interface whose data can be written to a file.
    Definition writable.h:15
    +
    virtual offset_t WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0
    Writes data of non-zero filled sections.
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    + + + + diff --git a/html/segment_8h_source.html b/html/segment_8h_source.html new file mode 100644 index 00000000..4e7545a7 --- /dev/null +++ b/html/segment_8h_source.html @@ -0,0 +1,175 @@ + + + + + + + +RetroLinker: src/linker/segment.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    segment.h
    +
    +
    +
    1#ifndef SEGMENT_H
    +
    2#define SEGMENT_H
    +
    3
    +
    4#include <iostream>
    +
    5#include <string>
    +
    6#include <vector>
    +
    7#include "../common.h"
    +
    8#include "writable.h"
    +
    9#include "writer.h"
    +
    10
    +
    11namespace Linker
    +
    12{
    +
    13 class Section;
    +
    14 class Writable;
    +
    15
    +
    +
    24 class Segment : public Writable
    +
    25 {
    +
    26 public:
    +
    30 std::string name;
    +
    34 std::vector<Section *> sections;
    +
    38 offset_t base_address;
    +
    42 offset_t align;
    +
    49 offset_t data_size;
    +
    56 offset_t zero_fill;
    + +
    61
    +
    62 Segment(std::string name, offset_t base_address = 0)
    + +
    64 {
    +
    65 }
    +
    66
    +
    70 bool IsMissing();
    +
    74 void Fill();
    +
    78 void RealignEnd(offset_t align);
    +
    84 void Append(Section * section);
    +
    88 offset_t WriteFile(std::ostream& out, offset_t size, offset_t offset = 0);
    +
    92 offset_t WriteFile(std::ostream& out);
    +
    96 offset_t WriteFile(Writer& wr, offset_t count, offset_t offset = 0) override;
    +
    100 offset_t WriteFile(Writer& wr);
    +
    101 int GetByte(offset_t offset) override;
    +
    105 offset_t TotalSize();
    +
    112 offset_t ActualDataSize() override;
    +
    116 offset_t GetStartAddress();
    +
    120 offset_t GetEndAddress();
    +
    126 void SetEndAddress(offset_t address);
    +
    130 void AlignEndAddress(offset_t align);
    +
    131 protected:
    +
    132 void ShiftAddress(int64_t amount);
    +
    133 public:
    +
    137 void SetStartAddress(offset_t address);
    +
    138 };
    +
    +
    139
    +
    140 std::ostream& operator<<(std::ostream& out, const Segment& segment);
    +
    141}
    +
    142
    +
    143#endif /* SEGMENT_H */
    +
    A section of data as read from an object file.
    Definition section.h:52
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    std::string name
    The name of the segment.
    Definition segment.h:30
    +
    offset_t zero_fill
    Extra zero filled space following filled data.
    Definition segment.h:56
    +
    offset_t GetEndAddress()
    Returns end address (GetStartAddress() + TotalSize())
    Definition segment.cc:171
    +
    void AlignEndAddress(offset_t align)
    Aligns the end of the segment.
    Definition segment.cc:203
    +
    offset_t base_address
    Address where segment starts.
    Definition segment.h:38
    +
    std::vector< Section * > sections
    Sequence of sections belonging to the segment.
    Definition segment.h:34
    +
    void RealignEnd(offset_t align)
    Aligns end of segment by increasing size of last section.
    Definition segment.cc:26
    +
    void Fill()
    Fills zero filled sections with zero data, making them non-zero filled in the sense that they have to...
    Definition segment.cc:12
    +
    offset_t data_size
    Cached value of the non-filled data for the entire segment.
    Definition segment.h:49
    +
    offset_t optional_extra
    Optional extra space after zero filled data.
    Definition segment.h:60
    +
    offset_t WriteFile(std::ostream &out, offset_t size, offset_t offset=0)
    Writes data of non-zero filled sections.
    Definition segment.cc:86
    +
    void SetStartAddress(offset_t address)
    Forcibly resets starting address of segment.
    Definition segment.cc:226
    +
    offset_t ActualDataSize() override
    Retrieves size of all data in segment.
    Definition segment.cc:154
    +
    offset_t TotalSize()
    Retrieves total size of segment.
    Definition segment.cc:149
    +
    bool IsMissing()
    Segment that contains neither non zero filled, nor zero filled, nor optional extra data.
    Definition segment.cc:7
    +
    int GetByte(offset_t offset) override
    Retrieve byte at a certain offset (optional, might not be defined)
    Definition segment.cc:133
    +
    void SetEndAddress(offset_t address)
    Increases final section to end on specified address.
    Definition segment.cc:176
    +
    offset_t GetStartAddress()
    Returns starting address (base_address)
    Definition segment.cc:166
    +
    void Append(Section *section)
    Appends section to segment.
    Definition segment.cc:40
    +
    offset_t align
    Alignment requirements of segment.
    Definition segment.h:42
    +
    Represents an abstract interface whose data can be written to a file.
    Definition writable.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    + + + + diff --git a/html/splitbar.png b/html/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/html/splitbard.png b/html/splitbard.png new file mode 100644 index 0000000000000000000000000000000000000000..8367416d757fd7b6dc4272b6432dc75a75abd068 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@VhhFKy35^fiT zT~&lUj3=cDh^%3HDY9k5CEku}PHXNoNC(_$U3XPb&Q*ME25pT;2(*BOgAf<+R$lzakPG`kF31()Fx{L5Wrac|GQzjeE= zueY1`Ze{#x<8=S|`~MgGetGce)#vN&|J{Cd^tS%;tBYTo?+^d68<#n_Y_xx`J||4O V@QB{^CqU0Kc)I$ztaD0e0svEzbJzd? literal 0 HcmV?d00001 diff --git a/html/structApple_1_1FinderInfo_1_1Point-members.html b/html/structApple_1_1FinderInfo_1_1Point-members.html new file mode 100644 index 00000000..1e336cfd --- /dev/null +++ b/html/structApple_1_1FinderInfo_1_1Point-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Apple::FinderInfo::Point Member List
    +
    +
    + +

    This is the complete list of members for Apple::FinderInfo::Point, including all inherited members.

    + + + +
    x (defined in Apple::FinderInfo::Point)Apple::FinderInfo::Point
    y (defined in Apple::FinderInfo::Point)Apple::FinderInfo::Point
    + + + + diff --git a/html/structApple_1_1FinderInfo_1_1Point.html b/html/structApple_1_1FinderInfo_1_1Point.html new file mode 100644 index 00000000..5c1248be --- /dev/null +++ b/html/structApple_1_1FinderInfo_1_1Point.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: Apple::FinderInfo::Point Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Apple::FinderInfo::Point Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +uint16_t x
     
    +uint16_t y
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry-members.html b/html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry-members.html new file mode 100644 index 00000000..67d7c32b --- /dev/null +++ b/html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Apple::ResourceFork::JumpTableCodeResource::Entry Member List
    +
    + + + + + diff --git a/html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry.html b/html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry.html new file mode 100644 index 00000000..89802640 --- /dev/null +++ b/html/structApple_1_1ResourceFork_1_1JumpTableCodeResource_1_1Entry.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: Apple::ResourceFork::JumpTableCodeResource::Entry Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Apple::ResourceFork::JumpTableCodeResource::Entry Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +uint16_t segment
     
    +uint32_t offset
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structBinary_1_1AtariFormat_1_1Segment-members.html b/html/structBinary_1_1AtariFormat_1_1Segment-members.html new file mode 100644 index 00000000..0c491d0a --- /dev/null +++ b/html/structBinary_1_1AtariFormat_1_1Segment-members.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Binary::AtariFormat::Segment Member List
    +
    +
    + +

    This is the complete list of members for Binary::AtariFormat::Segment, including all inherited members.

    + + + + + + + + + + +
    address (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segment
    header (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segment
    header_optional (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segment
    image (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segment
    ReadFile(Linker::Reader &rd) (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segment
    Segment(bool header_optional=true) (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segmentinline
    Segment(uint16_t header) (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segmentinline
    WriteFile(Linker::Writer &wr) (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segment
    ~Segment() (defined in Binary::AtariFormat::Segment)Binary::AtariFormat::Segmentinline
    + + + + diff --git a/html/structBinary_1_1AtariFormat_1_1Segment.html b/html/structBinary_1_1AtariFormat_1_1Segment.html new file mode 100644 index 00000000..06b8178a --- /dev/null +++ b/html/structBinary_1_1AtariFormat_1_1Segment.html @@ -0,0 +1,127 @@ + + + + + + + +RetroLinker: Binary::AtariFormat::Segment Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Binary::AtariFormat::Segment Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Member Functions

    Segment (bool header_optional=true)
     
    Segment (uint16_t header)
     
    +void ReadFile (Linker::Reader &rd)
     
    +void WriteFile (Linker::Writer &wr)
     
    + + + + + + + + + +

    +Public Attributes

    +uint16_t header
     
    +bool header_optional
     
    +uint16_t address
     
    +Linker::Writableimage
     
    +
    The documentation for this struct was generated from the following files:
      +
    • src/format/8bitexe.h
    • +
    • src/format/8bitexe.cc
    • +
    +
    + + + + diff --git a/html/structBinary_1_1CPM3Format_1_1rsx__record-members.html b/html/structBinary_1_1CPM3Format_1_1rsx__record-members.html new file mode 100644 index 00000000..aa002383 --- /dev/null +++ b/html/structBinary_1_1CPM3Format_1_1rsx__record-members.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Binary::CPM3Format::rsx_record Member List
    +
    + + + + + diff --git a/html/structBinary_1_1CPM3Format_1_1rsx__record.html b/html/structBinary_1_1CPM3Format_1_1rsx__record.html new file mode 100644 index 00000000..73896c5c --- /dev/null +++ b/html/structBinary_1_1CPM3Format_1_1rsx__record.html @@ -0,0 +1,110 @@ + + + + + + + +RetroLinker: Binary::CPM3Format::rsx_record Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Binary::CPM3Format::rsx_record Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Attributes

    +std::string name
     
    +uint16_t offset
     
    +uint16_t length
     
    +bool nonbanked_only
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structBinary_1_1FLEXFormat_1_1Segment-members.html b/html/structBinary_1_1FLEXFormat_1_1Segment-members.html new file mode 100644 index 00000000..bba46586 --- /dev/null +++ b/html/structBinary_1_1FLEXFormat_1_1Segment-members.html @@ -0,0 +1,95 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Binary::FLEXFormat::Segment Member List
    +
    +
    + +

    This is the complete list of members for Binary::FLEXFormat::Segment, including all inherited members.

    + + + + + +
    address (defined in Binary::FLEXFormat::Segment)Binary::FLEXFormat::Segment
    image (defined in Binary::FLEXFormat::Segment)Binary::FLEXFormat::Segment
    size (defined in Binary::FLEXFormat::Segment)Binary::FLEXFormat::Segment
    WriteFile(Linker::Writer &wr) (defined in Binary::FLEXFormat::Segment)Binary::FLEXFormat::Segment
    + + + + diff --git a/html/structBinary_1_1FLEXFormat_1_1Segment.html b/html/structBinary_1_1FLEXFormat_1_1Segment.html new file mode 100644 index 00000000..c871ae33 --- /dev/null +++ b/html/structBinary_1_1FLEXFormat_1_1Segment.html @@ -0,0 +1,115 @@ + + + + + + + +RetroLinker: Binary::FLEXFormat::Segment Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Binary::FLEXFormat::Segment Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

    +void WriteFile (Linker::Writer &wr)
     
    + + + + + + + +

    +Public Attributes

    +uint16_t address
     
    +uint16_t size
     
    +Linker::Writableimage
     
    +
    The documentation for this struct was generated from the following files:
      +
    • src/format/8bitexe.h
    • +
    • src/format/8bitexe.cc
    • +
    +
    + + + + diff --git a/html/structCOFF_1_1COFFFormat_1_1MachineType-members.html b/html/structCOFF_1_1COFFFormat_1_1MachineType-members.html new file mode 100644 index 00000000..2acd41ad --- /dev/null +++ b/html/structCOFF_1_1COFFFormat_1_1MachineType-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    COFF::COFFFormat::MachineType Member List
    +
    +
    + +

    This is the complete list of members for COFF::COFFFormat::MachineType, including all inherited members.

    + + + +
    actual_cpu (defined in COFF::COFFFormat::MachineType)COFF::COFFFormat::MachineType
    endian (defined in COFF::COFFFormat::MachineType)COFF::COFFFormat::MachineType
    + + + + diff --git a/html/structCOFF_1_1COFFFormat_1_1MachineType.html b/html/structCOFF_1_1COFFFormat_1_1MachineType.html new file mode 100644 index 00000000..9b8cb9ec --- /dev/null +++ b/html/structCOFF_1_1COFFFormat_1_1MachineType.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: COFF::COFFFormat::MachineType Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    COFF::COFFFormat::MachineType Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +cpu actual_cpu
     
    +::EndianType endian
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation-members.html b/html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation-members.html new file mode 100644 index 00000000..78bed5b9 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation-members.html @@ -0,0 +1,94 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM68KFormat::Relocation Member List
    +
    + + + + + diff --git a/html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html b/html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html new file mode 100644 index 00000000..c418e834 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM68KFormat_1_1Relocation.html @@ -0,0 +1,114 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM68KFormat::Relocation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM68KFormat::Relocation Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

    operator size_t () const
     
    + + + + + + + +

    +Public Attributes

    +size_t size
     Size of value to relocate.
     
    +unsigned segment
     Segment value, as required by CP/M-68K, they take the value that is stored in file: 1 for data, 2 for text, 3 for bss.
     
    +
    The documentation for this struct was generated from the following files:
      +
    • src/format/cpm68k.h
    • +
    • src/format/cpm68k.cc
    • +
    +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor-members.html b/html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor-members.html new file mode 100644 index 00000000..603a298c --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor-members.html @@ -0,0 +1,97 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM86Format::FastLoadDescriptor::ldt_descriptor Member List
    +
    + + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html b/html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html new file mode 100644 index 00000000..ac1d9605 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1FastLoadDescriptor_1_1ldt__descriptor.html @@ -0,0 +1,124 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::FastLoadDescriptor::ldt_descriptor Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM86Format::FastLoadDescriptor::ldt_descriptor Struct Reference
    +
    +
    + + + + + + +

    +Public Member Functions

    +void Read (Linker::Reader &rd)
     
    +void Write (Linker::Writer &wr)
     
    + + + + + + + + + + + + +

    +Public Attributes

    +uint16_t limit
     Intel 286 descriptor limit.
     
    +uint32_t address
     Intel 286 descriptor base address, 24-bit.
     
    +uint8_t group
     Group the segment belongs to.
     
    +uint16_t reserved
     
    +
    The documentation for this struct was generated from the following files:
      +
    • src/format/cpm86.h
    • +
    • src/format/cpm86.cc
    • +
    +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1Relocation-members.html b/html/structDigitalResearch_1_1CPM86Format_1_1Relocation-members.html new file mode 100644 index 00000000..e8c91518 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1Relocation-members.html @@ -0,0 +1,102 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM86Format::Relocation Member List
    +
    + + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1Relocation.html b/html/structDigitalResearch_1_1CPM86Format_1_1Relocation.html new file mode 100644 index 00000000..2d569746 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1Relocation.html @@ -0,0 +1,140 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::Relocation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM86Format::Relocation Struct Reference
    +
    +
    + +

    Represents a single relocation. + More...

    + +

    #include <cpm86.h>

    + + + + + + + + + + + + + + +

    +Public Member Functions

    Relocation (uint8_t source, uint16_t paragraph, uint16_t offset, uint8_t target)
     
    Relocation (relocation_source source, uint8_t target)
     
    operator bool () const
     
    +void Read (Linker::Reader &rd, CPM86Format *module, bool is_library=false)
     
    +void Write (Linker::Writer &wr)
     
    +relocation_source GetSource () const
     
    + + + + + + + + + +

    +Public Attributes

    +uint8_t source
     
    +uint16_t paragraph
     
    +uint8_t offset
     
    +uint8_t target
     
    +

    Detailed Description

    +

    Represents a single relocation.

    +

    The documentation for this struct was generated from the following files:
      +
    • src/format/cpm86.h
    • +
    • src/format/cpm86.cc
    • +
    +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1library-members.html b/html/structDigitalResearch_1_1CPM86Format_1_1library-members.html new file mode 100644 index 00000000..6da8a07b --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1library-members.html @@ -0,0 +1,107 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM86Format::library Member List
    +
    +
    + +

    This is the complete list of members for DigitalResearch::CPM86Format::library, including all inherited members.

    + + + + + + + + + + + + + + + + + +
    first_selectorDigitalResearch::CPM86Format::library
    flagsDigitalResearch::CPM86Format::library_id
    library() (defined in DigitalResearch::CPM86Format::library)DigitalResearch::CPM86Format::libraryinline
    library(std::string name, uint16_t major_version, uint16_t minor_version, uint32_t flags=0x11010000) (defined in DigitalResearch::CPM86Format::library)DigitalResearch::CPM86Format::libraryinline
    library_id() (defined in DigitalResearch::CPM86Format::library_id)DigitalResearch::CPM86Format::library_idinline
    library_id(std::string name, uint16_t major_version, uint16_t minor_version, uint32_t flags=0x11010000) (defined in DigitalResearch::CPM86Format::library_id)DigitalResearch::CPM86Format::library_idinline
    major_versionDigitalResearch::CPM86Format::library_id
    minor_versionDigitalResearch::CPM86Format::library_id
    nameDigitalResearch::CPM86Format::library_id
    Read(Linker::Reader &rd) (defined in DigitalResearch::CPM86Format::library)DigitalResearch::CPM86Format::library
    ReadExtended(Linker::Reader &rd) (defined in DigitalResearch::CPM86Format::library)DigitalResearch::CPM86Format::library
    relocation_countDigitalResearch::CPM86Format::library
    relocationsDigitalResearch::CPM86Format::library
    unknownDigitalResearch::CPM86Format::library
    Write(Linker::Writer &wr) (defined in DigitalResearch::CPM86Format::library)DigitalResearch::CPM86Format::library
    WriteExtended(Linker::Writer &wr) (defined in DigitalResearch::CPM86Format::library)DigitalResearch::CPM86Format::library
    + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1library.html b/html/structDigitalResearch_1_1CPM86Format_1_1library.html new file mode 100644 index 00000000..260e9544 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1library.html @@ -0,0 +1,178 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::library Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM86Format::library Struct Reference
    +
    +
    + +

    (FlexOS 286 only) A shared runtime library entry in the shared runtime library group + More...

    + +

    #include <cpm86.h>

    +
    +Inheritance diagram for DigitalResearch::CPM86Format::library:
    +
    +
    + + +DigitalResearch::CPM86Format::library_id + +
    + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    library (std::string name, uint16_t major_version, uint16_t minor_version, uint32_t flags=0x11010000)
     
    +void Write (Linker::Writer &wr)
     
    +void WriteExtended (Linker::Writer &wr)
     
    +void Read (Linker::Reader &rd)
     
    +void ReadExtended (Linker::Reader &rd)
     
    - Public Member Functions inherited from DigitalResearch::CPM86Format::library_id
    library_id (std::string name, uint16_t major_version, uint16_t minor_version, uint32_t flags=0x11010000)
     
    +void Write (Linker::Writer &wr)
     
    +void Read (Linker::Reader &rd)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +std::vector< Relocationrelocations
     The set of relocations.
     
    +uint16_t relocation_count
     Relocation count.
     
    +uint16_t first_selector
     (FASTLOAD only) First selector that references this library
     
    +uint16_t unknown
     (FASTLOAD only) Unknown
     
    - Public Attributes inherited from DigitalResearch::CPM86Format::library_id
    +std::string name
     The name of the library, 8 characters long.
     
    +uint16_t major_version
     The major version of the library.
     
    +uint16_t minor_version
     The minor version of the library.
     
    +uint32_t flags
     System specific flags, undocumented.
     
    +

    Detailed Description

    +

    (FlexOS 286 only) A shared runtime library entry in the shared runtime library group

    +

    Executables that must be linked at runtime contain a sequence of library identifiers, together with a count of relocations to the library segment base.

    +

    The documentation for this struct was generated from the following files:
      +
    • src/format/cpm86.h
    • +
    • src/format/cpm86.cc
    • +
    +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1library.png b/html/structDigitalResearch_1_1CPM86Format_1_1library.png new file mode 100644 index 0000000000000000000000000000000000000000..282178dca0e991eaecc10b46b28827a94f162d1f GIT binary patch literal 951 zcmeAS@N?(olHy`uVBq!ia0vp^KY%!ZgBeINJ9z8@QqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(SbKoguiT^vIy7~jr)*!Nh0r-j{p z)w93zf9zspR#Wrcb!+$QSz3!PI3(3?Gpyg3ds{5>u0ey>K1`gZNFPpi&f zj^8fS{!UG)XqnufY5v9^vh1H;l>0SnAy=I7l}{o0OHDpqIFifJz?~PiO<%11OX6yd zvp){**q0ICu(vX1{l4k5*pB#D$sgt_{Ac;mQOvU4aR=8u$;$Hn+X?)4&p!WU_k-mgv;Dh| z|76zBb*av{9_GJmSLWXK4$J4;tNY}4{R()slUr@#yDaZs(rbSIf(zCf2~PCCCV6Db6<3$K&0;$`JXCZG1Sfh_HRa#l#wx<_ z$JmxZVbP){dpXCGi<|6sCQoW-jgOUONXl$vb^t16=vcza$1rir0Y-&MVipX*7-4Vl zhN~wRzaQAFtTy9T+Zp-C?_~Cr-_)Mf`F*i*aDl#ce&g?@c5L@KKlwNG zTeufUx2%3JcVhYX9lYNz+^t#nzS;l5`o{0iE8eQya^AhI>e5x;*S0QaEcf3n{&V4K zd(in`R63ylzwZSy-fS&NyyWkBWVy+>z5k>L>57 qVD*~>40KPUN%J0PE)@x=XXvp%{mnRiZ5S|%F?hQAxvX + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM86Format::library_id Member List
    +
    + + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1library__id.html b/html/structDigitalResearch_1_1CPM86Format_1_1library__id.html new file mode 100644 index 00000000..f87fb434 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1library__id.html @@ -0,0 +1,145 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::library_id Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM86Format::library_id Struct Reference
    +
    +
    + +

    (FlexOS only) A shared runtime library identifier + More...

    + +

    #include <cpm86.h>

    +
    +Inheritance diagram for DigitalResearch::CPM86Format::library_id:
    +
    +
    + + +DigitalResearch::CPM86Format::library + +
    + + + + + + + + +

    +Public Member Functions

    library_id (std::string name, uint16_t major_version, uint16_t minor_version, uint32_t flags=0x11010000)
     
    +void Write (Linker::Writer &wr)
     
    +void Read (Linker::Reader &rd)
     
    + + + + + + + + + + + + + +

    +Public Attributes

    +std::string name
     The name of the library, 8 characters long.
     
    +uint16_t major_version
     The major version of the library.
     
    +uint16_t minor_version
     The minor version of the library.
     
    +uint32_t flags
     System specific flags, undocumented.
     
    +

    Detailed Description

    +

    (FlexOS only) A shared runtime library identifier

    +

    A library is identified by its name, version number and flags. This identifier is stored in the header of a library, and then used in executables to reference the library.

    +

    The documentation for this struct was generated from the following files:
      +
    • src/format/cpm86.h
    • +
    • src/format/cpm86.cc
    • +
    +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1library__id.png b/html/structDigitalResearch_1_1CPM86Format_1_1library__id.png new file mode 100644 index 0000000000000000000000000000000000000000..269112ebe49933f53cbbb43f0ab4397109c504bc GIT binary patch literal 954 zcmV;r14aCaP)vTJr#LVva2S`&=-}Ys|Ns9r%~qrU000SeQchC<|NsC0|NsC0Hv*f~0009; zNklp3OIBKv&$yoUM(q{pO}`ob&|T z+N@G87#xw5v%sZ^t!LuR8nOcU-A7kzuyf?#3nu+zJ zF;j3aIxm6ysXjX2aq@S7k2ptg>x8S|-6pS|aqH}%y7^pR2cN)u;KwuG-{ZBCXbtVk z>Pb~MrT5@5=l*u@@k3P~Qax9}M0QV`Y78+K-K46MG|#QOktBbm<`gctO;VD4Q`J;! zH~%TPW*JGov(6xV_0tbLdTHpW>NedhRB58pGKqM`20Enao4gis~zyTnV7B~Pz(gFv7 zNLt_k5J?Lh0RFeOZQFiIk8Rtw9}+eZk$76*A|jErz(qtN=>VQSe|x9B8vp1N5s~K_ zrk0O&5gje>$_$ zND}FvG4jPZEyuI@<_zeH`Ry_oDL>xS#5y^BpID2l$9{1h-DO3f^t< z>KV7r9;%zq^>y$G{5A0Y9bVLgk?v_zjUmoO zcK{a=^W3=`MMQq5Zi0K&P( + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM86Format::relocation_source Member List
    +
    + + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1relocation__source.html b/html/structDigitalResearch_1_1CPM86Format_1_1relocation__source.html new file mode 100644 index 00000000..8d2a87b5 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1relocation__source.html @@ -0,0 +1,124 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::relocation_source Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM86Format::relocation_source Struct Reference
    +
    +
    + +

    Represents the location of a 16-bit words that needs to be relocated. + More...

    + +

    #include <cpm86.h>

    + + + + + + +

    +Public Member Functions

    relocation_source (size_t segment, offset_t offset)
     
    +bool operator< (const relocation_source &other) const
     
    + + + + + + + +

    +Public Attributes

    +number_t segment
     The segment group number that contains the required relocation.
     
    +offset_t offset
     The offset to the word within the segment group.
     
    +

    Detailed Description

    +

    Represents the location of a 16-bit words that needs to be relocated.

    +

    The documentation for this struct was generated from the following files:
      +
    • src/format/cpm86.h
    • +
    • src/format/cpm86.cc
    • +
    +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1rsx__record-members.html b/html/structDigitalResearch_1_1CPM86Format_1_1rsx__record-members.html new file mode 100644 index 00000000..c86bf82c --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1rsx__record-members.html @@ -0,0 +1,99 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM86Format::rsx_record Member List
    +
    + + + + + diff --git a/html/structDigitalResearch_1_1CPM86Format_1_1rsx__record.html b/html/structDigitalResearch_1_1CPM86Format_1_1rsx__record.html new file mode 100644 index 00000000..a2150683 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM86Format_1_1rsx__record.html @@ -0,0 +1,154 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM86Format::rsx_record Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM86Format::rsx_record Struct Reference
    +
    +
    + +

    Represents an attached RSX file (residential system extension) + More...

    + +

    #include <cpm86.h>

    + + + + + + + + + + + + + + +

    +Public Member Functions

    +void Initialize ()
     
    +void Clear ()
     
    +void Read (Linker::Reader &rd)
     
    +void ReadModule (Linker::Reader &rd)
     
    +void Write (Linker::Writer &wr)
     
    +void WriteModule (Linker::Writer &wr)
     
    + + + + + + + +

    +Public Attributes

    +std::string name
     The filename of the RSX file, 8-byte long.
     
    uint16_t offset_record
     The offset to the attached RSX file, in 128-byte units.
     
    +

    Detailed Description

    +

    Represents an attached RSX file (residential system extension)

    +

    Any CMD file may contain a number of RSX attachments, either stored within the same file, or on disk

    +

    Member Data Documentation

    + +

    ◆ offset_record

    + +
    +
    + + + + +
    uint16_t DigitalResearch::CPM86Format::rsx_record::offset_record
    +
    + +

    The offset to the attached RSX file, in 128-byte units.

    +

    The special value 0x0000 represents that the RSX file is stored separately and must be loaded dynamically. The special value 0xFFFF does not belong to an actual RSX file, but signals the end of an RSX record table.

    + +
    +
    +
    The documentation for this struct was generated from the following files:
      +
    • src/format/cpm86.h
    • +
    • src/format/cpm86.cc
    • +
    +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation-members.html b/html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation-members.html new file mode 100644 index 00000000..d7b52f51 --- /dev/null +++ b/html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation-members.html @@ -0,0 +1,102 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM8KFormat::Relocation Member List
    +
    + + + + + diff --git a/html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html b/html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html new file mode 100644 index 00000000..edd9ff9f --- /dev/null +++ b/html/structDigitalResearch_1_1CPM8KFormat_1_1Relocation.html @@ -0,0 +1,157 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM8KFormat::Relocation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    DigitalResearch::CPM8KFormat::Relocation Struct Reference
    +
    +
    + + + + +

    +Public Types

    enum  relocation_type {
    +  SEG_OFFSET = 1 +, SEG_SHORT_SEGMENTED = 2 +, SEG_LONG_SEGMENTED = 3 +, EXT_OFFSET = 5 +,
    +  EXT_SHORT_SEGMENTED = 6 +, EXT_LONG_SEGMENTED = 7 +
    + }
     
    + + + + + + + + + + + + +

    +Public Attributes

    +uint8_t segment
     The source segment of the relocation.
     
    +enum DigitalResearch::CPM8KFormat::Relocation::relocation_type type
     
    +uint16_t offset
     Source offset of relocation.
     
    +uint16_t target
     The segment or symbol number that the relocation references.
     
    +

    Member Enumeration Documentation

    + +

    ◆ relocation_type

    + +
    +
    + + + + + + + +
    Enumerator
    SEG_OFFSET 

    A 16-bit offset to segment.

    +
    SEG_SHORT_SEGMENTED 

    A 16-bit segmented address of segment.

    +
    SEG_LONG_SEGMENTED 

    A 32-bit segmented address of segment.

    +
    EXT_OFFSET 

    A 16-bit offset to external item.

    +
    EXT_SHORT_SEGMENTED 

    A 16-bit segmented address of external item.

    +
    EXT_LONG_SEGMENTED 

    A 32-bit segmented address of external item.

    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structDigitalResearch_1_1CPM8KFormat_1_1Symbol.html b/html/structDigitalResearch_1_1CPM8KFormat_1_1Symbol.html new file mode 100644 index 00000000..3d35073b --- /dev/null +++ b/html/structDigitalResearch_1_1CPM8KFormat_1_1Symbol.html @@ -0,0 +1,91 @@ + + + + + + + +RetroLinker: DigitalResearch::CPM8KFormat::Symbol Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    DigitalResearch::CPM8KFormat::Symbol Struct Reference
    +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structMicrosoft_1_1LEFormat_1_1Name-members.html b/html/structMicrosoft_1_1LEFormat_1_1Name-members.html new file mode 100644 index 00000000..6859f4a7 --- /dev/null +++ b/html/structMicrosoft_1_1LEFormat_1_1Name-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Microsoft::LEFormat::Name Member List
    +
    +
    + +

    This is the complete list of members for Microsoft::LEFormat::Name, including all inherited members.

    + + + +
    name (defined in Microsoft::LEFormat::Name)Microsoft::LEFormat::Name
    ordinal (defined in Microsoft::LEFormat::Name)Microsoft::LEFormat::Name
    + + + + diff --git a/html/structMicrosoft_1_1LEFormat_1_1Name.html b/html/structMicrosoft_1_1LEFormat_1_1Name.html new file mode 100644 index 00000000..e9c43320 --- /dev/null +++ b/html/structMicrosoft_1_1LEFormat_1_1Name.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: Microsoft::LEFormat::Name Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Microsoft::LEFormat::Name Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +std::string name
     
    +uint16_t ordinal
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structMicrosoft_1_1MZFormat_1_1PIF-members.html b/html/structMicrosoft_1_1MZFormat_1_1PIF-members.html new file mode 100644 index 00000000..6ba6c5e2 --- /dev/null +++ b/html/structMicrosoft_1_1MZFormat_1_1PIF-members.html @@ -0,0 +1,106 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Microsoft::MZFormat::PIF Member List
    +
    +
    + +

    This is the complete list of members for Microsoft::MZFormat::PIF, including all inherited members.

    + + + + + + + + + + + + + + + + +
    com_port_usage (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    Dump(Dumper::Dumper &dump, offset_t file_offset) (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    flags (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    highest_used_interrupt (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    lowest_used_interrupt (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    lpt_port_usage (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    MAGIC_BEGIN (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIFstatic
    MAGIC_END (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIFstatic
    maximum_extra_paragraphs (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    minimum_extra_paragraphs (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    ReadFile(Linker::Reader &rd) (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    screen_usage (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    SetDefaults() (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    SIZE (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIFstatic
    WriteFile(Linker::Writer &wr) (defined in Microsoft::MZFormat::PIF)Microsoft::MZFormat::PIF
    + + + + diff --git a/html/structMicrosoft_1_1MZFormat_1_1PIF.html b/html/structMicrosoft_1_1MZFormat_1_1PIF.html new file mode 100644 index 00000000..c9737c7d --- /dev/null +++ b/html/structMicrosoft_1_1MZFormat_1_1PIF.html @@ -0,0 +1,159 @@ + + + + + + + +RetroLinker: Microsoft::MZFormat::PIF Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Microsoft::MZFormat::PIF Struct Reference
    +
    +
    + +

    Concurrent DOS embedded program information, produced by PIFED. + More...

    + +

    #include <mzexe.h>

    + + + + + + + + + + +

    +Public Member Functions

    +void SetDefaults ()
     
    +void ReadFile (Linker::Reader &rd)
     
    +void WriteFile (Linker::Writer &wr)
     
    +void Dump (Dumper::Dumper &dump, offset_t file_offset)
     
    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +uint16_t maximum_extra_paragraphs
     
    +uint16_t minimum_extra_paragraphs
     
    +uint8_t flags
     
    +uint8_t lowest_used_interrupt
     
    +uint8_t highest_used_interrupt
     
    +uint8_t com_port_usage
     
    +uint8_t lpt_port_usage
     
    +uint8_t screen_usage
     
    + + + + + + + +

    +Static Public Attributes

    +static constexpr uint32_t MAGIC_BEGIN = 0x0013EDC1
     
    +static constexpr uint32_t MAGIC_END = 0xEDC10013
     
    +static constexpr size_t SIZE = 19
     
    +

    Detailed Description

    +

    Concurrent DOS embedded program information, produced by PIFED.

    +

    The documentation for this struct was generated from the following files:
      +
    • src/format/mzexe.h
    • +
    • src/format/mzexe.cc
    • +
    +
    + + + + diff --git a/html/structMicrosoft_1_1MZFormat_1_1Relocation-members.html b/html/structMicrosoft_1_1MZFormat_1_1Relocation-members.html new file mode 100644 index 00000000..b0b59a58 --- /dev/null +++ b/html/structMicrosoft_1_1MZFormat_1_1Relocation-members.html @@ -0,0 +1,98 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Microsoft::MZFormat::Relocation Member List
    +
    +
    + +

    This is the complete list of members for Microsoft::MZFormat::Relocation, including all inherited members.

    + + + + + + + + +
    FromLinear(uint32_t address) (defined in Microsoft::MZFormat::Relocation)Microsoft::MZFormat::Relocationstatic
    GetOffset() const (defined in Microsoft::MZFormat::Relocation)Microsoft::MZFormat::Relocation
    offsetMicrosoft::MZFormat::Relocation
    operator<(const Relocation &other) const (defined in Microsoft::MZFormat::Relocation)Microsoft::MZFormat::Relocation
    operator==(const Relocation &other) const (defined in Microsoft::MZFormat::Relocation)Microsoft::MZFormat::Relocation
    Relocation(uint16_t segment, uint16_t offset) (defined in Microsoft::MZFormat::Relocation)Microsoft::MZFormat::Relocationinline
    segmentMicrosoft::MZFormat::Relocation
    + + + + diff --git a/html/structMicrosoft_1_1MZFormat_1_1Relocation.html b/html/structMicrosoft_1_1MZFormat_1_1Relocation.html new file mode 100644 index 00000000..21bbb488 --- /dev/null +++ b/html/structMicrosoft_1_1MZFormat_1_1Relocation.html @@ -0,0 +1,138 @@ + + + + + + + +RetroLinker: Microsoft::MZFormat::Relocation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Microsoft::MZFormat::Relocation Struct Reference
    +
    +
    + +

    Represents a relocation entry in the header, as a pair of 16-bit words. + More...

    + +

    #include <mzexe.h>

    + + + + + + + + + + +

    +Public Member Functions

    Relocation (uint16_t segment, uint16_t offset)
     
    +uint32_t GetOffset () const
     
    +bool operator== (const Relocation &other) const
     
    +bool operator< (const Relocation &other) const
     
    + + + +

    +Static Public Member Functions

    +static Relocation FromLinear (uint32_t address)
     
    + + + + + + + +

    +Public Attributes

    +uint16_t segment
     Segment of relocation.
     
    +uint16_t offset
     Offset of relocation within segment.
     
    +

    Detailed Description

    +

    Represents a relocation entry in the header, as a pair of 16-bit words.

    +

    Since only the linear offset of the relocation is actually imporant, the same relocation can be represented as various different pairs

    +

    The documentation for this struct was generated from the following files:
      +
    • src/format/mzexe.h
    • +
    • src/format/mzexe.cc
    • +
    +
    + + + + diff --git a/html/structMicrosoft_1_1NEFormat_1_1Name-members.html b/html/structMicrosoft_1_1NEFormat_1_1Name-members.html new file mode 100644 index 00000000..45137bb3 --- /dev/null +++ b/html/structMicrosoft_1_1NEFormat_1_1Name-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Microsoft::NEFormat::Name Member List
    +
    +
    + +

    This is the complete list of members for Microsoft::NEFormat::Name, including all inherited members.

    + + + +
    name (defined in Microsoft::NEFormat::Name)Microsoft::NEFormat::Name
    ordinal (defined in Microsoft::NEFormat::Name)Microsoft::NEFormat::Name
    + + + + diff --git a/html/structMicrosoft_1_1NEFormat_1_1Name.html b/html/structMicrosoft_1_1NEFormat_1_1Name.html new file mode 100644 index 00000000..548387ed --- /dev/null +++ b/html/structMicrosoft_1_1NEFormat_1_1Name.html @@ -0,0 +1,104 @@ + + + + + + + +RetroLinker: Microsoft::NEFormat::Name Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Microsoft::NEFormat::Name Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +std::string name
     
    +uint16_t ordinal
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structMicrosoft_1_1NEFormat_1_1version-members.html b/html/structMicrosoft_1_1NEFormat_1_1version-members.html new file mode 100644 index 00000000..7508c947 --- /dev/null +++ b/html/structMicrosoft_1_1NEFormat_1_1version-members.html @@ -0,0 +1,93 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    Microsoft::NEFormat::version Member List
    +
    +
    + +

    This is the complete list of members for Microsoft::NEFormat::version, including all inherited members.

    + + + +
    major (defined in Microsoft::NEFormat::version)Microsoft::NEFormat::version
    minor (defined in Microsoft::NEFormat::version)Microsoft::NEFormat::version
    + + + + diff --git a/html/structMicrosoft_1_1NEFormat_1_1version.html b/html/structMicrosoft_1_1NEFormat_1_1version.html new file mode 100644 index 00000000..d05fdcf5 --- /dev/null +++ b/html/structMicrosoft_1_1NEFormat_1_1version.html @@ -0,0 +1,111 @@ + + + + + + + +RetroLinker: Microsoft::NEFormat::version Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Microsoft::NEFormat::version Struct Reference
    +
    +
    + +

    Version number. + More...

    + +

    #include <neexe.h>

    + + + + + + +

    +Public Attributes

    +uint8_t major
     
    +uint8_t minor
     
    +

    Detailed Description

    +

    Version number.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/html/structformat__description-members.html b/html/structformat__description-members.html new file mode 100644 index 00000000..44e49ceb --- /dev/null +++ b/html/structformat__description-members.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    format_description Member List
    +
    +
    + +

    This is the complete list of members for format_description, including all inherited members.

    + + + +
    magic (defined in format_description)format_description
    offset (defined in format_description)format_description
    + + + + diff --git a/html/structformat__description.html b/html/structformat__description.html new file mode 100644 index 00000000..dd517349 --- /dev/null +++ b/html/structformat__description.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: format_description Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    format_description Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +format_magic magic
     
    +uint32_t offset
     
    +
    The documentation for this struct was generated from the following file:
      +
    • src/main.cc
    • +
    +
    + + + + diff --git a/html/structformat__magic-members.html b/html/structformat__magic-members.html new file mode 100644 index 00000000..25e0788e --- /dev/null +++ b/html/structformat__magic-members.html @@ -0,0 +1,92 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    format_magic Member List
    +
    +
    + +

    This is the complete list of members for format_magic, including all inherited members.

    + + + + + + +
    description (defined in format_magic)format_magic
    magic (defined in format_magic)format_magic
    offset (defined in format_magic)format_magic
    special_parse (defined in format_magic)format_magic
    type (defined in format_magic)format_magic
    + + + + diff --git a/html/structformat__magic.html b/html/structformat__magic.html new file mode 100644 index 00000000..bd45ff38 --- /dev/null +++ b/html/structformat__magic.html @@ -0,0 +1,109 @@ + + + + + + + +RetroLinker: format_magic Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    format_magic Struct Reference
    +
    +
    + + + + + + + + + + + + +

    +Public Attributes

    +std::string magic
     
    +unsigned offset
     
    +format_type type
     
    +std::string description
     
    +bool(* special_parse )(Reader &in, format_description &description)
     
    +
    The documentation for this struct was generated from the following file:
      +
    • src/main.cc
    • +
    +
    + + + + diff --git a/html/structoutput__format__type-members.html b/html/structoutput__format__type-members.html new file mode 100644 index 00000000..395869f5 --- /dev/null +++ b/html/structoutput__format__type-members.html @@ -0,0 +1,90 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    output_format_type Member List
    +
    +
    + +

    This is the complete list of members for output_format_type, including all inherited members.

    + + + + +
    documentation (defined in output_format_type)output_format_type
    format (defined in output_format_type)output_format_type
    produce (defined in output_format_type)output_format_type
    + + + + diff --git a/html/structoutput__format__type.html b/html/structoutput__format__type.html new file mode 100644 index 00000000..1a0684ca --- /dev/null +++ b/html/structoutput__format__type.html @@ -0,0 +1,103 @@ + + + + + + + +RetroLinker: output_format_type Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    output_format_type Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    +std::string format
     
    +OutputFormat *(* produce )()
     
    +std::string documentation
     
    +
    The documentation for this struct was generated from the following file:
      +
    • src/main.cc
    • +
    +
    + + + + diff --git a/html/structyy__buffer__state-members.html b/html/structyy__buffer__state-members.html new file mode 100644 index 00000000..4849d938 --- /dev/null +++ b/html/structyy__buffer__state-members.html @@ -0,0 +1,99 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    yy_buffer_state Member List
    +
    +
    + +

    This is the complete list of members for yy_buffer_state, including all inherited members.

    + + + + + + + + + + + + + +
    yy_at_bol (defined in yy_buffer_state)yy_buffer_state
    yy_bs_columnyy_buffer_state
    yy_bs_linenoyy_buffer_state
    yy_buf_pos (defined in yy_buffer_state)yy_buffer_state
    yy_buf_size (defined in yy_buffer_state)yy_buffer_state
    yy_buffer_status (defined in yy_buffer_state)yy_buffer_state
    yy_ch_buf (defined in yy_buffer_state)yy_buffer_state
    yy_fill_buffer (defined in yy_buffer_state)yy_buffer_state
    yy_input_file (defined in yy_buffer_state)yy_buffer_state
    yy_is_interactive (defined in yy_buffer_state)yy_buffer_state
    yy_is_our_buffer (defined in yy_buffer_state)yy_buffer_state
    yy_n_chars (defined in yy_buffer_state)yy_buffer_state
    + + + + diff --git a/html/structyy__buffer__state.html b/html/structyy__buffer__state.html new file mode 100644 index 00000000..36dea311 --- /dev/null +++ b/html/structyy__buffer__state.html @@ -0,0 +1,159 @@ + + + + + + + +RetroLinker: yy_buffer_state Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    yy_buffer_state Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    +FILE * yy_input_file
     
    +char * yy_ch_buf
     
    +char * yy_buf_pos
     
    +int yy_buf_size
     
    +int yy_n_chars
     
    +int yy_is_our_buffer
     
    +int yy_is_interactive
     
    +int yy_at_bol
     
    int yy_bs_lineno
     
    int yy_bs_column
     
    +int yy_fill_buffer
     
    +int yy_buffer_status
     
    +

    Member Data Documentation

    + +

    ◆ yy_bs_column

    + +
    +
    + + + + +
    int yy_buffer_state::yy_bs_column
    +
    +

    The column count.

    + +
    +
    + +

    ◆ yy_bs_lineno

    + +
    +
    + + + + +
    int yy_buffer_state::yy_bs_lineno
    +
    +

    The line count.

    + +
    +
    +
    The documentation for this struct was generated from the following file:
      +
    • src/script/scan.cc
    • +
    +
    + + + + diff --git a/html/structyy__trans__info-members.html b/html/structyy__trans__info-members.html new file mode 100644 index 00000000..6285fe19 --- /dev/null +++ b/html/structyy__trans__info-members.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    yy_trans_info Member List
    +
    +
    + +

    This is the complete list of members for yy_trans_info, including all inherited members.

    + + + +
    yy_nxt (defined in yy_trans_info)yy_trans_info
    yy_verify (defined in yy_trans_info)yy_trans_info
    + + + + diff --git a/html/structyy__trans__info.html b/html/structyy__trans__info.html new file mode 100644 index 00000000..04e13bef --- /dev/null +++ b/html/structyy__trans__info.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: yy_trans_info Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    yy_trans_info Struct Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +flex_int32_t yy_verify
     
    +flex_int32_t yy_nxt
     
    +
    The documentation for this struct was generated from the following file:
      +
    • src/script/scan.cc
    • +
    +
    + + + + diff --git a/html/symbol_8h_source.html b/html/symbol_8h_source.html new file mode 100644 index 00000000..7cb25832 --- /dev/null +++ b/html/symbol_8h_source.html @@ -0,0 +1,271 @@ + + + + + + + +RetroLinker: src/linker/symbol.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    symbol.h
    +
    +
    +
    1#ifndef SYMBOLNAME_H
    +
    2#define SYMBOLNAME_H
    +
    3
    +
    4#include <iostream>
    +
    5#include <optional>
    +
    6#include <string>
    +
    7#include "../common.h"
    +
    8
    +
    9namespace Linker
    +
    10{
    +
    + +
    18 {
    +
    19 protected:
    +
    20 std::optional<std::string> library;
    +
    21 /* internal symbols: empty, imported symbols: refers to the library (NE, LE, PE) */
    +
    22 std::optional<std::string> name;
    +
    23 /* symbols imported by ordinal: empty (NE, LE, PE), other symbols: the name of the symbol */
    +
    24 std::optional<uint16_t> hint;
    +
    25 /* symbols imported not by ordinal: empty (NE, LE), except PE where it is a hint, other symbols: ordinal */
    +
    26
    +
    27 public:
    +
    +
    31 SymbolName(std::string name)
    +
    32 : name(name)
    +
    33 {
    +
    34 }
    +
    +
    35
    +
    +
    39 SymbolName(std::string library, std::string name)
    +
    40 : library(library), name(name)
    +
    41 {
    +
    42 }
    +
    +
    43
    +
    +
    49 SymbolName(std::string library, std::string name, uint16_t hint)
    +
    50 : library(library), name(name), hint(hint)
    +
    51 {
    +
    52 }
    +
    +
    53
    +
    +
    59 SymbolName(std::string library, uint16_t ordinal)
    +
    60 : library(library), hint(ordinal)
    +
    61 {
    +
    62 }
    +
    +
    63
    +
    67 bool LoadName(std::string& result) const;
    +
    68
    +
    72 bool LoadLibraryName(std::string& result) const;
    +
    73
    +
    77 bool LoadOrdinalOrHint(uint16_t& result) const;
    +
    78
    +
    82 bool GetLocalName(std::string& result) const;
    +
    83
    +
    87 bool GetImportedName(std::string& result_library, std::string& result_name) const;
    +
    88
    +
    92 bool GetImportedName(std::string& result_library, std::string& result_name, uint16_t& result_hint) const;
    +
    93
    +
    97 bool GetImportedOrdinal(std::string& result_library, uint16_t& result_ordinal) const;
    +
    98
    +
    102 bool operator ==(const SymbolName& other) const;
    +
    103
    +
    107 bool operator !=(const SymbolName& other) const;
    +
    108 };
    +
    +
    109
    +
    113 std::ostream& operator<<(std::ostream& out, const SymbolName& symbol);
    +
    114
    +
    + +
    119 {
    +
    120 protected:
    +
    121 bool by_ordinal;
    +
    122 std::string name;
    +
    123 std::optional<uint16_t> ordinal;
    +
    124
    +
    125 public:
    +
    +
    129 ExportedSymbol(std::string name)
    +
    130 : by_ordinal(false), name(name), ordinal()
    +
    131 {
    +
    132 }
    +
    +
    133
    +
    +
    139 ExportedSymbol(std::string name, uint16_t hint)
    +
    140 : by_ordinal(false), name(name), ordinal(hint)
    +
    141 {
    +
    142 }
    +
    +
    143
    +
    +
    147 ExportedSymbol(uint16_t ordinal, std::string internal_name)
    +
    148 : by_ordinal(true), name(internal_name), ordinal(ordinal)
    +
    149 {
    +
    150 }
    +
    +
    151
    +
    152 bool IsExportedByOrdinal() const;
    +
    153
    +
    157 bool LoadName(std::string& result) const;
    +
    158
    +
    162 bool LoadOrdinalOrHint(uint16_t& result) const;
    +
    163
    +
    167 bool GetExportedByName(std::string& result) const;
    +
    168
    +
    172 bool GetExportedByName(std::string& result, uint16_t& hint) const;
    +
    173
    +
    177 bool GetExportedByOrdinal(uint16_t& result) const;
    +
    178
    +
    182 bool GetExportedByOrdinal(uint16_t& result, std::string& result_name) const;
    +
    183
    +
    187 bool operator ==(const ExportedSymbol& other) const;
    +
    188
    +
    192 bool operator !=(const ExportedSymbol& other) const;
    +
    193
    +
    197 bool operator <(const ExportedSymbol& other) const;
    +
    198
    +
    202 bool operator >=(const ExportedSymbol& other) const;
    +
    203
    +
    207 bool operator >(const ExportedSymbol& other) const;
    +
    208
    +
    212 bool operator <=(const ExportedSymbol& other) const;
    +
    213 };
    +
    +
    214
    +
    218 std::ostream& operator<<(std::ostream& out, const ExportedSymbol& symbol);
    +
    219
    +
    + +
    224 {
    +
    225 public:
    +
    226 std::string name;
    +
    227 offset_t size, align;
    +
    228
    +
    229 CommonSymbol(std::string name = "", offset_t size = 0, offset_t align = 1)
    +
    230 : name(name), size(size), align(align)
    +
    231 {
    +
    232 }
    +
    233 };
    +
    +
    234
    +
    235 std::ostream& operator<<(std::ostream& out, const CommonSymbol& symbol);
    +
    236}
    +
    237
    +
    238#endif /* SYMBOLNAME_H */
    +
    Represents a currently unallocated variable that should be allocated in the final stages of the linki...
    Definition symbol.h:224
    +
    Represents a symbol to be exported from the module.
    Definition symbol.h:119
    +
    bool operator>(const ExportedSymbol &other) const
    Compares two symbols for ordering.
    Definition symbol.cc:249
    +
    bool operator<(const ExportedSymbol &other) const
    Compares two symbols for ordering.
    Definition symbol.cc:236
    +
    bool GetExportedByName(std::string &result) const
    For symbols exported by name, returns the name.
    Definition symbol.cc:167
    +
    bool operator>=(const ExportedSymbol &other) const
    Compares two symbols for ordering.
    Definition symbol.cc:244
    +
    bool operator!=(const ExportedSymbol &other) const
    Compares two symbols for inequality.
    Definition symbol.cc:231
    +
    bool operator<=(const ExportedSymbol &other) const
    Compares two symbols for ordering.
    Definition symbol.cc:254
    +
    ExportedSymbol(std::string name, uint16_t hint)
    Creates a symbol exported by name, with a corresponding hint.
    Definition symbol.h:139
    +
    bool LoadName(std::string &result) const
    Returns the name of the symbol.
    Definition symbol.cc:148
    +
    bool LoadOrdinalOrHint(uint16_t &result) const
    Returns the hint or ordinal of the symbol.
    Definition symbol.cc:154
    +
    bool GetExportedByOrdinal(uint16_t &result) const
    For symbols exported by ordinal, returns the ordinal.
    Definition symbol.cc:197
    +
    ExportedSymbol(std::string name)
    Creates a symbol exported by name.
    Definition symbol.h:129
    +
    bool operator==(const ExportedSymbol &other) const
    Compares two symbols for equality.
    Definition symbol.cc:226
    +
    ExportedSymbol(uint16_t ordinal, std::string internal_name)
    Creates a symbol exported by ordinal, with an associated internal name.
    Definition symbol.h:147
    +
    Represents an (imported or internal) symbol name, which can be more complex than a string.
    Definition symbol.h:18
    +
    bool GetImportedOrdinal(std::string &result_library, uint16_t &result_ordinal) const
    For symbols imported by ordinal, returns the library and ordinal.
    Definition symbol.cc:92
    +
    bool operator!=(const SymbolName &other) const
    Compares two symbols for inequality.
    Definition symbol.cc:112
    +
    SymbolName(std::string library, uint16_t ordinal)
    Creates a symbol imported via ordinal, from a library.
    Definition symbol.h:59
    +
    SymbolName(std::string name)
    Creates an internal symbol with a name.
    Definition symbol.h:31
    +
    bool GetLocalName(std::string &result) const
    For local symbols, returns the name.
    Definition symbol.cc:45
    +
    bool LoadName(std::string &result) const
    Retrieves the name of the symbol, if it has one.
    Definition symbol.cc:6
    +
    SymbolName(std::string library, std::string name)
    Creates a symbol imported via name, from a library.
    Definition symbol.h:39
    +
    SymbolName(std::string library, std::string name, uint16_t hint)
    Creates a symbol imported via name and a hint, from a library.
    Definition symbol.h:49
    +
    bool LoadOrdinalOrHint(uint16_t &result) const
    Retrieves the ordinal of symbols imported by ordinal, or the hint for imported symbols with a hint.
    Definition symbol.cc:32
    +
    bool LoadLibraryName(std::string &result) const
    Retrieves the name of the library, if it is imported.
    Definition symbol.cc:19
    +
    bool GetImportedName(std::string &result_library, std::string &result_name) const
    For symbols imported by name, returns the library and name.
    Definition symbol.cc:60
    +
    bool operator==(const SymbolName &other) const
    Compares two symbols for equality.
    Definition symbol.cc:107
    +
    + + + + diff --git a/html/sync_off.png b/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/html/sync_on.png b/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/html/tab_a.png b/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/html/tab_ad.png b/html/tab_ad.png new file mode 100644 index 0000000000000000000000000000000000000000..e34850acfc24be58da6d2fd1ccc6b29cc84fe34d GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QhuH;jv*C{Z|5d*H3V=pKi{In zd2jxLclDRPylmD}^l7{QOtL{vUjO{-WqItb5sQp2h-99b8^^Scr-=2mblCdZuUm?4 jzOJvgvt3{(cjKLW5(A@0qPS@<&}0TrS3j3^P6y&q2{!U5bk+Tso_B!YCpDh>v z{CM*1U8YvQRyBUHt^Ju0W_sq-?;9@_4equ-bavTs=gk796zopr0EBT&m;e9( literal 0 HcmV?d00001 diff --git a/html/tab_s.png b/html/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7) zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$ z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/html/tab_sd.png b/html/tab_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..757a565ced4730f85c833fb2547d8e199ae68f19 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qq7(&jv*C{Z|_!fH5o7*c=%9% zcILh!EA=pAQKdx-Cdiev=v{eg{8Ht<{e8_NAN~b=)%W>-WDCE0PyDHGemi$BoXwcK z{>e9^za6*c1ilttWw&V+U;WCPlV9{LdC~Ey%_H(qj`xgfES(4Yz5jSTZfCt`4E$0YRsR*S^mTCR^;V&sxC8{l_Cp7w8-YPgg&ebxsLQ00$vXK>z>% literal 0 HcmV?d00001 diff --git a/html/tabs.css b/html/tabs.css new file mode 100644 index 00000000..fe4854aa --- /dev/null +++ b/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/html/target_8h_source.html b/html/target_8h_source.html new file mode 100644 index 00000000..ff1a663e --- /dev/null +++ b/html/target_8h_source.html @@ -0,0 +1,155 @@ + + + + + + + +RetroLinker: src/linker/target.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    target.h
    +
    +
    +
    1#ifndef TARGET_H
    +
    2#define TARGET_H
    +
    3
    +
    4#include <iostream>
    +
    5#include <variant>
    +
    6#include "../common.h"
    +
    7#include "location.h"
    +
    8#include "symbol.h"
    +
    9
    +
    10namespace Linker
    +
    11{
    +
    12 class Module;
    +
    13
    +
    +
    23 class Target
    +
    24 {
    +
    25 public:
    +
    29 std::variant<Location, SymbolName> target;
    + +
    34
    +
    35 Target(std::variant<Location, SymbolName> target = Location(), bool segment_of = false)
    + +
    37 {
    +
    38 }
    +
    39
    +
    40 Target(Location location, bool segment_of = false)
    +
    41 : target(location), segment_of(segment_of)
    +
    42 {
    +
    43 /* Note: when resolved, the segment starts at the location section start */
    +
    44 }
    +
    45
    +
    46 Target(SymbolName symbol, bool segment_of = false)
    +
    47 : target(symbol), segment_of(segment_of)
    +
    48 {
    +
    49 }
    +
    50
    +
    56 Target GetSegment();
    +
    57
    +
    64 bool Displace(const Displacement& displacement);
    +
    65
    +
    71 bool ResolveLocals(Module& object);
    +
    72
    +
    80 bool Lookup(Module& object, Position& position);
    +
    81 };
    +
    +
    82
    +
    83 bool operator==(const Target& a, const Target& b);
    +
    84
    +
    85 bool operator!=(const Target& a, const Target& b);
    +
    86
    +
    87 std::ostream& operator<<(std::ostream& out, const Target& target);
    +
    88}
    +
    89
    +
    90#endif /* TARGET_H */
    +
    Represents a single offset within a section, or an absolute location in memory if the section is null...
    Definition location.h:16
    +
    Represents a possible target or reference frame of a relocation.
    Definition target.h:24
    +
    bool ResolveLocals(Module &object)
    If the target refers to an internal symbol, it gets resolved to a location.
    Definition target.cc:21
    +
    bool segment_of
    Whether the target is the segment, rather than the offset, of the location or symbol.
    Definition target.h:33
    +
    std::variant< Location, SymbolName > target
    The actual target, either an internal/absolute location, or an imported symbol.
    Definition target.h:29
    +
    Target GetSegment()
    Creates a new target that references the segment of this target.
    Definition target.cc:7
    +
    bool Displace(const Displacement &displacement)
    Recalculates target after a section has moved.
    Definition target.cc:12
    +
    bool Lookup(Module &object, Position &position)
    Returns a Position object for locations and internal symbols, if possible.
    Definition target.cc:42
    +
    + + + + diff --git a/html/unionPharLap_1_1MPFormat_1_1Relocation-members.html b/html/unionPharLap_1_1MPFormat_1_1Relocation-members.html new file mode 100644 index 00000000..9764f42f --- /dev/null +++ b/html/unionPharLap_1_1MPFormat_1_1Relocation-members.html @@ -0,0 +1,97 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    PharLap::MPFormat::Relocation Member List
    +
    +
    + +

    This is the complete list of members for PharLap::MPFormat::Relocation, including all inherited members.

    + + + + + + + +
    offset (defined in PharLap::MPFormat::Relocation)PharLap::MPFormat::Relocation
    operator<(const Relocation &other) const (defined in PharLap::MPFormat::Relocation)PharLap::MPFormat::Relocation
    operator==(const Relocation &other) const (defined in PharLap::MPFormat::Relocation)PharLap::MPFormat::Relocation
    rel32 (defined in PharLap::MPFormat::Relocation)PharLap::MPFormat::Relocation
    Relocation(uint32_t offset, unsigned rel32) (defined in PharLap::MPFormat::Relocation)PharLap::MPFormat::Relocationinline
    value (defined in PharLap::MPFormat::Relocation)PharLap::MPFormat::Relocation
    + + + + diff --git a/html/unionPharLap_1_1MPFormat_1_1Relocation.html b/html/unionPharLap_1_1MPFormat_1_1Relocation.html new file mode 100644 index 00000000..2cb7f79d --- /dev/null +++ b/html/unionPharLap_1_1MPFormat_1_1Relocation.html @@ -0,0 +1,126 @@ + + + + + + + +RetroLinker: PharLap::MPFormat::Relocation Union Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    PharLap::MPFormat::Relocation Union Reference
    +
    +
    + + + + + + + + +

    +Public Member Functions

    Relocation (uint32_t offset, unsigned rel32)
     
    +bool operator== (const Relocation &other) const
     
    +bool operator< (const Relocation &other) const
     
    + + + + + + + + + + + +

    +Public Attributes

    +struct { 
     
    +   uint32_t   offset: 31 
     
    +   uint32_t   rel32: 1 
     
    };  
     
    +uint32_t value
     
    +
    The documentation for this union was generated from the following files:
      +
    • src/format/pharlap.h
    • +
    • src/format/pharlap.cc
    • +
    +
    + + + + diff --git a/html/unionYYSTYPE-members.html b/html/unionYYSTYPE-members.html new file mode 100644 index 00000000..0db467e6 --- /dev/null +++ b/html/unionYYSTYPE-members.html @@ -0,0 +1,91 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    YYSTYPE Member List
    +
    +
    + +

    This is the complete list of members for YYSTYPE, including all inherited members.

    + + + + + +
    i (defined in YYSTYPE)YYSTYPE
    l (defined in YYSTYPE)YYSTYPE
    n (defined in YYSTYPE)YYSTYPE
    s (defined in YYSTYPE)YYSTYPE
    + + + + diff --git a/html/unionYYSTYPE.html b/html/unionYYSTYPE.html new file mode 100644 index 00000000..eacac11c --- /dev/null +++ b/html/unionYYSTYPE.html @@ -0,0 +1,107 @@ + + + + + + + +RetroLinker: YYSTYPE Union Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    YYSTYPE Union Reference
    +
    +
    + + + + + + + + + + +

    +Public Attributes

    +char * s
     
    +long i
     
    +class Noden
     
    +class Listl
     
    +
    The documentation for this union was generated from the following files: +
    + + + + diff --git a/html/unionyyalloc-members.html b/html/unionyyalloc-members.html new file mode 100644 index 00000000..153ee3d8 --- /dev/null +++ b/html/unionyyalloc-members.html @@ -0,0 +1,89 @@ + + + + + + + +RetroLinker: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    yyalloc Member List
    +
    +
    + +

    This is the complete list of members for yyalloc, including all inherited members.

    + + + +
    yyss_alloc (defined in yyalloc)yyalloc
    yyvs_alloc (defined in yyalloc)yyalloc
    + + + + diff --git a/html/unionyyalloc.html b/html/unionyyalloc.html new file mode 100644 index 00000000..8e58d098 --- /dev/null +++ b/html/unionyyalloc.html @@ -0,0 +1,100 @@ + + + + + + + +RetroLinker: yyalloc Union Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    yyalloc Union Reference
    +
    +
    + + + + + + +

    +Public Attributes

    +yytype_int16 yyss_alloc
     
    +YYSTYPE yyvs_alloc
     
    +
    The documentation for this union was generated from the following file:
      +
    • src/script/parse.tab.cc
    • +
    +
    + + + + diff --git a/html/unittest_2format_2mzexe_8cc_source.html b/html/unittest_2format_2mzexe_8cc_source.html new file mode 100644 index 00000000..7828a257 --- /dev/null +++ b/html/unittest_2format_2mzexe_8cc_source.html @@ -0,0 +1,535 @@ + + + + + + + +RetroLinker: unittest/format/mzexe.cc Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    mzexe.cc
    +
    +
    +
    1
    +
    2#include <cppunit/extensions/HelperMacros.h>
    +
    3#include <cppunit/TestFixture.h>
    +
    4
    +
    5#include "../../src/format/mzexe.h"
    +
    6
    +
    7using namespace Linker;
    +
    8using namespace Microsoft;
    +
    9
    +
    10namespace UnitTests
    +
    11{
    +
    12
    +
    +
    13class TestMZFormat : public CppUnit::TestFixture
    +
    14{
    +
    15 CPPUNIT_TEST_SUITE(TestMZFormat);
    +
    16 CPPUNIT_TEST(testCreateEXE);
    +
    17 CPPUNIT_TEST(testEXEFileSize);
    +
    18 CPPUNIT_TEST(testEXEHeaderValues);
    +
    19 CPPUNIT_TEST(testEXERelocations);
    +
    20 CPPUNIT_TEST(testEXEHeaderSize);
    +
    21 CPPUNIT_TEST_SUITE_END();
    +
    22private:
    +
    23 MZFormat exe;
    +
    24 Section * code;
    +
    25
    +
    27 void testCreateEXE();
    +
    28 void testEXEFileSize();
    +
    29 void testEXEHeaderValues();
    +
    30 void testEXERelocations();
    +
    31 void testEXEHeaderSize();
    +
    32
    +
    33 std::string store();
    +
    34 void load(std::string data);
    +
    35
    +
    36 std::string generate_image(size_t size);
    +
    37 void set_image(std::string data);
    +
    38 void test_image(std::string data);
    +
    39
    +
    40 std::vector<MZFormat::Relocation> generate_relocations(size_t count);
    +
    41 void test_relocations(std::vector<MZFormat::Relocation>& relocations);
    +
    42public:
    +
    43 void setUp();
    +
    44 void tearDown();
    +
    45};
    +
    +
    46
    +
    47void TestMZFormat::testCreateEXE()
    +
    48{
    +
    49 exe.Initialize();
    +
    50 exe.CalculateValues();
    +
    51 std::string image = store();
    +
    52 load(image);
    +
    53 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    54 CPPUNIT_ASSERT(exe.GetHeaderSize() >= 0x20);
    +
    55 test_image("");
    +
    56}
    +
    57
    +
    58void TestMZFormat::testEXEFileSize()
    +
    59{
    +
    60 std::string data;
    +
    61
    +
    62 data = generate_image(1);
    +
    63 exe.Clear();
    +
    64 exe.Initialize();
    +
    65 set_image(data);
    +
    66 exe.CalculateValues();
    +
    67 load(store());
    +
    68 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    69 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    70 test_image(data);
    +
    71
    +
    72 /* check roll over */
    +
    73
    +
    74 data = generate_image(511 - 0x20);
    +
    75 exe.Clear();
    +
    76 exe.Initialize();
    +
    77 set_image(data);
    +
    78 exe.CalculateValues();
    +
    79 load(store());
    +
    80 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    81 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    82 test_image(data);
    +
    83
    +
    84 data = generate_image(512 - 0x20);
    +
    85 exe.Clear();
    +
    86 exe.Initialize();
    +
    87 set_image(data);
    +
    88 exe.CalculateValues();
    +
    89 load(store());
    +
    90 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    91 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    92 test_image(data);
    +
    93
    +
    94 data = generate_image(513 - 0x20);
    +
    95 exe.Clear();
    +
    96 exe.Initialize();
    +
    97 set_image(data);
    +
    98 exe.CalculateValues();
    +
    99 load(store());
    +
    100 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    101 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    102 test_image(data);
    +
    103
    +
    104 data = generate_image(1023 - 0x20);
    +
    105 exe.Clear();
    +
    106 exe.Initialize();
    +
    107 set_image(data);
    +
    108 exe.CalculateValues();
    +
    109 load(store());
    +
    110 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    111 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    112 test_image(data);
    +
    113
    +
    114 data = generate_image(1024 - 0x20);
    +
    115 exe.Clear();
    +
    116 exe.Initialize();
    +
    117 set_image(data);
    +
    118 exe.CalculateValues();
    +
    119 load(store());
    +
    120 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    121 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    122 test_image(data);
    +
    123
    +
    124 data = generate_image(1025 - 0x20);
    +
    125 exe.Clear();
    +
    126 exe.Initialize();
    +
    127 set_image(data);
    +
    128 exe.CalculateValues();
    +
    129 load(store());
    +
    130 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    131 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    132 test_image(data);
    +
    133
    +
    134 /* check largest file size */
    +
    135
    +
    136 if(true)
    +
    137 return; /* ignore this test, takes a while to run */
    +
    138
    +
    139 data = generate_image((0xFFFF << 9) - 0x20);
    +
    140 exe.Clear();
    +
    141 exe.Initialize();
    +
    142 set_image(data);
    +
    143 exe.CalculateValues();
    +
    144 load(store());
    +
    145 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    146 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    147 test_image(data);
    +
    148}
    +
    149
    +
    150void TestMZFormat::testEXEHeaderValues()
    +
    151{
    +
    152 std::string data;
    +
    153
    +
    154 static const uint16_t min_extra_paras = 0x1234;
    +
    155 static const uint16_t max_extra_paras = 0x5678;
    +
    156 static const uint16_t cs = 0x0102;
    +
    157 static const uint16_t ip = 0x0304;
    +
    158 static const uint16_t ss = 0x0506;
    +
    159 static const uint16_t sp = 0x0506;
    +
    160 static const uint16_t overlay_number = 0xABCD;
    +
    161
    +
    162 /* TODO: also test checksum */
    +
    163
    +
    164 data = generate_image((cs << 4) + ip + 1 - 0x20);
    +
    165 exe.Clear();
    +
    166 exe.Initialize();
    +
    167 set_image(data);
    +
    168 exe.SetSignature(MZFormat::MAGIC_ZM);
    +
    169 exe.min_extra_paras = min_extra_paras;
    +
    170 exe.extra_paras = max_extra_paras - min_extra_paras;
    +
    171 exe.cs = cs;
    +
    172 exe.ip = ip;
    +
    173 exe.ss = ss;
    +
    174 exe.sp = sp;
    +
    175 exe.overlay_number = overlay_number;
    +
    176 exe.CalculateValues();
    +
    177 load(store());
    +
    178 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_ZM, exe.GetSignature());
    +
    179 CPPUNIT_ASSERT(exe.GetHeaderSize() == 0x20);
    +
    180 test_image(data);
    +
    181 CPPUNIT_ASSERT_EQUAL(min_extra_paras, exe.min_extra_paras);
    +
    182 CPPUNIT_ASSERT_EQUAL(max_extra_paras, exe.max_extra_paras);
    +
    183 CPPUNIT_ASSERT_EQUAL(overlay_number, exe.overlay_number);
    +
    184 CPPUNIT_ASSERT_EQUAL(cs, exe.cs);
    +
    185 CPPUNIT_ASSERT_EQUAL(ip, exe.ip);
    +
    186 CPPUNIT_ASSERT_EQUAL(ss, exe.ss);
    +
    187 CPPUNIT_ASSERT_EQUAL(sp, exe.sp);
    +
    188}
    +
    189
    +
    190void TestMZFormat::testEXERelocations()
    +
    191{
    +
    192 std::vector<MZFormat::Relocation> relocations;
    +
    193 std::string data;
    +
    194
    +
    195 relocations = generate_relocations(1);
    +
    196 data = generate_image(2);
    +
    197 exe.Clear();
    +
    198 exe.Initialize();
    +
    199 set_image(data);
    +
    200 exe.relocations = relocations;
    +
    201 exe.CalculateValues();
    +
    202 load(store());
    +
    203 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    204 CPPUNIT_ASSERT(exe.relocation_offset >= 0x1C);
    +
    205 CPPUNIT_ASSERT(exe.GetHeaderSize() >= exe.relocation_offset + 4 * exe.relocations.size());
    +
    206 test_relocations(relocations);
    +
    207 test_image(data);
    +
    208
    +
    209 /* test repositioned 0 relocations */
    +
    210
    +
    211 static const uint16_t relocation_offset1 = 0x56;
    +
    212 exe.Clear();
    +
    213 exe.Initialize();
    +
    214 set_image(data);
    +
    215 exe.relocation_offset = relocation_offset1;
    +
    216 exe.CalculateValues();
    +
    217 load(store());
    +
    218 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    219 CPPUNIT_ASSERT_EQUAL(relocation_offset1, exe.relocation_offset);
    +
    220 CPPUNIT_ASSERT_EQUAL(0ul, exe.relocations.size());
    +
    221 CPPUNIT_ASSERT(exe.GetHeaderSize() >= exe.relocation_offset);
    +
    222 test_image(data);
    +
    223
    +
    224 /* test ill position relocation being overridden */
    +
    225
    +
    226 static const uint16_t relocation_offset2 = 0x03;
    +
    227 relocations = generate_relocations(1);
    +
    228 exe.Clear();
    +
    229 exe.Initialize();
    +
    230 set_image(data);
    +
    231 exe.relocation_offset = relocation_offset2;
    +
    232 exe.relocations = relocations;
    +
    233 exe.CalculateValues();
    +
    234 load(store());
    +
    235 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    236// std::cout << exe.relocation_offset << std::endl;
    +
    237 CPPUNIT_ASSERT(exe.relocation_offset >= 0x1C);
    +
    238 CPPUNIT_ASSERT(exe.GetHeaderSize() >= exe.relocation_offset + 4 * exe.relocations.size());
    +
    239 test_relocations(relocations);
    +
    240 test_image(data);
    +
    241
    +
    242 /* test too many relocations */
    +
    243
    +
    244 relocations = generate_relocations(0x3FF8);
    +
    245 exe.Clear();
    +
    246 exe.Initialize();
    +
    247 set_image(data);
    +
    248 exe.relocations = relocations;
    +
    249 CPPUNIT_ASSERT_THROW(exe.CalculateValues(), Exception);
    +
    250
    +
    251 /* test invalid relocation offset */
    +
    252
    +
    253 static const uint16_t relocation_offset3 = 0xFFFF;
    +
    254 relocations = generate_relocations(1);
    +
    255 exe.Clear();
    +
    256 exe.Initialize();
    +
    257 exe.relocation_offset = relocation_offset3;
    +
    258 exe.relocations = relocations;
    +
    259 CPPUNIT_ASSERT_THROW(exe.CalculateValues(), Exception);
    +
    260}
    +
    261
    +
    262void TestMZFormat::testEXEHeaderSize()
    +
    263{
    +
    264 std::vector<MZFormat::Relocation> relocations;
    +
    265 std::string data;
    +
    266
    +
    267 /* normal */
    +
    268
    +
    269 offset_t normal_header_size;
    +
    270
    +
    271 data = generate_image(4);
    +
    272 relocations = generate_relocations(4);
    +
    273 exe.Clear();
    +
    274 exe.Initialize();
    +
    275 set_image(data);
    +
    276 exe.relocations = relocations;
    +
    277 exe.CalculateValues();
    +
    278 load(store());
    +
    279 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    280 CPPUNIT_ASSERT(exe.relocation_offset >= 0x1C);
    +
    281 CPPUNIT_ASSERT(exe.GetHeaderSize() >= exe.relocation_offset + 4 * exe.relocations.size());
    +
    282 test_relocations(relocations);
    +
    283 test_image(data);
    +
    284
    +
    285 normal_header_size = exe.GetHeaderSize();
    +
    286
    +
    287 offset_t header_align = 0x10;
    +
    288 while(header_align <= normal_header_size)
    +
    289 header_align <<= 1;
    +
    290
    +
    291 /* higher alignment */
    +
    292
    +
    293 data = generate_image(4);
    +
    294 relocations = generate_relocations(4);
    +
    295 exe.Clear();
    +
    296 exe.Initialize();
    +
    297 set_image(data);
    +
    298 exe.relocations = relocations;
    +
    299 exe.option_header_align = header_align;
    +
    300 exe.CalculateValues();
    +
    301 load(store());
    +
    302 CPPUNIT_ASSERT_EQUAL(MZFormat::MAGIC_MZ, exe.GetSignature());
    +
    303 CPPUNIT_ASSERT(exe.relocation_offset >= 0x1C);
    +
    304 CPPUNIT_ASSERT(exe.GetHeaderSize() >= exe.relocation_offset + 4 * exe.relocations.size());
    +
    305 CPPUNIT_ASSERT((exe.GetHeaderSize() & (header_align - 1)) == 0);
    +
    306 test_relocations(relocations);
    +
    307 test_image(data);
    +
    308}
    +
    309
    +
    310void TestMZFormat::setUp()
    +
    311{
    +
    312 exe.Clear();
    +
    313 exe.Initialize();
    +
    314 code = new Linker::Section(".code");
    +
    315}
    +
    316
    +
    317void TestMZFormat::tearDown()
    +
    318{
    +
    319 exe.Clear();
    +
    320 delete code;
    +
    321 code = nullptr;
    +
    322}
    +
    323
    +
    324std::string TestMZFormat::store()
    +
    325{
    +
    326 std::string image;
    +
    327 std::ostringstream out;
    +
    328 Writer wr(::Undefined, &out);
    +
    329 exe.WriteFile(wr);
    +
    330 return out.str();
    +
    331}
    +
    332
    +
    333void TestMZFormat::load(std::string data)
    +
    334{
    +
    335 std::istringstream in(data);
    +
    336 Reader rd(::Undefined, &in);
    +
    337 CPPUNIT_ASSERT_NO_THROW(exe.ReadFile(rd));
    +
    338}
    +
    339
    +
    340std::string TestMZFormat::generate_image(size_t size)
    +
    341{
    +
    342 /* first it generates a sequence of 256 sequential bytes, but then the next 256 bytes are incremented by 3 each, then 5, then 7 etc. */
    +
    343 std::ostringstream out;
    +
    344 for(size_t i = 0; i < size; i++)
    +
    345 {
    +
    346 int off = i & 0xFF;
    +
    347 size_t inc = (i >> 7) | 1;
    +
    348 out.put(char(inc * off));
    +
    349 }
    +
    350 return out.str();
    +
    351}
    +
    352
    +
    353void TestMZFormat::set_image(std::string data)
    +
    354{
    +
    355 code->Reset();
    +
    356 code->Append(data.c_str(), data.size());
    +
    357 Linker::Segment * segment = new Linker::Segment(".code");
    +
    358 segment->Append(code);
    +
    359 if(exe.image)
    +
    360 delete exe.image;
    +
    361 exe.image = segment;
    +
    362/* if(exe.image_segment)
    +
    363 delete exe.image_segment;
    +
    364 exe.image_segment = segment;*/
    +
    365}
    +
    366
    +
    367void TestMZFormat::test_image(std::string data)
    +
    368{
    +
    369 uint32_t file_size = exe.GetHeaderSize() + data.size();
    +
    370 CPPUNIT_ASSERT_EQUAL(file_size & 0x1FF, (uint32_t)exe.last_block_size);
    +
    371 CPPUNIT_ASSERT_EQUAL((file_size + 0x1FF) >> 9, (uint32_t)exe.file_size_blocks);
    +
    372 CPPUNIT_ASSERT_EQUAL(file_size, exe.GetFileSize());
    +
    373 Linker::Buffer * buffer = dynamic_cast<Linker::Buffer *>(exe.image);
    +
    374 assert(buffer != nullptr); /* internal check */
    +
    375 CPPUNIT_ASSERT_EQUAL(data.size(), buffer->ActualDataSize());
    +
    376 for(uint32_t i = 0; i < data.size(); i++)
    +
    377 {
    +
    378 CPPUNIT_ASSERT_EQUAL(data[i] & 0xFF, buffer->GetByte(i) & 0xFF);
    +
    379 }
    +
    380}
    +
    381
    +
    382std::vector<MZFormat::Relocation> TestMZFormat::generate_relocations(size_t count)
    +
    383{
    +
    384 std::vector<MZFormat::Relocation> relocations;
    +
    385 for(size_t i = 0; i < count; i++)
    +
    386 {
    +
    387 int off = i & 0xFF;
    +
    388 size_t inc = (i >> 7) | 1;
    +
    389 off = (off * inc) & 0xFF;
    +
    390 relocations.push_back(MZFormat::Relocation(off * 0x0102, off * 0x0304));
    +
    391 }
    +
    392 return relocations;
    +
    393}
    +
    394
    +
    395void TestMZFormat::test_relocations(std::vector<MZFormat::Relocation>& relocations)
    +
    396{
    +
    397 /* TODO: relocations do not have to be exactly the same, in the exact same order */
    +
    398 CPPUNIT_ASSERT_EQUAL(relocations.size(), exe.relocations.size());
    +
    399 for(size_t i = 0; i < relocations.size(); i++)
    +
    400 {
    +
    401 CPPUNIT_ASSERT(relocations[i] == exe.relocations[i]);
    +
    402 }
    +
    403}
    +
    404
    +
    405}
    +
    406
    +
    A buffer that can be used to read and store data from a file.
    Definition section.h:22
    +
    offset_t ActualDataSize() override
    Retrieves size of stored data.
    Definition section.cc:6
    +
    int GetByte(offset_t offset) override
    Retrieve byte at a certain offset (optional, might not be defined)
    Definition section.cc:36
    +
    Definition linker.h:15
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A section of data as read from an object file.
    Definition section.h:52
    +
    void Reset()
    Clear the section.
    Definition section.cc:381
    +
    offset_t Append(const void *new_data, size_t length)
    Appends data at the end of a section.
    Definition section.cc:279
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    void Append(Section *section)
    Appends section to segment.
    Definition segment.cc:40
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    MZ .EXE format for MS-DOS.
    Definition mzexe.h:35
    +
    void Initialize() override
    Sets all fields to their default values.
    Definition mzexe.cc:148
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition mzexe.cc:266
    +
    uint16_t relocation_offset
    Offset to first relocation. Updated by CalculateValues.
    Definition mzexe.h:79
    +
    uint16_t cs
    Initial value for the code segment (CS)
    Definition mzexe.h:77
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition mzexe.cc:207
    +
    uint16_t min_extra_paras
    Minimum required extra memory, in paragraphs.
    Definition mzexe.h:65
    +
    @ MAGIC_ZM
    According to some sources such as Ralf Brown's interrupt list, some early excutables started with the...
    Definition mzexe.h:45
    +
    @ MAGIC_MZ
    The most common magic number "MZ".
    Definition mzexe.h:43
    +
    uint16_t last_block_size
    Size of last 512 byte block, 0 if full. Set by CalculateValues.
    Definition mzexe.h:54
    +
    uint16_t extra_paras
    Required maximum extra paragraphs after bss.
    Definition mzexe.h:200
    +
    void CalculateValues() override
    Intermediate step between processing module and generating output file to set up headers and manageme...
    Definition mzexe.cc:350
    +
    uint16_t file_size_blocks
    Size of MZ image in 512 blocks, rounded up. Set by CalculateValues.
    Definition mzexe.h:56
    +
    void Clear() override
    Resets all fields to their default values, deallocate memory.
    Definition mzexe.cc:177
    +
    Linker::Writable * image
    The program image, placed after the MZ header.
    Definition mzexe.h:145
    +
    uint16_t ip
    Entry point initial value for IP.
    Definition mzexe.h:75
    +
    uint16_t sp
    Initial value for the stack (SP)
    Definition mzexe.h:71
    +
    std::vector< Relocation > relocations
    Address relocation offsets to paragraph fixups.
    Definition mzexe.h:113
    +
    uint32_t option_header_align
    User provided alignment value for header size.
    Definition mzexe.h:206
    +
    uint16_t ss
    Initial value for the stack segment (SS)
    Definition mzexe.h:69
    +
    uint16_t overlay_number
    Overlay number, should be 0 for main programs, not used for .exm files.
    Definition mzexe.h:82
    +
    uint16_t max_extra_paras
    Maximum required extra memory, in paragraphs. Set by CalculateValues using extra_paras.
    Definition mzexe.h:67
    +
    Definition mzexe.cc:14
    +
    Represents a relocation entry in the header, as a pair of 16-bit words.
    Definition mzexe.h:92
    +
    + + + + diff --git a/html/unittest_2linker_2location_8cc_source.html b/html/unittest_2linker_2location_8cc_source.html new file mode 100644 index 00000000..f1ee7095 --- /dev/null +++ b/html/unittest_2linker_2location_8cc_source.html @@ -0,0 +1,210 @@ + + + + + + + +RetroLinker: unittest/linker/location.cc Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    location.cc
    +
    +
    +
    1
    +
    2#include <cppunit/extensions/HelperMacros.h>
    +
    3#include <cppunit/TestFixture.h>
    +
    4
    +
    5#include "../../src/linker/location.h"
    +
    6#include "../../src/linker/section.h"
    +
    7#include "../../src/linker/segment.h"
    +
    8
    +
    9using namespace Linker;
    +
    10
    +
    11namespace UnitTests
    +
    12{
    +
    13
    +
    +
    14class TestLocation : public CppUnit::TestFixture
    +
    15{
    +
    16 CPPUNIT_TEST_SUITE(TestLocation);
    +
    17 CPPUNIT_TEST(testDefaultLocations);
    +
    18 CPPUNIT_TEST(testLocationArithmetic);
    +
    19 CPPUNIT_TEST(testLocationToPosition);
    +
    20 CPPUNIT_TEST(testLocationDisplacement);
    +
    21 CPPUNIT_TEST_SUITE_END();
    +
    22private:
    +
    23 Section * test_section;
    +
    24 void testDefaultLocations();
    +
    25 void testLocationArithmetic();
    +
    26 void testLocationToPosition();
    +
    27 void testLocationDisplacement();
    +
    28public:
    +
    29 void setUp();
    +
    30 void tearDown();
    +
    31};
    +
    +
    32
    +
    33void TestLocation::testDefaultLocations()
    +
    34{
    +
    35 CPPUNIT_ASSERT_EQUAL(Location(), Location(nullptr, 0));
    +
    36 CPPUNIT_ASSERT_EQUAL(Location(123), Location(nullptr, 123));
    +
    37 CPPUNIT_ASSERT_EQUAL(Location(test_section), Location(test_section, 0));
    +
    38}
    +
    39
    +
    40void TestLocation::testLocationArithmetic()
    +
    41{
    +
    42 Section test(".test");
    +
    43 Location location = Location(test_section, 123);
    +
    44 location += 456;
    +
    45 CPPUNIT_ASSERT_EQUAL(location, Location(test_section, 123 + 456));
    +
    46 location -= 123;
    +
    47 CPPUNIT_ASSERT_EQUAL(location, Location(test_section, 456));
    +
    48 CPPUNIT_ASSERT_EQUAL(Location(test_section, 123) + 456, Location(test_section, 123 + 456));
    +
    49 CPPUNIT_ASSERT_EQUAL(Location(test_section, 123) - 456, Location(test_section, 123 - 456));
    +
    50}
    +
    51
    +
    52void TestLocation::testLocationToPosition()
    +
    53{
    +
    54 test_section->segment = new Segment(".test");
    +
    55 test_section->SetAddress(0x1234);
    +
    56 test_section->bias = 0x123;
    +
    57
    +
    58 Location location = Location(test_section, 123);
    +
    59
    +
    60 CPPUNIT_ASSERT_EQUAL(Position(0x1234 + 123, test_section->segment), location.GetPosition());
    +
    61 CPPUNIT_ASSERT_EQUAL(Position(0x1234 - 0x123, test_section->segment), location.GetPosition(true));
    +
    62
    +
    63 location = Location(123);
    +
    64
    +
    65 CPPUNIT_ASSERT_EQUAL(Position(123, nullptr), location.GetPosition());
    +
    66 CPPUNIT_ASSERT_EQUAL(Position(0, nullptr), location.GetPosition(true));
    +
    67
    +
    68 delete test_section->segment;
    +
    69}
    +
    70
    +
    71void TestLocation::testLocationDisplacement()
    +
    72{
    +
    73 Displacement displacement;
    +
    74 Location location = Location(test_section, 123);
    +
    75 CPPUNIT_ASSERT(!location.Displace(displacement));
    +
    76 CPPUNIT_ASSERT_EQUAL(location, Location(test_section, 123));
    +
    77
    +
    78 Section * unrelated_section = new Section(".unrelated");
    +
    79 displacement[unrelated_section] = 456;
    +
    80 CPPUNIT_ASSERT(!location.Displace(displacement));
    +
    81 CPPUNIT_ASSERT_EQUAL(location, Location(test_section, 123));
    +
    82
    +
    83 displacement[test_section] = Location(unrelated_section, 789);
    +
    84 CPPUNIT_ASSERT(location.Displace(displacement));
    +
    85 CPPUNIT_ASSERT_EQUAL(location, Location(unrelated_section, 123 + 789));
    +
    86
    +
    87 location = Location(nullptr, 123);
    +
    88 CPPUNIT_ASSERT(!location.Displace(displacement));
    +
    89 CPPUNIT_ASSERT_EQUAL(location, Location(nullptr, 123));
    +
    90
    +
    91 delete unrelated_section;
    +
    92}
    +
    93
    +
    94void TestLocation::setUp()
    +
    95{
    +
    96 test_section = new Section(".test");
    +
    97}
    +
    98
    +
    99void TestLocation::tearDown()
    +
    100{
    +
    101 delete test_section;
    +
    102}
    +
    103
    +
    104}
    +
    105
    +
    Represents a single offset within a section, or an absolute location in memory if the section is null...
    Definition location.h:16
    +
    Position GetPosition(bool segment_of=false) const
    Calculates the address.
    Definition location.cc:22
    +
    bool Displace(const Displacement &displacement)
    Recalculates location after a section has moved.
    Definition location.cc:8
    +
    Stores an absolute address along with the containing segment or address space.
    Definition position.h:17
    +
    A section of data as read from an object file.
    Definition section.h:52
    +
    offset_t SetAddress(offset_t new_address)
    For non-fixed segments, sets the starting address and makes the fixed.
    Definition section.cc:162
    +
    offset_t bias
    Difference between the first byte of the section and the zero address associated with the section.
    Definition section.h:148
    +
    Segment * segment
    The segment a section belongs to.
    Definition section.h:163
    +
    A class representing a sequence of sections that must be written to the output file as a group.
    Definition segment.h:25
    +
    Definition location.cc:15
    +
    + + + + diff --git a/html/unittest_2linker_2reader_8cc_source.html b/html/unittest_2linker_2reader_8cc_source.html new file mode 100644 index 00000000..080c50cc --- /dev/null +++ b/html/unittest_2linker_2reader_8cc_source.html @@ -0,0 +1,281 @@ + + + + + + + +RetroLinker: unittest/linker/reader.cc Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    reader.cc
    +
    +
    +
    1
    +
    2#include <cppunit/extensions/HelperMacros.h>
    +
    3#include <cppunit/TestFixture.h>
    +
    4#include <string>
    +
    5#include <sstream>
    +
    6
    +
    7#include "../../src/linker/reader.h"
    +
    8
    +
    9using namespace Linker;
    +
    10
    +
    11namespace UnitTests
    +
    12{
    +
    13
    +
    +
    14class TestReader : public CppUnit::TestFixture
    +
    15{
    +
    16 CPPUNIT_TEST_SUITE(TestReader);
    +
    17 CPPUNIT_TEST(testReadData);
    +
    18 CPPUNIT_TEST(testReadBinaryData);
    +
    19 CPPUNIT_TEST(testReadInteger);
    +
    20 CPPUNIT_TEST(testSeekSkip);
    +
    21 CPPUNIT_TEST_SUITE_END();
    +
    22private:
    +
    23 void testReadData();
    +
    24 void testReadBinaryData();
    +
    25 void testReadInteger();
    +
    26 void testSeekSkip();
    +
    27
    +
    28 std::string readData(std::string payload);
    +
    29 uint64_t readInteger(std::string payload, ::EndianType endiantype, bool isSigned = false);
    +
    30 uint64_t parseInteger(std::string buffer, ::EndianType endiantype, bool isSigned = false);
    +
    31public:
    +
    32 void setUp();
    +
    33 void tearDown();
    +
    34};
    +
    +
    35
    +
    36std::string TestReader::readData(std::string payload)
    +
    37{
    +
    38 char buffer[payload.size()];
    +
    39 std::istringstream * iss = new std::istringstream(payload);
    +
    40
    +
    41 Reader * reader = new Reader(::LittleEndian, iss);
    +
    42 reader->ReadData(sizeof buffer, buffer);
    +
    43 std::string result = std::string(buffer, sizeof buffer);
    +
    44 CPPUNIT_ASSERT_EQUAL(payload, result);
    +
    45 delete reader;
    +
    46 delete iss;
    +
    47 return result;
    +
    48}
    +
    49
    +
    50void TestReader::testReadData()
    +
    51{
    +
    52 char payload[] = "Test data loaded successfully";
    +
    53 std::string payload_string(payload, sizeof payload - 1);
    +
    54 readData(payload_string);
    +
    55}
    +
    56
    +
    57void TestReader::testReadBinaryData()
    +
    58{
    +
    59 char payload[256];
    +
    60 for(int i = 0; i < 256; i++)
    +
    61 {
    +
    62 payload[i] = 0xD5 ^ i;
    +
    63 }
    +
    64 std::string payload_string(payload, sizeof payload - 1);
    +
    65 readData(payload_string);
    +
    66}
    +
    67
    +
    68uint64_t TestReader::readInteger(std::string payload, ::EndianType endiantype, bool isSigned)
    +
    69{
    +
    70 std::istringstream * iss = new std::istringstream(payload);
    +
    71 Reader * reader = new Reader(endiantype, iss);
    +
    72
    +
    73 uint64_t result =
    +
    74 isSigned
    +
    75 ? reader->ReadSigned(payload.size(), endiantype)
    +
    76 : reader->ReadUnsigned(payload.size(), endiantype);
    +
    77 delete reader;
    +
    78 delete iss;
    +
    79
    +
    80 return result;
    +
    81}
    +
    82
    +
    83uint64_t TestReader::parseInteger(std::string buffer, ::EndianType endiantype, bool isSigned)
    +
    84{
    +
    85 return readInteger(buffer, endiantype, isSigned);
    +
    86}
    +
    87
    +
    88void TestReader::testReadInteger()
    +
    89{
    +
    90 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12, parseInteger(std::string("\x12", 1), ::LittleEndian));
    +
    91 CPPUNIT_ASSERT_EQUAL((uint64_t)0x89, parseInteger(std::string("\x89", 1), ::LittleEndian));
    +
    92 CPPUNIT_ASSERT_EQUAL((uint64_t)0x3412, parseInteger(std::string("\x12\x34", 2), ::LittleEndian));
    +
    93 CPPUNIT_ASSERT_EQUAL((uint64_t)0x8912, parseInteger(std::string("\x12\x89", 2), ::LittleEndian));
    +
    94 CPPUNIT_ASSERT_EQUAL((uint64_t)0x563412, parseInteger(std::string("\x12\x34\x56", 3), ::LittleEndian));
    +
    95 CPPUNIT_ASSERT_EQUAL((uint64_t)0x893412, parseInteger(std::string("\x12\x34\x89", 3), ::LittleEndian));
    +
    96 CPPUNIT_ASSERT_EQUAL((uint64_t)0x78563412, parseInteger(std::string("\x12\x34\x56\x78", 4), ::LittleEndian));
    +
    97 CPPUNIT_ASSERT_EQUAL((uint64_t)0x89563412, parseInteger(std::string("\x12\x34\x56\x89", 4), ::LittleEndian));
    +
    98 CPPUNIT_ASSERT_EQUAL((uint64_t)0xF1DEBC9A78563412, parseInteger(std::string("\x12\x34\x56\x78\x9A\xBC\xDE\xF1", 8), ::LittleEndian));
    +
    99
    +
    100 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12, parseInteger(std::string("\x12", 1), ::BigEndian));
    +
    101 CPPUNIT_ASSERT_EQUAL((uint64_t)0x89, parseInteger(std::string("\x89", 1), ::BigEndian));
    +
    102 CPPUNIT_ASSERT_EQUAL((uint64_t)0x1234, parseInteger(std::string("\x12\x34", 2), ::BigEndian));
    +
    103 CPPUNIT_ASSERT_EQUAL((uint64_t)0x8934, parseInteger(std::string("\x89\x34", 2), ::BigEndian));
    +
    104 CPPUNIT_ASSERT_EQUAL((uint64_t)0x123456, parseInteger(std::string("\x12\x34\x56", 3), ::BigEndian));
    +
    105 CPPUNIT_ASSERT_EQUAL((uint64_t)0x893456, parseInteger(std::string("\x89\x34\x56", 3), ::BigEndian));
    +
    106 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12345678, parseInteger(std::string("\x12\x34\x56\x78", 4), ::BigEndian));
    +
    107 CPPUNIT_ASSERT_EQUAL((uint64_t)0x89345678, parseInteger(std::string("\x89\x34\x56\x78", 4), ::BigEndian));
    +
    108 CPPUNIT_ASSERT_EQUAL((uint64_t)0x123456789ABCDEF1, parseInteger(std::string("\x12\x34\x56\x78\x9A\xBC\xDE\xF1", 8), ::BigEndian));
    +
    109
    +
    110 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12, parseInteger(std::string("\x12", 1), ::PDP11Endian));
    +
    111 CPPUNIT_ASSERT_EQUAL((uint64_t)0x89, parseInteger(std::string("\x89", 1), ::PDP11Endian));
    +
    112 CPPUNIT_ASSERT_EQUAL((uint64_t)0x3412, parseInteger(std::string("\x12\x34", 2), ::PDP11Endian));
    +
    113 CPPUNIT_ASSERT_EQUAL((uint64_t)0x8912, parseInteger(std::string("\x12\x89", 2), ::PDP11Endian));
    +
    114 CPPUNIT_ASSERT_EQUAL((uint64_t)0x34127856, parseInteger(std::string("\x12\x34\x56\x78", 4), ::PDP11Endian));
    +
    115 CPPUNIT_ASSERT_EQUAL((uint64_t)0x89127856, parseInteger(std::string("\x12\x89\x56\x78", 4), ::PDP11Endian));
    +
    116
    +
    117 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12, parseInteger(std::string("\x12", 1), ::LittleEndian, true));
    +
    118 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x100 | 0x89, parseInteger(std::string("\x89", 1), ::LittleEndian, true));
    +
    119 CPPUNIT_ASSERT_EQUAL((uint64_t)0x3412, parseInteger(std::string("\x12\x34", 2), ::LittleEndian, true));
    +
    120 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x10000 | 0x8912, parseInteger(std::string("\x12\x89", 2), ::LittleEndian, true));
    +
    121 CPPUNIT_ASSERT_EQUAL((uint64_t)0x563412, parseInteger(std::string("\x12\x34\x56", 3), ::LittleEndian, true));
    +
    122 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x1000000 | 0x893412, parseInteger(std::string("\x12\x34\x89", 3), ::LittleEndian, true));
    +
    123 CPPUNIT_ASSERT_EQUAL((uint64_t)0x78563412, parseInteger(std::string("\x12\x34\x56\x78", 4), ::LittleEndian, true));
    +
    124 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x100000000 | 0x89563412, parseInteger(std::string("\x12\x34\x56\x89", 4), ::LittleEndian, true));
    +
    125 CPPUNIT_ASSERT_EQUAL((uint64_t)0xF1DEBC9A78563412, parseInteger(std::string("\x12\x34\x56\x78\x9A\xBC\xDE\xF1", 8), ::LittleEndian, true));
    +
    126
    +
    127 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12, parseInteger(std::string("\x12", 1), ::BigEndian, true));
    +
    128 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x100 | 0x89, parseInteger(std::string("\x89", 1), ::BigEndian, true));
    +
    129 CPPUNIT_ASSERT_EQUAL((uint64_t)0x1234, parseInteger(std::string("\x12\x34", 2), ::BigEndian, true));
    +
    130 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x10000 | 0x8934, parseInteger(std::string("\x89\x34", 2), ::BigEndian, true));
    +
    131 CPPUNIT_ASSERT_EQUAL((uint64_t)0x123456, parseInteger(std::string("\x12\x34\x56", 3), ::BigEndian, true));
    +
    132 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x1000000 |0x893456, parseInteger(std::string("\x89\x34\x56", 3), ::BigEndian, true));
    +
    133 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12345678, parseInteger(std::string("\x12\x34\x56\x78", 4), ::BigEndian, true));
    +
    134 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x100000000 | 0x89345678, parseInteger(std::string("\x89\x34\x56\x78", 4), ::BigEndian, true));
    +
    135 CPPUNIT_ASSERT_EQUAL((uint64_t)0x123456789ABCDEF1, parseInteger(std::string("\x12\x34\x56\x78\x9A\xBC\xDE\xF1", 8), ::BigEndian, true));
    +
    136
    +
    137 CPPUNIT_ASSERT_EQUAL((uint64_t)0x12, parseInteger(std::string("\x12", 1), ::PDP11Endian, true));
    +
    138 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x100 | 0x89, parseInteger(std::string("\x89", 1), ::PDP11Endian, true));
    +
    139 CPPUNIT_ASSERT_EQUAL((uint64_t)0x3412, parseInteger(std::string("\x12\x34", 2), ::PDP11Endian, true));
    +
    140 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x10000 | 0x8912, parseInteger(std::string("\x12\x89", 2), ::PDP11Endian, true));
    +
    141 CPPUNIT_ASSERT_EQUAL((uint64_t)0x34127856, parseInteger(std::string("\x12\x34\x56\x78", 4), ::PDP11Endian, true));
    +
    142 CPPUNIT_ASSERT_EQUAL((uint64_t)-0x100000000 | 0x89127856, parseInteger(std::string("\x12\x89\x56\x78", 4), ::PDP11Endian, true));
    +
    143}
    +
    144
    +
    145void TestReader::testSeekSkip()
    +
    146{
    +
    147 char payload[256];
    +
    148 char buffer[1];
    +
    149 for(int i = 0; i < 256; i++)
    +
    150 {
    +
    151 payload[i] = i;
    +
    152 }
    +
    153
    +
    154 std::string payload_string(payload, sizeof payload);
    +
    155 std::istringstream * iss = new std::istringstream(payload_string);
    +
    156 Reader * reader = new Reader(::LittleEndian, iss);
    +
    157
    +
    158 reader->Seek(123);
    +
    159 reader->ReadData(1, buffer);
    +
    160 CPPUNIT_ASSERT_EQUAL(123, (int)(unsigned char)buffer[0]);
    +
    161
    +
    162 reader->Skip(45);
    +
    163 reader->ReadData(1, buffer);
    +
    164 CPPUNIT_ASSERT_EQUAL(123 + 1 + 45, (int)(unsigned char)buffer[0]);
    +
    165
    +
    166 delete reader;
    +
    167 delete iss;
    +
    168}
    +
    169
    +
    170void TestReader::setUp()
    +
    171{
    +
    172}
    +
    173
    +
    174void TestReader::tearDown()
    +
    175{
    +
    176}
    +
    177
    +
    178}
    +
    179
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    void Skip(offset_t offset)
    Jump to a distance in the input stream.
    Definition reader.cc:63
    +
    void Seek(offset_t offset)
    Jump to a specific location in the input stream.
    Definition reader.cc:57
    +
    uint64_t ReadSigned(size_t bytes, EndianType endiantype)
    Read a signed word.
    Definition reader.cc:45
    +
    void ReadData(size_t count, void *data)
    Read in a sequence of bytes.
    Definition reader.cc:6
    +
    uint64_t ReadUnsigned(size_t bytes, EndianType endiantype)
    Read an unsigned word.
    Definition reader.cc:33
    +
    Definition reader.cc:15
    +
    + + + + diff --git a/html/unittest_2linker_2section_8cc_source.html b/html/unittest_2linker_2section_8cc_source.html new file mode 100644 index 00000000..51e6d94d --- /dev/null +++ b/html/unittest_2linker_2section_8cc_source.html @@ -0,0 +1,181 @@ + + + + + + + +RetroLinker: unittest/linker/section.cc Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    section.cc
    +
    +
    +
    1
    +
    2#include <cppunit/extensions/HelperMacros.h>
    +
    3#include <cppunit/TestFixture.h>
    +
    4
    +
    5#include "../../src/linker/section.h"
    +
    6
    +
    7using namespace Linker;
    +
    8
    +
    9namespace UnitTests
    +
    10{
    +
    11
    +
    +
    12class TestSection : public CppUnit::TestFixture
    +
    13{
    +
    14 CPPUNIT_TEST_SUITE(TestSection);
    +
    15 CPPUNIT_TEST(testSimpleFlags);
    +
    16 CPPUNIT_TEST(testZeroFilledFlag);
    +
    17 CPPUNIT_TEST(testFixedFlag);
    +
    18 CPPUNIT_TEST_SUITE_END();
    +
    19private:
    +
    20 Section * section;
    +
    21 void testSimpleFlags();
    +
    22 void testZeroFilledFlag();
    +
    23 void testFixedFlag();
    +
    24public:
    +
    25 void setUp();
    +
    26 void tearDown();
    +
    27};
    +
    +
    28
    +
    29void TestSection::testSimpleFlags()
    +
    30{
    +
    31 CPPUNIT_ASSERT_MESSAGE("Default setting should be Readable", section->GetFlags() == Section::Readable);
    +
    32
    +
    33 section->SetWritable(true);
    +
    34 CPPUNIT_ASSERT(section->IsWritable());
    +
    35 section->SetExecable(true);
    +
    36 CPPUNIT_ASSERT(section->IsExecable());
    +
    37 section->SetMergeable(true);
    +
    38 CPPUNIT_ASSERT(section->IsMergeable());
    +
    39
    +
    40 section->SetReadable(false);
    +
    41 CPPUNIT_ASSERT(!section->IsReadable());
    +
    42 section->SetExecable(false);
    +
    43 CPPUNIT_ASSERT(!section->IsExecable());
    +
    44 section->SetWritable(false);
    +
    45 CPPUNIT_ASSERT(!section->IsWritable());
    +
    46 section->SetMergeable(false);
    +
    47 CPPUNIT_ASSERT(!section->IsMergeable());
    +
    48}
    +
    49
    +
    50void TestSection::testZeroFilledFlag()
    +
    51{
    +
    52 section->SetZeroFilled(true);
    +
    53 section->Expand(123);
    +
    54 CPPUNIT_ASSERT_EQUAL((offset_t)123, section->Size());
    +
    55 section->SetZeroFilled(false);
    +
    56 CPPUNIT_ASSERT_EQUAL((offset_t)123, section->Size());
    +
    57}
    +
    58
    +
    59void TestSection::testFixedFlag()
    +
    60{
    +
    61 CPPUNIT_ASSERT(!section->IsFixed());
    +
    62 section->SetAlign(16);
    +
    63 CPPUNIT_ASSERT_EQUAL((offset_t)16, section->GetAlign());
    +
    64 CPPUNIT_ASSERT_EQUAL((offset_t)0, section->GetStartAddress());
    +
    65 section->SetAddress(0x1234);
    +
    66 CPPUNIT_ASSERT(section->IsFixed());
    +
    67 CPPUNIT_ASSERT_EQUAL((offset_t)0x1240, section->GetStartAddress());
    +
    68}
    +
    69
    +
    70void TestSection::setUp()
    +
    71{
    +
    72 section = new Section(".test");
    +
    73}
    +
    74
    +
    75void TestSection::tearDown()
    +
    76{
    +
    77 delete section;
    +
    78}
    +
    79
    +
    80}
    +
    81
    +
    A section of data as read from an object file.
    Definition section.h:52
    +
    offset_t SetAddress(offset_t new_address)
    For non-fixed segments, sets the starting address and makes the fixed.
    Definition section.cc:162
    +
    offset_t Expand(offset_t new_size)
    Increases the size of the section by the specified amount.
    Definition section.cc:194
    +
    @ Readable
    The data in the section can be read at runtime.
    Definition section.h:71
    +
    Definition section.cc:13
    +
    + + + + diff --git a/html/unittest_2linker_2symbol_8cc_source.html b/html/unittest_2linker_2symbol_8cc_source.html new file mode 100644 index 00000000..612cfad3 --- /dev/null +++ b/html/unittest_2linker_2symbol_8cc_source.html @@ -0,0 +1,496 @@ + + + + + + + +RetroLinker: unittest/linker/symbol.cc Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    symbol.cc
    +
    +
    +
    1
    +
    2#include <cppunit/extensions/HelperMacros.h>
    +
    3#include <cppunit/TestFixture.h>
    +
    4
    +
    5#include "../../src/linker/symbol.h"
    +
    6
    +
    7using namespace Linker;
    +
    8
    +
    9namespace UnitTests
    +
    10{
    +
    11
    +
    +
    12class TestSymbolName : public CppUnit::TestFixture
    +
    13{
    +
    14 CPPUNIT_TEST_SUITE(TestSymbolName);
    +
    15 CPPUNIT_TEST(testLoadName);
    +
    16 CPPUNIT_TEST(testLoadLibraryName);
    +
    17 CPPUNIT_TEST(testLoadOrdinalOrHint);
    +
    18 CPPUNIT_TEST(testGetLocalName);
    +
    19 CPPUNIT_TEST(testGetImportedName);
    +
    20 CPPUNIT_TEST(testGetImportedOrdinal);
    +
    21 CPPUNIT_TEST(testEquality);
    +
    22 CPPUNIT_TEST_SUITE_END();
    +
    23private:
    +
    24 SymbolName * internalSymbol;
    +
    25 SymbolName * importedSymbolByName;
    +
    26 SymbolName * importedSymbolWithHint;
    +
    27 SymbolName * importedSymbolByOrdinal;
    +
    28
    +
    29 void testLoadName();
    +
    30 void testLoadLibraryName();
    +
    31 void testLoadOrdinalOrHint();
    +
    32
    +
    33 void testGetLocalName();
    +
    34 void testGetImportedName();
    +
    35 void testGetImportedOrdinal();
    +
    36 void testEquality();
    +
    37public:
    +
    38 void setUp();
    +
    39 void tearDown();
    +
    40};
    +
    +
    41
    +
    42void TestSymbolName::testLoadName()
    +
    43{
    +
    44 std::string result;
    +
    45
    +
    46 CPPUNIT_ASSERT(internalSymbol->LoadName(result));
    +
    47 CPPUNIT_ASSERT_EQUAL(std::string("InternalName"), result);
    +
    48
    +
    49 CPPUNIT_ASSERT(importedSymbolByName->LoadName(result));
    +
    50 CPPUNIT_ASSERT_EQUAL(std::string("ImportedName"), result);
    +
    51
    +
    52 CPPUNIT_ASSERT(importedSymbolWithHint->LoadName(result));
    +
    53 CPPUNIT_ASSERT_EQUAL(std::string("ImportedName"), result);
    +
    54
    +
    55 CPPUNIT_ASSERT(!importedSymbolByOrdinal->LoadName(result));
    +
    56}
    +
    57
    +
    58void TestSymbolName::testLoadLibraryName()
    +
    59{
    +
    60 std::string result;
    +
    61
    +
    62 CPPUNIT_ASSERT(!internalSymbol->LoadLibraryName(result));
    +
    63
    +
    64 CPPUNIT_ASSERT(importedSymbolByName->LoadLibraryName(result));
    +
    65 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), result);
    +
    66
    +
    67 result = "";
    +
    68 CPPUNIT_ASSERT(importedSymbolWithHint->LoadLibraryName(result));
    +
    69 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), result);
    +
    70
    +
    71 result = "";
    +
    72 CPPUNIT_ASSERT(importedSymbolByOrdinal->LoadLibraryName(result));
    +
    73 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), result);
    +
    74}
    +
    75
    +
    76void TestSymbolName::testLoadOrdinalOrHint()
    +
    77{
    +
    78 uint16_t result;
    +
    79
    +
    80 CPPUNIT_ASSERT(!internalSymbol->LoadOrdinalOrHint(result));
    +
    81
    +
    82 CPPUNIT_ASSERT(!importedSymbolByName->LoadOrdinalOrHint(result));
    +
    83
    +
    84 result = -1;
    +
    85 CPPUNIT_ASSERT(importedSymbolWithHint->LoadOrdinalOrHint(result));
    +
    86 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), result);
    +
    87
    +
    88 result = -1;
    +
    89 CPPUNIT_ASSERT(importedSymbolByOrdinal->LoadOrdinalOrHint(result));
    +
    90 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), result);
    +
    91}
    +
    92
    +
    93void TestSymbolName::testGetLocalName()
    +
    94{
    +
    95 std::string result;
    +
    96
    +
    97 CPPUNIT_ASSERT(internalSymbol->GetLocalName(result));
    +
    98 CPPUNIT_ASSERT_EQUAL(std::string("InternalName"), result);
    +
    99
    +
    100 CPPUNIT_ASSERT(!importedSymbolByName->GetLocalName(result));
    +
    101
    +
    102 CPPUNIT_ASSERT(!importedSymbolWithHint->GetLocalName(result));
    +
    103
    +
    104 CPPUNIT_ASSERT(!importedSymbolByOrdinal->GetLocalName(result));
    +
    105}
    +
    106
    +
    107void TestSymbolName::testGetImportedName()
    +
    108{
    +
    109 std::string libraryResult;
    +
    110 std::string symbolResult;
    +
    111 uint16_t hintResult;
    +
    112
    +
    113 CPPUNIT_ASSERT(!internalSymbol->GetImportedName(libraryResult, symbolResult));
    +
    114
    +
    115 CPPUNIT_ASSERT(importedSymbolByName->GetImportedName(libraryResult, symbolResult));
    +
    116 CPPUNIT_ASSERT_EQUAL(std::string("ImportedName"), symbolResult);
    +
    117 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), libraryResult);
    +
    118
    +
    119 symbolResult = libraryResult = "";
    +
    120 CPPUNIT_ASSERT(importedSymbolWithHint->GetImportedName(libraryResult, symbolResult));
    +
    121 CPPUNIT_ASSERT_EQUAL(std::string("ImportedName"), symbolResult);
    +
    122 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), libraryResult);
    +
    123
    +
    124 CPPUNIT_ASSERT(!importedSymbolByOrdinal->GetImportedName(libraryResult, symbolResult));
    +
    125
    +
    126 //
    +
    127
    +
    128 CPPUNIT_ASSERT(!internalSymbol->GetImportedName(libraryResult, symbolResult, hintResult));
    +
    129
    +
    130 symbolResult = libraryResult = "";
    +
    131 CPPUNIT_ASSERT(importedSymbolByName->GetImportedName(libraryResult, symbolResult, hintResult));
    +
    132 CPPUNIT_ASSERT_EQUAL(std::string("ImportedName"), symbolResult);
    +
    133 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), libraryResult);
    +
    134
    +
    135 symbolResult = libraryResult = "";
    +
    136 hintResult = -1;
    +
    137 CPPUNIT_ASSERT(importedSymbolWithHint->GetImportedName(libraryResult, symbolResult, hintResult));
    +
    138 CPPUNIT_ASSERT_EQUAL(std::string("ImportedName"), symbolResult);
    +
    139 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), libraryResult);
    +
    140 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), hintResult);
    +
    141
    +
    142 CPPUNIT_ASSERT(!importedSymbolByOrdinal->GetImportedName(libraryResult, symbolResult, hintResult));
    +
    143}
    +
    144
    +
    145void TestSymbolName::testGetImportedOrdinal()
    +
    146{
    +
    147 std::string libraryResult;
    +
    148 uint16_t hintResult;
    +
    149
    +
    150 CPPUNIT_ASSERT(!internalSymbol->GetImportedOrdinal(libraryResult, hintResult));
    +
    151
    +
    152 CPPUNIT_ASSERT(!importedSymbolByName->GetImportedOrdinal(libraryResult, hintResult));
    +
    153
    +
    154 CPPUNIT_ASSERT(!importedSymbolWithHint->GetImportedOrdinal(libraryResult, hintResult));
    +
    155
    +
    156 hintResult = -1;
    +
    157 CPPUNIT_ASSERT(importedSymbolByOrdinal->GetImportedOrdinal(libraryResult, hintResult));
    +
    158 CPPUNIT_ASSERT_EQUAL(std::string("LibraryName"), libraryResult);
    +
    159 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), hintResult);
    +
    160}
    +
    161
    +
    162void TestSymbolName::testEquality()
    +
    163{
    +
    164 CPPUNIT_ASSERT_EQUAL(*internalSymbol, SymbolName("InternalName"));
    +
    165 CPPUNIT_ASSERT_EQUAL(*importedSymbolByName, SymbolName("LibraryName", "ImportedName"));
    +
    166 CPPUNIT_ASSERT_EQUAL(*importedSymbolWithHint, SymbolName("LibraryName", "ImportedName", 1234));
    +
    167 CPPUNIT_ASSERT_EQUAL(*importedSymbolByOrdinal, SymbolName("LibraryName", 1234));
    +
    168
    +
    169 CPPUNIT_ASSERT(SymbolName("abc") != SymbolName("def"));
    +
    170 CPPUNIT_ASSERT(SymbolName("abc") != SymbolName("lib", "abc"));
    +
    171 CPPUNIT_ASSERT(SymbolName("abc") != SymbolName("lib", "abc", 1234));
    +
    172 CPPUNIT_ASSERT(SymbolName("abc") != SymbolName("lib", 1234));
    +
    173
    +
    174 CPPUNIT_ASSERT(SymbolName("lib", "abc") != SymbolName("bil", "abc"));
    +
    175 CPPUNIT_ASSERT(SymbolName("lib", "abc") != SymbolName("lib", "def"));
    +
    176 CPPUNIT_ASSERT(SymbolName("lib", "abc") != SymbolName("lib", "abc", 1234));
    +
    177 CPPUNIT_ASSERT(SymbolName("lib", "abc") != SymbolName("lib", 1234));
    +
    178
    +
    179 CPPUNIT_ASSERT(SymbolName("lib", "abc", 1234) != SymbolName("bil", "abc", 1234));
    +
    180 CPPUNIT_ASSERT(SymbolName("lib", "abc", 1234) != SymbolName("lib", "def", 1234));
    +
    181 CPPUNIT_ASSERT(SymbolName("lib", "abc", 1234) != SymbolName("lib", "abc", 5678));
    +
    182 CPPUNIT_ASSERT(SymbolName("lib", "abc", 1234) != SymbolName("lib", 1234));
    +
    183
    +
    184 CPPUNIT_ASSERT(SymbolName("lib", 1234) != SymbolName("bil", 1234));
    +
    185 CPPUNIT_ASSERT(SymbolName("lib", 1234) != SymbolName("lib", 5678));
    +
    186}
    +
    187
    +
    188void TestSymbolName::setUp()
    +
    189{
    +
    190 internalSymbol = new SymbolName("InternalName");
    +
    191 importedSymbolByName = new SymbolName("LibraryName", "ImportedName");
    +
    192 importedSymbolWithHint = new SymbolName("LibraryName", "ImportedName", 1234);
    +
    193 importedSymbolByOrdinal = new SymbolName("LibraryName", 1234);
    +
    194}
    +
    195
    +
    196void TestSymbolName::tearDown()
    +
    197{
    +
    198 delete internalSymbol;
    +
    199 delete importedSymbolByName;
    +
    200 delete importedSymbolWithHint;
    +
    201 delete importedSymbolByOrdinal;
    +
    202}
    +
    203
    +
    +
    204class TestExportedSymbol : public CppUnit::TestFixture
    +
    205{
    +
    206 CPPUNIT_TEST_SUITE(TestExportedSymbol);
    +
    207 CPPUNIT_TEST(testIsExportedByOrdinal);
    +
    208 CPPUNIT_TEST(testLoadName);
    +
    209 CPPUNIT_TEST(testLoadOrdinalOrHint);
    +
    210 CPPUNIT_TEST(testGetExportedByName);
    +
    211 CPPUNIT_TEST(testGetExportedByOrdinal);
    +
    212 CPPUNIT_TEST(testEquality);
    +
    213 CPPUNIT_TEST(testComparison);
    +
    214 CPPUNIT_TEST_SUITE_END();
    +
    215private:
    +
    216 ExportedSymbol * exportedSymbolByName;
    +
    217 ExportedSymbol * exportedSymbolWithHint;
    +
    218 ExportedSymbol * exportedSymbolByOrdinal;
    +
    219
    +
    220 void testIsExportedByOrdinal();
    +
    221 void testLoadName();
    +
    222 void testLoadOrdinalOrHint();
    +
    223 void testGetExportedByName();
    +
    224 void testGetExportedByOrdinal();
    +
    225 void testEquality();
    +
    226 bool equal(const ExportedSymbol& a, const ExportedSymbol& b);
    +
    227 bool unequal(const ExportedSymbol& a, const ExportedSymbol& b);
    +
    228 void testComparison();
    +
    229public:
    +
    230 void setUp();
    +
    231 void tearDown();
    +
    232};
    +
    +
    233
    +
    234void TestExportedSymbol::testIsExportedByOrdinal()
    +
    235{
    +
    236 CPPUNIT_ASSERT(!exportedSymbolByName->IsExportedByOrdinal());
    +
    237 CPPUNIT_ASSERT(!exportedSymbolWithHint->IsExportedByOrdinal());
    +
    238 CPPUNIT_ASSERT(exportedSymbolByOrdinal->IsExportedByOrdinal());
    +
    239}
    +
    240
    +
    241void TestExportedSymbol::testLoadName()
    +
    242{
    +
    243 std::string result;
    +
    244
    +
    245 CPPUNIT_ASSERT(exportedSymbolByName->LoadName(result));
    +
    246 CPPUNIT_ASSERT_EQUAL(std::string("ExportedName"), result);
    +
    247
    +
    248 result = "";
    +
    249 CPPUNIT_ASSERT(exportedSymbolWithHint->LoadName(result));
    +
    250 CPPUNIT_ASSERT_EQUAL(std::string("ExportedName"), result);
    +
    251
    +
    252 result = "";
    +
    253 CPPUNIT_ASSERT(exportedSymbolByOrdinal->LoadName(result));
    +
    254 CPPUNIT_ASSERT_EQUAL(std::string("InternalName"), result);
    +
    255}
    +
    256
    +
    257void TestExportedSymbol::testLoadOrdinalOrHint()
    +
    258{
    +
    259 uint16_t result;
    +
    260
    +
    261 CPPUNIT_ASSERT(!exportedSymbolByName->LoadOrdinalOrHint(result));
    +
    262
    +
    263 result = -1;
    +
    264 CPPUNIT_ASSERT(exportedSymbolWithHint->LoadOrdinalOrHint(result));
    +
    265 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), result);
    +
    266
    +
    267 result = -1;
    +
    268 CPPUNIT_ASSERT(exportedSymbolByOrdinal->LoadOrdinalOrHint(result));
    +
    269 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), result);
    +
    270}
    +
    271
    +
    272void TestExportedSymbol::testGetExportedByName()
    +
    273{
    +
    274 std::string nameResult;
    +
    275 uint16_t hintResult;
    +
    276
    +
    277 CPPUNIT_ASSERT(exportedSymbolByName->GetExportedByName(nameResult));
    +
    278 CPPUNIT_ASSERT_EQUAL(std::string("ExportedName"), nameResult);
    +
    279
    +
    280 nameResult = "";
    +
    281 CPPUNIT_ASSERT(exportedSymbolWithHint->GetExportedByName(nameResult));
    +
    282 CPPUNIT_ASSERT_EQUAL(std::string("ExportedName"), nameResult);
    +
    283
    +
    284 CPPUNIT_ASSERT(!exportedSymbolByOrdinal->GetExportedByName(nameResult));
    +
    285
    +
    286 //
    +
    287
    +
    288 nameResult = "";
    +
    289 CPPUNIT_ASSERT(exportedSymbolByName->GetExportedByName(nameResult, hintResult));
    +
    290 CPPUNIT_ASSERT_EQUAL(std::string("ExportedName"), nameResult);
    +
    291
    +
    292 nameResult = "";
    +
    293 hintResult = -1;
    +
    294 CPPUNIT_ASSERT(exportedSymbolWithHint->GetExportedByName(nameResult, hintResult));
    +
    295 CPPUNIT_ASSERT_EQUAL(std::string("ExportedName"), nameResult);
    +
    296 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), hintResult);
    +
    297
    +
    298 CPPUNIT_ASSERT(!exportedSymbolByOrdinal->GetExportedByName(nameResult, hintResult));
    +
    299}
    +
    300
    +
    301void TestExportedSymbol::testGetExportedByOrdinal()
    +
    302{
    +
    303 std::string nameResult;
    +
    304 uint16_t hintResult;
    +
    305
    +
    306 CPPUNIT_ASSERT(!exportedSymbolByName->GetExportedByOrdinal(hintResult));
    +
    307
    +
    308 CPPUNIT_ASSERT(!exportedSymbolWithHint->GetExportedByOrdinal(hintResult));
    +
    309
    +
    310 CPPUNIT_ASSERT(exportedSymbolByOrdinal->GetExportedByOrdinal(hintResult));
    +
    311 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), hintResult);
    +
    312
    +
    313 //
    +
    314
    +
    315 CPPUNIT_ASSERT(!exportedSymbolByName->GetExportedByOrdinal(hintResult, nameResult));
    +
    316
    +
    317 CPPUNIT_ASSERT(!exportedSymbolWithHint->GetExportedByOrdinal(hintResult, nameResult));
    +
    318
    +
    319 nameResult = "";
    +
    320 hintResult = -1;
    +
    321 CPPUNIT_ASSERT(exportedSymbolByOrdinal->GetExportedByOrdinal(hintResult, nameResult));
    +
    322 CPPUNIT_ASSERT_EQUAL(uint16_t(1234), hintResult);
    +
    323 CPPUNIT_ASSERT_EQUAL(std::string("InternalName"), nameResult);
    +
    324}
    +
    325
    +
    326void TestExportedSymbol::testEquality()
    +
    327{
    +
    328 CPPUNIT_ASSERT_EQUAL(*exportedSymbolByName, ExportedSymbol("ExportedName"));
    +
    329 CPPUNIT_ASSERT_EQUAL(*exportedSymbolWithHint, ExportedSymbol("ExportedName", 1234));
    +
    330 CPPUNIT_ASSERT_EQUAL(*exportedSymbolByOrdinal, ExportedSymbol(1234, "InternalName"));
    +
    331
    +
    332 CPPUNIT_ASSERT(ExportedSymbol("abc") != ExportedSymbol("def"));
    +
    333 CPPUNIT_ASSERT(ExportedSymbol("abc") != ExportedSymbol("abc", 1234));
    +
    334 CPPUNIT_ASSERT(ExportedSymbol("abc") != ExportedSymbol(1234, "abc"));
    +
    335
    +
    336 CPPUNIT_ASSERT(ExportedSymbol("abc", 1234) != ExportedSymbol("def", 1234));
    +
    337 CPPUNIT_ASSERT(ExportedSymbol("abc", 1234) != ExportedSymbol("abc", 5678));
    +
    338 CPPUNIT_ASSERT(ExportedSymbol("abc", 1234) != ExportedSymbol(1234, "abc"));
    +
    339
    +
    340 CPPUNIT_ASSERT(ExportedSymbol(1234, "abc") != ExportedSymbol(5678, "abc"));
    +
    341 CPPUNIT_ASSERT(ExportedSymbol(1234, "abc") != ExportedSymbol(1234, "def"));
    +
    342 CPPUNIT_ASSERT(ExportedSymbol(1234, "abc") != ExportedSymbol("abc", 1234));
    +
    343}
    +
    344
    +
    345bool TestExportedSymbol::equal(const ExportedSymbol& a, const ExportedSymbol& b)
    +
    346{
    +
    347 return a <= b && a >= b;
    +
    348}
    +
    349
    +
    350bool TestExportedSymbol::unequal(const ExportedSymbol& a, const ExportedSymbol& b)
    +
    351{
    +
    352 return a < b || a > b;
    +
    353}
    +
    354
    +
    355void TestExportedSymbol::testComparison()
    +
    356{
    +
    357 CPPUNIT_ASSERT(unequal(ExportedSymbol("abc"), ExportedSymbol("def")));
    +
    358 CPPUNIT_ASSERT(unequal(ExportedSymbol("abc"), ExportedSymbol("abc", 1234)));
    +
    359 CPPUNIT_ASSERT(unequal(ExportedSymbol("abc"), ExportedSymbol(1234, "abc")));
    +
    360
    +
    361 CPPUNIT_ASSERT(unequal(ExportedSymbol("abc", 1234), ExportedSymbol("def", 1234)));
    +
    362 CPPUNIT_ASSERT(unequal(ExportedSymbol("abc", 1234), ExportedSymbol("abc", 5678)));
    +
    363 CPPUNIT_ASSERT(unequal(ExportedSymbol("abc", 1234), ExportedSymbol(1234, "abc")));
    +
    364
    +
    365 CPPUNIT_ASSERT(unequal(ExportedSymbol(1234, "abc"), ExportedSymbol(5678, "abc")));
    +
    366 CPPUNIT_ASSERT(unequal(ExportedSymbol(1234, "abc"), ExportedSymbol(1234, "def")));
    +
    367 CPPUNIT_ASSERT(unequal(ExportedSymbol(1234, "abc"), ExportedSymbol("abc", 1234)));
    +
    368}
    +
    369
    +
    370void TestExportedSymbol::setUp()
    +
    371{
    +
    372 exportedSymbolByName = new ExportedSymbol("ExportedName");
    +
    373 exportedSymbolWithHint = new ExportedSymbol("ExportedName", 1234);
    +
    374 exportedSymbolByOrdinal = new ExportedSymbol(1234, "InternalName");
    +
    375}
    +
    376
    +
    377void TestExportedSymbol::tearDown()
    +
    378{
    +
    379 delete exportedSymbolByName;
    +
    380 delete exportedSymbolWithHint;
    +
    381 delete exportedSymbolByOrdinal;
    +
    382}
    +
    383
    +
    384}
    +
    385
    +
    Represents a symbol to be exported from the module.
    Definition symbol.h:119
    +
    bool GetExportedByName(std::string &result) const
    For symbols exported by name, returns the name.
    Definition symbol.cc:167
    +
    bool LoadName(std::string &result) const
    Returns the name of the symbol.
    Definition symbol.cc:148
    +
    bool LoadOrdinalOrHint(uint16_t &result) const
    Returns the hint or ordinal of the symbol.
    Definition symbol.cc:154
    +
    bool GetExportedByOrdinal(uint16_t &result) const
    For symbols exported by ordinal, returns the ordinal.
    Definition symbol.cc:197
    +
    Represents an (imported or internal) symbol name, which can be more complex than a string.
    Definition symbol.h:18
    +
    bool GetImportedOrdinal(std::string &result_library, uint16_t &result_ordinal) const
    For symbols imported by ordinal, returns the library and ordinal.
    Definition symbol.cc:92
    +
    bool GetLocalName(std::string &result) const
    For local symbols, returns the name.
    Definition symbol.cc:45
    +
    bool LoadName(std::string &result) const
    Retrieves the name of the symbol, if it has one.
    Definition symbol.cc:6
    +
    bool LoadOrdinalOrHint(uint16_t &result) const
    Retrieves the ordinal of symbols imported by ordinal, or the hint for imported symbols with a hint.
    Definition symbol.cc:32
    +
    bool LoadLibraryName(std::string &result) const
    Retrieves the name of the library, if it is imported.
    Definition symbol.cc:19
    +
    bool GetImportedName(std::string &result_library, std::string &result_name) const
    For symbols imported by name, returns the library and name.
    Definition symbol.cc:60
    +
    Definition symbol.cc:205
    +
    Definition symbol.cc:13
    +
    + + + + diff --git a/html/writable_8h_source.html b/html/writable_8h_source.html new file mode 100644 index 00000000..e9a496de --- /dev/null +++ b/html/writable_8h_source.html @@ -0,0 +1,128 @@ + + + + + + + +RetroLinker: src/linker/writable.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    writable.h
    +
    +
    +
    1#ifndef WRITABLE_H
    +
    2#define WRITABLE_H
    +
    3
    +
    4#include <vector>
    +
    5#include "../common.h"
    +
    6#include "reader.h"
    +
    7#include "writer.h"
    +
    8
    +
    9namespace Linker
    +
    10{
    +
    + +
    15 {
    +
    16 public:
    +
    20 virtual offset_t ActualDataSize() = 0;
    +
    24 virtual offset_t WriteFile(Writer& wr, offset_t count, offset_t offset = 0) = 0;
    +
    +
    28 offset_t WriteFile(Writer& wr)
    +
    29 {
    +
    30 return WriteFile(wr, ActualDataSize());
    +
    31 }
    +
    +
    35 virtual int GetByte(offset_t offset);
    +
    36 virtual ~Writable();
    +
    37 };
    +
    +
    38}
    +
    39
    +
    40#endif /* WRITABLE_H */
    +
    Represents an abstract interface whose data can be written to a file.
    Definition writable.h:15
    +
    virtual offset_t WriteFile(Writer &wr, offset_t count, offset_t offset=0)=0
    Writes data of non-zero filled sections.
    +
    virtual int GetByte(offset_t offset)
    Retrieve byte at a certain offset (optional, might not be defined)
    Definition writable.cc:7
    +
    virtual offset_t ActualDataSize()=0
    Retrieves size of stored data.
    +
    offset_t WriteFile(Writer &wr)
    Writes data of non-zero filled sections.
    Definition writable.h:28
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    + + + + diff --git a/html/writer_8h_source.html b/html/writer_8h_source.html new file mode 100644 index 00000000..a49ce602 --- /dev/null +++ b/html/writer_8h_source.html @@ -0,0 +1,158 @@ + + + + + + + +RetroLinker: src/linker/writer.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    writer.h
    +
    +
    +
    1#ifndef WRITER_H
    +
    2#define WRITER_H
    +
    3
    +
    4#include <iostream>
    +
    5#include <string>
    +
    6#include "../common.h"
    +
    7#include "format.h"
    +
    8
    +
    9namespace Linker
    +
    10{
    +
    +
    14 class Writer
    +
    15 {
    +
    16 public:
    +
    20 EndianType endiantype;
    +
    24 std::ostream * out;
    +
    25
    +
    26 Writer(EndianType endiantype, std::ostream * out = nullptr)
    + +
    28 {
    +
    29 }
    +
    30
    +
    34 void WriteData(size_t count, const void * data);
    +
    35
    +
    39 void WriteData(size_t count, std::string text, char padding = '\0');
    +
    40
    +
    44 void WriteData(std::string text);
    +
    45
    +
    49 void WriteData(size_t count, std::istream& in);
    +
    50
    +
    54 void WriteWord(size_t bytes, uint64_t value, EndianType endiantype);
    +
    55
    +
    59 void WriteWord(size_t bytes, uint64_t value);
    +
    60
    +
    61 protected:
    +
    62 void ForceSeek(offset_t offset);
    +
    63
    +
    64 public:
    +
    68 void Seek(offset_t offset);
    +
    69
    +
    73 void Skip(offset_t offset);
    +
    74
    +
    78 void SeekEnd(offset_t offset = 0);
    +
    79
    +
    83 offset_t Tell();
    +
    84
    +
    88 void FillTo(offset_t position);
    +
    89
    +
    93 void AlignTo(offset_t align);
    +
    94 };
    +
    +
    95}
    +
    96
    +
    97#endif /* WRITER_H */
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    void Seek(offset_t offset)
    Jump to a specific location in the ouput stream.
    Definition writer.cc:76
    +
    void WriteData(size_t count, const void *data)
    Write out a sequence of bytes.
    Definition writer.cc:6
    +
    EndianType endiantype
    The default endianness of the binary format, used for reading multibyte numeric data.
    Definition writer.h:20
    +
    void Skip(offset_t offset)
    Jump to a distance in the output stream.
    Definition writer.cc:84
    +
    void SeekEnd(offset_t offset=0)
    Jump to a specific offset from the end.
    Definition writer.cc:93
    +
    void FillTo(offset_t position)
    Move to a specific offset, fill with zeroes if needed.
    Definition writer.cc:106
    +
    void AlignTo(offset_t align)
    Align the current pointer.
    Definition writer.cc:127
    +
    std::ostream * out
    The input stream.
    Definition writer.h:24
    +
    void WriteWord(size_t bytes, uint64_t value, EndianType endiantype)
    Read a word.
    Definition writer.cc:47
    +
    offset_t Tell()
    Retrieve the current location.
    Definition writer.cc:101
    +
    + + + + diff --git a/html/xenix_8h_source.html b/html/xenix_8h_source.html new file mode 100644 index 00000000..1a01cd81 --- /dev/null +++ b/html/xenix_8h_source.html @@ -0,0 +1,138 @@ + + + + + + + +RetroLinker: src/format/xenix.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    xenix.h
    +
    +
    +
    1#ifndef XENIX_H
    +
    2#define XENIX_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/linker.h"
    +
    6#include "../linker/reader.h"
    +
    7#include "../linker/writer.h"
    +
    8
    +
    9/* TODO: unimplemented */
    +
    10
    +
    11/* b.out and x.out file formats */
    +
    12namespace Xenix
    +
    13{
    +
    + +
    18 {
    +
    19 public:
    +
    20 void ReadFile(Linker::Reader& rd) override;
    +
    21 void WriteFile(Linker::Writer& wr) override;
    +
    22 /* TODO */
    +
    23 };
    +
    +
    24
    +
    + +
    29 {
    +
    30 public:
    +
    31 void ReadFile(Linker::Reader& rd) override;
    +
    32 void WriteFile(Linker::Writer& wr) override;
    +
    33 /* TODO */
    +
    34 };
    +
    +
    35}
    +
    36
    +
    37#endif /* XENIX_H */
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    Xenix b.out executable.
    Definition xenix.h:18
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition xenix.cc:8
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition xenix.cc:13
    +
    Xenix x.out executable.
    Definition xenix.h:29
    +
    void ReadFile(Linker::Reader &rd) override
    Loads file into memory.
    Definition xenix.cc:18
    +
    void WriteFile(Linker::Writer &wr) override
    Stores data in memory to file.
    Definition xenix.cc:23
    +
    + + + + diff --git a/html/xpexp_8h_source.html b/html/xpexp_8h_source.html new file mode 100644 index 00000000..bff577fd --- /dev/null +++ b/html/xpexp_8h_source.html @@ -0,0 +1,130 @@ + + + + + + + +RetroLinker: src/format/xpexp.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    RetroLinker +
    +
    Linker for several 8-bit, 16-bit and 32-bit formats
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    xpexp.h
    +
    +
    +
    1#ifndef XPEXP_H
    +
    2#define XPEXP_H
    +
    3
    +
    4#include "../common.h"
    +
    5#include "../linker/linker.h"
    +
    6#include "../linker/reader.h"
    +
    7#include "../linker/writer.h"
    +
    8
    +
    9/* TODO: unimplemented */
    +
    10
    +
    11namespace Ergo
    +
    12{
    +
    + +
    17 {
    +
    18 public:
    +
    19 std::string stub_file; // TODO
    +
    20
    +
    21 void ReadFile(Linker::Reader& in) override;
    +
    22 void WriteFile(Linker::Writer& out) override;
    +
    23 /* TODO */
    +
    24
    +
    25 std::string GetDefaultExtension(Linker::Module& module, std::string filename) override;
    +
    26 };
    +
    +
    27}
    +
    28
    +
    29#endif /* XPEXP_H */
    +
    Ergo OS/286 and OS/386 "XP" .exp file (Ergo was formerly A.I. Architects, then Eclipse)
    Definition xpexp.h:17
    +
    void WriteFile(Linker::Writer &out) override
    Stores data in memory to file.
    Definition xpexp.cc:13
    +
    void ReadFile(Linker::Reader &in) override
    Loads file into memory.
    Definition xpexp.cc:8
    +
    std::string GetDefaultExtension(Linker::Module &module, std::string filename) override
    Appends a default extension to the filename.
    Definition xpexp.cc:18
    +
    A helper class to collect sections into segments.
    Definition linker.h:27
    +
    Encodes an object module file as a collection of sections, symbols and relocations.
    Definition module.h:19
    +
    A class that provides a general interface to setting up generation for a format.
    Definition format.h:60
    +
    A helper class, encapsulating functionality needed to import binary data.
    Definition reader.h:15
    +
    A helper class, encapsulating functionality needed to export binary data.
    Definition writer.h:15
    +
    + + + +