-- ModuleSymbols.Mesa
--   Last edited by Lewis on  1-Jan-81 12:11:47
--   Last edited by Sweet on May 23, 1980  3:08 PM

DIRECTORY
  BcdDefs USING [MTIndex],
  PackageSymbols USING [
    ConstRecord, InnerPackRecord, OPIndex, OuterPackRecord],
  Segments USING [FHandle],
  Strings USING [SubString];

ModuleSymbols: DEFINITIONS =
  BEGIN

  KnownSymbolsInfo: TYPE = RECORD [
    loadedBefore: BOOLEAN,
    file: Segments.FHandle,
    base, pages: CARDINAL];

  InvalidSymbols: ERROR;
  SymbolsProblem: SIGNAL;

  outerPackArray: LONG DESCRIPTOR FOR ARRAY OF PackageSymbols.OuterPackRecord;
  innerPackArray: LONG DESCRIPTOR FOR ARRAY OF PackageSymbols.InnerPackRecord;
  constArray: LONG DESCRIPTOR FOR ARRAY OF PackageSymbols.ConstRecord;

  Load: PROC [mti: BcdDefs.MTIndex];
  Unload: PROC;

  Initialize: PROC [nModules: CARDINAL];
  Finalize: PROC;

  FindProc: PROC [ss: Strings.SubString] RETURNS [PackageSymbols.OPIndex];

  END.