<> <> <> DIRECTORY BcdDefs: TYPE USING [Base, BCD, VersionStamp], BcdOps: TYPE USING [NameString], File: TYPE USING [Capability, nullCapability], FileParms: TYPE USING [SymbolSpace], IFSFile: TYPE USING [FileHandle], Space: TYPE USING [Handle]; ProcBcds: DEFINITIONS = { <> <> RelCode: TYPE = {imports, exports, otherdepends, symbolsfile, canignore, defstype, sourcefile}; <> <> <> <> ProcMod: TYPE = PROC[sourcefile, smodulename: LONG STRING, bcdvers, sourcevers, creatorvers: BcdDefs.VersionStamp, isdefns, isconfig, iscodebound, istablecompiled, altoCode, boundsChecks, cedarSwitch, crossJump, linksInCode, nilChecks, sortByUsage: BOOL, symbolSpace: FileParms.SymbolSpace, rtVersionID: CARDINAL] RETURNS[uns: UNSPECIFIED]; <> <> <> ProcDep: TYPE = PROC[relcode: RelCode, smodulename, filename: LONG STRING, bcdvers: BcdDefs.VersionStamp, uns: UNSPECIFIED]; Innards: TYPE = POINTER TO InnardsObject; InnardsObject: TYPE = RECORD[ cap: File.Capability _ File.nullCapability, fh: IFSFile.FileHandle _ NIL, bcdheaderspace: Space.Handle, bcd: LONG POINTER TO BcdDefs.BCD _ NIL, upperLimit: CARDINAL _ NULL, -- this is # words available tb: BcdDefs.Base _ NULL, ssb: BcdOps.NameString _ NULL, evb: BcdDefs.Base _ NULL, spb: BcdDefs.Base _ NULL, fpb: BcdDefs.Base _ NULL, ctb: BcdDefs.Base _ NULL, mtb: BcdDefs.Base _ NULL, itb: BcdDefs.Base _ NULL, etb: BcdDefs.Base _ NULL, sgb: BcdDefs.Base _ NULL, ftb: BcdDefs.Base _ NULL, ntb: BcdDefs.Base _ NULL ]; <> <> <> <> <> <> <> <> PrintDepends: PROC[innards: Innards, procMod: ProcMod, procDep: ProcDep, print, calltwice, less: BOOL, bcdfilename: LONG STRING] RETURNS[success, isconfig, isdefns: BOOL, nimp, nexp, ntype: CARDINAL]; <> <> <> <> <> ReadInSegmentsBcd: PROC[innards: Innards]; <> InvalidBcd: SIGNAL; -- invalid bcd version ID <> InstallAddressesBcd: PROC[innards: Innards]; <> <> UnstallBcd: PROC [innards: Innards]; <> <> PrintSymbolsFile: PROC[innards: Innards, procDep: ProcDep, uns: UNSPECIFIED, print, allsyms, less: BOOL, bcdfilename: LONG STRING] RETURNS[success: BOOL, ntype: CARDINAL]; GetModuleName: PROC[innards: ProcBcds.Innards, interfacename: LONG STRING] RETURNS[success: BOOL]; <> IsRealTime: PROC[stamp: LONG CARDINAL] RETURNS[isrealtime: BOOL]; }.