-- File: Clock.Mesa,  Last Edit: HGM  May 29, 1980  11:45 PM

DIRECTORY
  System USING [GreenwichMeanTime];

Clock: DEFINITIONS =
  BEGIN

  TimeIsKnown: PROCEDURE RETURNS [BOOLEAN];


  TimeParameters: TYPE = RECORD [
    zone: INTEGER, -- + is west of Greenwich
    minutes: CARDINAL,
    beginDst: CARDINAL,
    endDst: CARDINAL];

  GetTimeParms: PROCEDURE RETURNS [TimeParameters];


  -- The clock drifts if an EIA board is running while the display is on.
  DisplayGoingOn, DisplayGoingOff: PROCEDURE;
  SetTimeResetter: PROCEDURE [PROCEDURE];

  SetTime: PROCEDURE [System.GreenwichMeanTime];
  SetTimeParms: PROCEDURE [TimeParameters];
  SetCorrection: PROCEDURE [INTEGER]; -- Seconds per day, + makes clock go faster
  GetCorrection: PROCEDURE RETURNS [INTEGER];

  END.