Copier.Mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Satterthwaite, June 18, 1986 10:59:14 am PDT
Paul Rovner, September 6, 1983 11:53 pm
Russ Atkinson (RRA) March 6, 1985 10:09:34 pm PST
DIRECTORY
Alloc: TYPE USING [Handle],
FileParms: TYPE USING [ActualId, Ops],
Rope: TYPE USING [ROPE],
Symbols: TYPE,
SymbolTable: TYPE USING [Base, Handle],
TimeStamp: TYPE USING [Stamp];
Copier: DEFINITIONS = {
OPEN Symbols;
SEToken: TYPE [2];
nullSEToken: READONLY SEToken;
implemented by FilePack
FileInit: PROC[
self: FileParms.ActualId,
ownTable: Alloc.Handle,
ops: FileParms.Ops];
FileReset: PROC;
CreateFileTable: PROC[CARDINAL];
EnterFile: PROC[formalId, typeId: HTIndex, defaultFile: Rope.ROPE] RETURNS[MDIndex];
FindMdEntry: PROC[id: HTIndex, version: TimeStamp.Stamp, file: HTIndex]
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[hti: HTIndex] RETURNS[BOOL];
FileVersion: SIGNAL[hti: HTIndex] RETURNS[BOOL];
FileVersionMix: SIGNAL[hti: HTIndex];
implemented by SymbolCopier
CopierInit: PROC[
ownTable: Alloc.Handle, symbolCachePages: CARDINAL, useMemo: BOOLTRUE];
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𡤏ull] RETURNS[sei: SEIndex];
CopyUnion: PROC[ctx: CTXIndex, depth: Closure←none];
CtxFirst: PROC[CTXIndex] RETURNS [SEToken];
CtxNext: PROC[CTXIndex, SEToken] RETURNS [SEToken];
CtxValue: PROC[CTXIndex, CARD] RETURNS[SEToken];
Delink: PROC[ISEIndex];
FillModule: PROC[sei: ISEIndex, typeId: HTIndex, mdi: MDIndex];
FindExternalCtx: PROC[MDIndex, CTXIndex] RETURNS[IncludedCTXIndex];
Outer: PROC[mdi: MDIndex, inner: PROC[SymbolTable.Base]];
SearchFileCtx: PROC[HTIndex, IncludedCTXIndex] RETURNS[BOOL, ISEIndex];
TokenHash: PROC[CTXIndex, SEToken] RETURNS[HTIndex];
TokenSymbol: PROC[CTXIndex, SEToken] RETURNS[ISEIndex];
TokenValue: PROC[CTXIndex, SEToken] RETURNS[CARD];
TableRelocated: SIGNAL;
UnknownModule: SIGNAL[hti: HTIndex];
}.