-- file Copier.Mesa -- last modified by Satterthwaite, February 24, 1983 12:49 pm DIRECTORY Alloc: TYPE USING [Handle], FileParms: TYPE USING [ActualId, Ops], Strings: TYPE USING [String], Symbols: TYPE, SymbolTable: TYPE USING [Base, Handle], TimeStamp: TYPE USING [Stamp]; Copier: DEFINITIONS = { OPEN Symbols; SEToken: TYPE [1]; nullSEToken: READONLY SEToken; -- implemented by FilePack FileInit: PROC [ self: FileParms.ActualId, ownTable: Alloc.Handle, scratchZone: UNCOUNTED ZONE, ops: FileParms.Ops]; FileReset: PROC; CreateFileTable: PROC [CARDINAL]; EnterFile: PROC [formalId, typeId: Name, defaultFile: Strings.String] RETURNS [MDIndex]; FindMdEntry: PROC [id: Name, version: TimeStamp.Stamp, file: Name] RETURNS [MDIndex]; FreeSymbolTable: PROC [SymbolTable.Base]; GetSymbolTable: PROC [MDIndex] RETURNS [SymbolTable.Base]; MapSymbols: PROC [FileParms.ActualId] RETURNS [SymbolTable.Base]; TableForModule: PROC [MDIndex] RETURNS [SymbolTable.Handle]; UnmapSymbols: PROC [SymbolTable.Base]; FileProblem: SIGNAL [name: Name] RETURNS [BOOL]; FileVersion: SIGNAL [name: Name] RETURNS [BOOL]; FileVersionMix: SIGNAL [name: Name]; -- implemented by SymbolCopier CopierInit: PROC [ ownTable: Alloc.Handle, symbolCachePages: CARDINAL, useMemo: BOOL←TRUE]; CopierReset: PROC; AugmentContext: PROC [IncludedCTXIndex, MDIndex]; CompleteContext: PROC [ctx: IncludedCTXIndex, depth: Closure←$unit]; CopyExternalBody: PROC [MDIndex, CBTIndex] RETURNS [CBTIndex]; CopySymbol: PROC [mdi: MDIndex, iSei: SEIndex, depth: Closure←$full] RETURNS [sei: SEIndex]; CopyUnion: PROC [ctx: CTXIndex, depth: Closure←$none]; CtxFirst: PROC [CTXIndex] RETURNS [SEToken]; CtxNext: PROC [CTXIndex, SEToken] RETURNS [SEToken]; CtxValue: PROC [CTXIndex, CARDINAL] RETURNS [SEToken]; Delink: PROC [ISEIndex]; FillModule: PROC [sei: ISEIndex, typeId: Name, mdi: MDIndex]; FindExternalCtx: PROC [MDIndex, CTXIndex] RETURNS [IncludedCTXIndex]; Outer: PROC [mdi: MDIndex, inner: PROC [SymbolTable.Base]]; SearchFileCtx: PROC [Name, IncludedCTXIndex] RETURNS [BOOL, ISEIndex]; TokenName: PROC [CTXIndex, SEToken] RETURNS [Name]; TokenSymbol: PROC [CTXIndex, SEToken] RETURNS [ISEIndex]; TokenValue: PROC [CTXIndex, SEToken] RETURNS [CARDINAL]; TableRelocated: SIGNAL; UnknownModule: SIGNAL [name: Name]; }.