-- Copyright (C) 1984, 1985  by Xerox Corporation. All rights reserved. 
-- LogPrivateDefs.mesa, HGM, 15-Sep-85  0:34:29

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

  -- Types and Related Constants --
  NumberHouseObject: TYPE = RECORD [
    caption: LONG 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 = LONG POINTER TO NumberHouseObject;

  -- Global Variables --
  houses: LONG 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: LONG 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