IMPLEMENTATION MODULE TermOut; (* Author: Andrew Trevorrow Implementation: University of Hamburg Modula-2 under VAX/VMS version 4 Date Started: August, 1986 Description: Implements terminal output routines used by PSDVI. Revised: June--August, 1988 (while at Aston University) - No longer use buffering/SYS$ASSIGN/SYS$QIOW since it did not allow the output to be captured in a file (which is pretty important if users want to run PSPRINT in a batch job and still see any error messages!). *) FROM VMS IMPORT SYS$EXIT; IMPORT InOut; (******************************************************************************) PROCEDURE Write (ch : CHAR); BEGIN InOut.Write(ch); END Write; (******************************************************************************) PROCEDURE WriteString (s: ARRAY OF CHAR); BEGIN InOut.WriteString(s); END WriteString; (******************************************************************************) PROCEDURE WriteInt (i : INTEGER); BEGIN InOut.WriteInt(i,1); END WriteInt; (******************************************************************************) PROCEDURE WriteCard (c : CARDINAL); BEGIN InOut.WriteCard(c,1); END WriteCard; (******************************************************************************) PROCEDURE WriteLn; BEGIN InOut.WriteLn; END WriteLn; (******************************************************************************) PROCEDURE Halt (status : CARDINAL); VAR result : CARDINAL; BEGIN (* SYSDEP: set high order bit so that no CLI message will be seen *) status := status + 10000000H; result := SYS$EXIT(status); END Halt; (******************************************************************************) BEGIN END TermOut.