-- file SymbolTable.Mesa
-- last modified by Satterthwaite on August 29, 1978 11:33 AM
DIRECTORY
SegmentDefs: FROM "segmentdefs" USING [FileSegmentHandle],
SymbolPack: FROM "symbolpack";
SymbolTable: DEFINITIONS =
BEGIN
OPEN SegmentDefs;
Handle: TYPE = PRIVATE RECORD [segment: FileSegmentHandle];
NullHandle: SymbolTable.Handle = [NIL];
Base: TYPE = POINTER TO FRAME[SymbolPack];
Missing: ERROR [seg: FileSegmentHandle];
TableForSegment: PROCEDURE [seg: FileSegmentHandle] RETURNS [SymbolTable.Handle];
SegmentForTable: PROCEDURE [table: SymbolTable.Handle] RETURNS [FileSegmentHandle];
Acquire: PROCEDURE [handle: SymbolTable.Handle] RETURNS [SymbolTable.Base];
Release: PROCEDURE [base: SymbolTable.Base];
CacheSize: PROCEDURE RETURNS [pages: CARDINAL];
SetCacheSize: PROCEDURE [pages: CARDINAL];
SuspendCache, RestartCache: PROCEDURE;
IllegalBase: ERROR [base: SymbolTable.Base];
END.