|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7936 (0x1f00)
Types: TextFile
Names: »LNKDC0.BAK«
└─⟦d36b687c5⟧ Bits:30009789/_.ft.Ibm2.50007363.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNKDC0.BAK«
(******************************************************************************)
(* *)
(* Copyright (1985) by Metanic Aps., Denmark *)
(* *)
(* Author: Lars Gregers Jakobsen. *)
(* *)
(******************************************************************************)
CONST
(*$I B:LNKDC0-0.pas Configuration Constants *)
(*$I A:PrTstCon.pas Declarations of constants for PrTst package *)
(* Other constants *)
UnResolved = -1; (* Value of field segmentno in VLT *)
OvrCode = 0; (* For index in bit map *)
TYPE (*LINK*)
(* General Types *)
i8 = 0..255;
i16 = 0..65535;
i32 = integer;
i32IndexType = (bs0, bs1, bs2, bs3);
i32ArrayType = ARRAY (.i32IndexType.) OF i8;
CharSetType = SET OF char;
(* Basic Types *)
StatusBaseType =
(Success
,BadOption
,BadLogFileName
,BadTargetFileName
,BadFileName
,NoSuchFile
,NoInputFiles
,BadFileFormat
,BadModuleFormat
,UnexpectedEof
,BadSymbolName
,DuplicateModuleName
,DuplicateExportSymbol
,NoInput
,Baddibit
,BadRelocationCode
,BadImportCode
,NameTableOverFlow
,ModuleTableOverFlow
,SectionTableOverFlow
,FileNameTableOverFlow
,SymbolTableOverFlow
,ExternalImportTableOverFlow
,NotFound
,NotFinished
,HeapEmpty
,EraseTarget
,Error
);
StatusType = SET OF StatusBaseType;
OF_FormatType = i32;
OM_FormatType = i32;
FileKindBaseType = (explicit, implicit, none);
LogFileKindType = explicit..none;
TargetFileKindType = explicit..implicit;
SegmentNoType = UnResolved..MaxNooSegments;
RelocationIndicatorType = SegmentNoType;
FileAddressType = 0..MaxInt;
SizeType = FileAddressType;
CommandLineIndexType = 0..CommandLineLength;
CommandLineType = String(.CommandLineLength.);
SymbolNameIndexType = 0..MaxSymbolNameIndex;
SymbolNameSubIndexType = 1..MaxSymbolNameIndex;
SymbolNameType = RECORD
Length: SymbolNameIndexType;
Name: ARRAY (.SymbolNameSubIndexType.) OF i8;
END;
ModuleNameType = SymbolNameType;
FileNameType = STRING(.FileNameLength.);
ImageUnitType = i8;
QuadImageUnitType = i32;
BasicFileType = file OF ImageUnitType;
FileType = RECORD
F: BasicFileType; (* File systeme file *)
P: FileAddressType (* Current file address.
NOT defined when eof(F) = true *)
END;
PageNoType = i32;
LineNoType = 0..255;
LogFileType = RECORD
F: text; (* File system file *)
P: PageNoType; (* No of page started upon *)
L: LineNoType; (* No of line just printed within current page *)
END;
(* Table Index Types *)
ExternalImportTableIndexType = 0..MaxNooExternalImportSymbols;
FileNameTableIndexType = -1..MaxNooInputFiles;
ModuleTableIndexType = 0..MaxNooModules;
NameTableIndexType = 0..MaxNameTableIndex;
SectionTableIndexType = 0..MaxNooSections;
SymbolTableIndexType = 0..MaxNooSymbols;
HeapIndexType = 0..MaxHeapIndex;
(* Table Sub Index Types *)
ExternalImportTableSubIndexType = 1..MaxNooExternalImportSymbols;
ModuleTableSubIndexType = 1..MaxNooModules;
NameTableSubIndexType = 1..MaxNameTableIndex;
SectionTableSubIndexType = 1..MaxNooSections;
SymbolTableSubIndexType = 1..MaxNooSymbols;
(* Table Record Types *)
ExternalImportTableRecordType = RECORD
SymbolNo: SymbolTableIndexType
END;
FileNameTableRecordType = FileNameType;
ModuleTableRecordType = RECORD
ModuleNameReference: SymbolTableIndexType; (* Reference to symbol
table entry holding
module name*)
FileNameReference: FileNameTableIndexType; (* *)
CurrentFileAddress: FileAddressType; (* Offset relative to
start of file *)
Referenced: Boolean; (* True if module referenced *)
NooSegments: SegmentNoType; (* Noo Segments in module *)
SCTBase: SectionTableIndexType;
NooExternalImportSymbols: ExternalImportTableIndexType;
EITOffset: ExternalImportTableIndexType;
SBTLinkHead: SymbolTableIndexType
END;
SectionTableRecordType = RECORD
ModuleNo: ModuleTableIndexType;
SegmentNo: SegmentNoType;
ImageSize: SizeType;
OvrSize: SizeType;
RelocationConstant: SizeType;
END;
SymbolTableRecordType = RECORD
ModuleNo: ModuleTableIndexType;
NameReference: NameTableIndexType;
SortLink: SymbolTableIndexType
END;
ValueTableRecordType = RECORD
SegmentNo: SegmentNoType;
Value: i32
END;
(* Table Types *)
ExternalImportTableType = ARRAY (.ExternalImportTableSubIndexType.) OF
ExternalImportTableRecordType;
FileNameTableType = ARRAY (.FileNameTableIndexType.) OF
FileNameTableRecordType;
ModuleTableType = ARRAY (.ModuleTableSubIndexType.) OF
ModuleTableRecordType;
OptionTableType = RECORD
LogFileKind: LogFileKindType;
TargetFileKind: TargetFileKindType
END;
NameTableType = ARRAY (.NameTableSubIndexType.) OF i8;
SectionTableType = ARRAY (.SectionTableSubIndexType.) OF
SectionTableRecordType;
SymbolTableType = ARRAY (.SymbolTableSubIndexType.) OF
SymbolTableRecordType;
ValueTableType = ARRAY (.SymbolTableSubIndexType.) OF
ValueTableRecordType;
(* Other major data structures *)
HeapType = ARRAY (.ModuleTableIndexType.) OF SymbolTableIndexType;
BitMapBufferTagType = (bit, byt);
BitMapBufferType = RECORD
P: 0..16;
CASE BitMapBufferTagType OF
bit: (I: SET OF 0..15);
byt: (Y0: i8;
Y1: i8
)
END;
BitMappedFileType = RECORD
F: BasicFileType;
B: BitMapBufferType
END;
(*$I A:PrTstTyp.pas Declarations of types for PrTst package *)
COMMON (*LINK*)
(* Permanent Tables *)
OptionTable: OptionTableType;
FileNameTable: FilenameTableType;
CurFileNo: FileNameTableIndexType;
ModuleTable: ModuleTableType;
CurModuleNo: ModuleTableIndexType;
TargetModuleNo: ModuleTableIndexType;
SectionTable: SectionTableType;
SCTOffset: SectionTableIndexType;
TargetSectionOffset: SectionTableIndexType;
CurSegmentCount: SegmentNoType;
ValueTable: ValueTableType;
CurValueNo: SymbolTableIndexType; (*?*)
NooExpSymbols: i32; (* Number of EXP symbols in target module *)
ExternalImportTable: ExternalImportTableType;
CurExternalImportSymbolNo: ExternalImportTableIndexType;
NooExiSymbols: i32; (* Number of EXI symbols in target module *)
(*$I A:PrTstCom.pas Declarations of global variables for PrTst package *)
«eof»