-- NXDefs.mesa (Last edit by: Gobbel on: December 19, 1980 8:47 PM)
NXDefs: DEFINITIONS =
BEGIN
debug: BOOLEAN; -- set from debugger, defaults to false
illPtr: POINTER = LOOPHOLE[LAST[CARDINAL]]; -- distinct from NIL, returned as a flag from some procedures
displayLines: CARDINAL; -- number of lines of text that can be displayed at once
UserAbort: SIGNAL; -- user answered "no" to "More?" while typing out info
-- display functions
ClearLine: PROCEDURE; -- blank bottom (typein) line of display
Erase: PROCEDURE [n: CARDINAL, str: STRING]; -- back up n chars, erasing chars from client-supplied string
Line: PROCEDURE [str: STRING]; -- type out line on display followed by a CR, keeping track of number of lines typed since last user action. May raise UserAbort
LineReset: PROCEDURE [str: STRING]; -- like Line but initializes count of lines typed to zero
NewLine: PROCEDURE; -- output a CR, keeping track of number of lines typed since last user action. May raise UserAbort
ResetTo: PROCEDURE [n: CARDINAL]; -- reset typein cursor to specified place
SetIntoHost: PROCEDURE [str: STRING]; -- display string in 2nd line of herald
SetIntoTime: PROCEDURE [str: STRING]; -- display string in time area of herald
SetIntoStatus: PROCEDURE [str: STRING]; -- display string in status area of herald
NXDisplay: PROGRAM; -- screen manager, must be started before calling any procedures that output to the screen or that reference displayLines.
-- processes
WatchDog: PROCEDURE; -- go to DMT if no characters typed for five minutes
NoteUserAction: PROCEDURE; -- tell watchdog to reset his five minute timeout
Timer: PROCEDURE; -- keep digital clock updated
Host: PROCEDURE; -- get net address and name for this machine, display on 2nd herald line
SetTime: PROCEDURE; --get time from ethernet
END...