|
|
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: 9600 (0x2580)
Types: TextFile
Names: »LNKDC0.BAK«
└─⟦91467e717⟧ Bits:30009789/_.ft.Ibm2.50007348.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNKDC0.BAK«
(******************************************************************************)
(* *)
(* Copyright (1985) by Metanic Aps., Denmark *)
(* *)
(* Author: Lars Gregers Jakobsen. *)
(* *)
(******************************************************************************)
(*$I B:LNKDC0-0.pas Configuration Constants *)
(*$I A:PrTstCon.pas Declarations of constants for PrTst package *)
TYPE (*LINK*)
(* General Types *)
i8 = 0..255;
byte = i8;
i16 = 0..65535;
i32 = integer;
i32IndexType = (bs0, bs1, bs2, bs3);
i32ArrayType = ARRAY (.i32IndexType.) OF i8;
CharSetType = SET OF char;
(* Basic Types *)
StatusBaseType =
(success
,badfileformat
,badmoduleformat
,unexpectedeof
,NotFound
,DuplicateModuleName
,NameTableOverFlow
,ModuleTableOverFlow
,SectionTableOverFlow
,FileNameTableOverFlow
,SymbolTableOverFlow
,ExternalImportTableOverFlow
,InternalImportTableOverFlow
,ValueTableOverFlow
,NoSuchFile
,NotFinished
,BadLogFileName
,BadTargetFileName
,BadSymbolName
,NoInputFiles
,BadOption
,BadFileName
,DuplicateExportSymbol
,HeapEmpty
,NoInput
,error
);
StatusType = SET OF StatusBaseType;
OF_FormatType = i32;
OM_FormatType = i32;
FileKindBaseType = (explicit, implicit, none);
LogFileKindType = explicit..none;
TargetFileKindType = explicit..implicit;
SegmentNoType = 0..MaxNooSegments;
RelocationIndicatorType = SegmentNoType;
FileAddressType = 0..MaxInt;
SizeType = FileAddressType;
ModuleSectionReferenceType = - MaxNooModules..MaxNooSections;
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.);
FileType = RECORD
F: FILE OF i8; (* 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;
InternalImportTableIndexType = 0..MaxNooInternalImportSymbols;
ModuleTableIndexType = 0..MaxNooModules;
NameTableIndexType = 0..MaxNameTableIndex;
SectionTableIndexType = 0..MaxNooSections;
SymbolTableIndexType = 0..MaxNooSymbols;
HeapIndexType = 0..MaxHeapIndex;
(* Table Sub Index Types *)
ExternalImportTableSubIndexType = 1..MaxNooExternalImportSymbols;
InternalImportTableSubIndexType = 1..MaxNooInternalImportSymbols;
ModuleTableSubIndexType = 1..MaxNooModules;
NameTableSubIndexType = 1..MaxNameTableIndex;
SectionTableSubIndexType = 1..MaxNooSections;
SymbolTableSubIndexType = 1..MaxNooSymbols;
(* Table Record Types *)
ExternalImportTableRecordType = RECORD
SymbolNo: SymbolTableIndexType
END;
FileNameTableRecordType = FileNameType;
InternalImportTableRecordType = RECORD
ModificationAddress: FileAddressType;
SymbolIndex: ExternalImportTableIndexType
END;
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 *)
NooExternalImportSymbols: ExternalImportTableIndexType;
EITOffset: ExternalImportTableIndexType;
SBTLinkHead: SymbolTableIndexType
END;
SectionTableRecordType = RECORD
ModuleNo: ModuleTableIndexType;
SegmentNo: SegmentNoType;
ImageSize,
RldSize: FileAddressType;
NooInternalImportSymbols: InternalImportTableIndexType;
RelocationConstant: SizeType;
END;
SymbolTableRecordType = RECORD
Section: ModuleSectionReferenceType;
NameReference: NameTableIndexType;
SortLink: SymbolTableIndexType
END;
ValueTableRecordType = RECORD
Resolved: Boolean;
Value: i32
END;
(* Table Types *)
ExternalImportTableType = ARRAY (.ExternalImportTableSubIndexType.) OF
ExternalImportTableRecordType;
FileNameTableType = ARRAY (.FileNameTableIndexType.) OF
FileNameTableRecordType;
InternalImportTableType = ARRAY (.InternalImportTableSubIndexType.) OF
InternalImportTableRecordType;
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;
ObjectRecordKindType = (OFF_Kind,
OMF_Kind,
OMH_Kind,
SGD_Kind,
EXP_Kind,
EXI_Kind,
IMG_Kind,
RLD_Kind,
INI_Kind,
SYM_Kind,
IndexableKind
);
ObjectRecordIndexType = 0..MaxObjectRecordIndex;
ObjectRecordType = RECORD
CASE ObjectRecordKind: ObjectRecordKindType OF
OFF_Kind:
(OF_Format: OF_FormatType);
OMF_Kind:
(OM_Format: OM_FormatType);
OMH_Kind:
(OMH_Module
,OMH_NooSegments
,OMH_NooExportSymbols
,OMH_NooExtImportSymbols
: i32
;OMH_ModuleName
: ModuleNameType
);
SGD_Kind:
(SGD_Image
,SGD_Rld
,SGD_IntImport
,SGD_NooIntImportSymbols: i32
);
EXP_Kind:
(EXP_RelocationIndicator: RelocationIndicatorType
;EXP_Item: i32
;EXP_SymbolName: SymbolNameType
);
EXI_Kind:
(EXI_SymbolName: SymbolNameType
);
IMG_Kind:
(IMG_SectionImageUnit: i8
);
RLD_Kind:
(RLD_RelocationIndicator: RelocationIndicatorType
);
INI_Kind:
(INI_ModificationAddress: FileAddressType
;INI_SymbolIndex: ExternalImportTableIndexType
);
SYM_Kind:
(SYM_SymbolName: SymbolNameType
);
IndexableKind:
(N: ARRAY (.ObjectRecordIndexType.) OF i8)
END; (*RECORD CASE*)
(*$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; (*?*)
ExternalImportTable: ExternalImportTableType;
CurExternalImportSymbolNo: ExternalImportTableIndexType;
(*$I A:PrTstCom.pas Declarations of global variables for PrTst package *)
«eof»