-- DSymOps.Mesa  Edited by:
  -- Bruce July 19, 1980  5:08 PM

DIRECTORY
  BcdDefs USING [NullVersion, VersionStamp],
  DSyms USING [Item],
  MachineDefs USING [FSHandle, GFHandle],
  Symbols USING [HTIndex],
  Table USING [Region];

DSymOps: DEFINITIONS =
  BEGIN OPEN DSyms, MachineDefs;
  
  Head: Item;

  myVersion: BcdDefs.VersionStamp;

  AttachSyms: PROC [gf: GFHandle, file: STRING];
  AddItem: PROC [Symbols.HTIndex, GFHandle] RETURNS [Item]; 
  DeleteItem: PROC [i: Item];
  GetRegion: PROC RETURNS [Table.Region];
  SymbolSegForFrame: PROC [h: SymHandle];
  StripExtension: PROCEDURE [STRING];

  SymHandle: TYPE = POINTER TO SymRec;
  SymRec: TYPE = RECORD [
    gf: GFHandle,
    version: BcdDefs.VersionStamp ← BcdDefs.NullVersion,
    seg: FSHandle ← NIL,
    fgt: BOOLEAN ← FALSE,
    jumped: BOOLEAN ← FALSE,
    hti: Symbols.HTIndex];

  CacheItem: PROC [h: SymHandle] RETURNS [syms: Item]; 

  SymsHot: PROGRAM;

  END.