-- file BcdLiterals.Mesa
-- last edited by Satterthwaite, November 23, 1982 9:48 am

DIRECTORY
  Alloc: TYPE USING [Handle],
  BcdDefs: TYPE USING [Base, FTIndex, RFIndex, SGIndex, TFIndex],
  BcdOps: TYPE USING [BcdBase],
  Stream: TYPE USING [Handle];
  
BcdLiterals: DEFINITIONS={
  
 -- input
  MapLitLinks: PROC [rfi: BcdDefs.RFIndex];
  MapTypeLinks: PROC [tfi: BcdDefs.TFIndex];

  LoadLiterals: PROC [
    fti: BcdDefs.FTIndex,
    bcdBase: BcdOps.BcdBase,
    MapFile: PROC [BcdDefs.FTIndex] RETURNS [BcdDefs.FTIndex],
    MapSegment: PROC [BcdDefs.SGIndex] RETURNS [BcdDefs.SGIndex]];
    
  UnloadLiterals: PROC;
  
 -- output
  EnterVersionFiles: PROC [
    ftb: BcdDefs.Base, ftLimit: BcdDefs.FTIndex,
    MapFile: PROC [BcdDefs.FTIndex] RETURNS [BcdDefs.FTIndex]];
  LitSegSize: PROC RETURNS [nWords: CARDINAL];
  UpdateSegments: PROC [MapSegment: PROC [BcdDefs.SGIndex] RETURNS [BcdDefs.SGIndex]];
  WriteLiterals: PROC [stream: Stream.Handle];
  
 -- initialization
  Initialize: PROC [Alloc.Handle, UNCOUNTED ZONE];
  SealLiterals: PROC [];
  Finalize: PROC [];

  }.