-- File: LogPrivateDefs.mesa
-- Pilot version, created May 19, 1981

DIRECTORY
  LogDefs: FROM "LogDefs" USING [Format, Percentage],
  Process: FROM "Process" USING [Seconds],
  Time: FROM "Time" USING [Packed],
  TTY USING [Handle];
LogPrivateDefs: DEFINITIONS =
  BEGIN

  -- Types and Related Constants --
  NumberHouseObject: TYPE = RECORD [
    caption: STRING,
    item: SELECT format: LogDefs.Format FROM
      short => [max, min: CARDINAL, p: LONG POINTER TO UNSPECIFIED],
      long => [max, min: LONG CARDINAL, p: LONG POINTER TO LONG CARDINAL],
      percent => [
        max, min: LogDefs.Percentage, p: LONG POINTER TO LogDefs.Percentage],
      ENDCASE];
  NumberHouse: TYPE = POINTER TO NumberHouseObject;

  -- Global Variables --
  houses: DESCRIPTOR FOR ARRAY OF NumberHouseObject;
  startUpTime: Time.Packed;
  uptimeHouse: NumberHouseObject;
  typescriptOn: BOOLEAN;
  tty: TTY.Handle;
  -- Miscellaneous Declarations --
  IllegalUseOfLog: ERROR;
  -- Procedures --
  LogDisplayHot: PROGRAM;
  Displayer: PROCEDURE [waitInterval: Process.Seconds];
  -- expects to be FORKed.  Loops until aborted, waiting for the argument interval, then updates
  -- the statistics display.
  AppendElapsedTime: PROCEDURE [s: STRING, et: LONG CARDINAL];
  -- appends to 's' a time derived from 'et' of the form:  1314:35:28.
  Even: PROCEDURE [v: UNSPECIFIED] RETURNS [UNSPECIFIED];
  -- rounds 'v' up to an even number.
  END.
Created by Levin on February 6, 1980  3:00 PM.
Changed by Redell on 20-May-81 19:33:39, Pilot Version
Changed by Gobbel on 27-May-81 14:35:38, Change pointers to LONGs