-- file TableCommand.mesa
-- last edited by Satterthwaite, January 24, 1980  12:26 PM

DIRECTORY
  BcdDefs: FROM "bcddefs" USING [VersionStamp],
  SegmentDefs: FROM "segmentdefs" USING [FileSegmentHandle],
  StreamDefs: FROM "streamdefs" USING [StreamHandle];

TableCommand: DEFINITIONS =
  BEGIN

 -- from ModuleMaker

  MakeModule: PROC [
    inputFile, moduleId, interfaceId: STRING, altocode: BOOLEAN];

  CreateBCDStream: PROC [
      in: StreamDefs.StreamHandle, modId,
      interfaceId: STRING, count: CARDINAL,
      altoCode: BOOLEAN ← TRUE]
    RETURNS [output: StreamDefs.StreamHandle];

 -- from StringCompactor

  CompileStrings: PROC [
	inputFile: STRING,		-- the source file
	interfaceId: STRING,		-- exported interface or "SELF"
	formatId: STRING,		-- ASCII record declaration
	moduleId: STRING,		-- output file
	compact, altoCode: BOOLEAN]
      RETURNS [nChars, nStrings: CARDINAL];

 -- from TableSymbols

  FindInterface: PROC [id: STRING]
    RETURNS [version: BcdDefs.VersionStamp, symbolSeg: SegmentDefs.FileSegmentHandle];
  FindItem: PROC [symbolSeg: SegmentDefs.FileSegmentHandle, item: STRING]
    RETURNS [size, entry: CARDINAL];
  BadInterface: ERROR [id: STRING];

 -- from TableControl

  CreateTime: PROC [s: StreamDefs.StreamHandle] RETURNS [time: LONG INTEGER];
  MyBcdVersion: PROC RETURNS [version: BcdDefs.VersionStamp];

  END.