'CORAL' L7G 'LIBRARY' ( 'COMMENT' BASIC COMPATABLE PROCEDURES; 'INTEGER''PROCEDURE' LUNBOOK ('VALUE''INTEGER'); 'INTEGER''PROCEDURE' LUNFREE ('VALUE''INTEGER'); 'PROCEDURE' DEFLUN ('VALUE''BYTE','VALUE''INTEGER','LABEL'); 'PROCEDURE' RELEASE('VALUE''BYTE','LABEL')); 'COMMON'('INTEGER''PROCEDURE' VDUFLG('VALUE''INTEGER'); 'INTEGER''PROCEDURE' VDULUN('VALUE''INTEGER')); 'SEGMENT' RJSSUB 'BEGIN' 'COMMENT' PROGRAM DEFINITIONS; 'INCLUDE' "[200,25]GENDEF.COR" 'COMMENT' PROGRAM DATA AREAS; 'INTEGER' STATUS:=-1; 'INTEGER' LUN:=1; (DEFAULT LUN FOR VDU) 'INTEGER''PROCEDURE' VDULUN ('VALUE''INTEGER' MODE); 'BEGIN' 'IF' MODE=GIVE VALUE 'THEN' 'ANSWER' LUN; (ANSWER WITH LUN) 'IF' STATUS = SWITCHED ON 'THEN' 'BEGIN' LUNFREE(LUN); (INDICATE LUN NO LONGER REQUIRED) RELEASE(LUN,ERRL); (RELEASE LUN FROM SYSTEM) 'END'; 'IF' LUNBOOK (MODE) = SUCCESS 'THEN' 'BEGIN' LUN:=MODE; (HOLD NEW LUN VALUE) 'END' 'ELSE' LUN := VOID LUN; (SEMI ERROR CONDITION) STATUS:= SWITCHED OFF; (VDU DEALOCATED) 'ANSWER' SUCCESS; (JOB DONE OK) ERRL: 'ANSWER' ERROR; (JOB FAILED) 'END' OF PROCEDURE VDULUN; 'INTEGER''PROCEDURE' VDUFLG ('VALUE''INTEGER' MODE); 'BEGIN' 'IF' MODE=GIVE VALUE 'THEN' 'ANSWER' STATUS; (ANSWER WITH LUN STATUS) 'IF' LUN = VOID LUN 'THEN' 'ANSWER' VOID LUN; 'IF' MODE = SWITCH ON 'THEN' 'BEGIN' 'IF' STATUS = OFF 'THEN' 'BEGIN' DEFLUN(LUN,"TI0:",ERRL); (ASSIGN LUN TO TERMINAL) STATUS:=ON; (INDICATE THAT THE VDU IS SWITCHED ON) 'END'; 'ANSWER' SWITCHED ON; (INDICATE STATUS OF LUN) 'END'; 'IF' MODE = SWITCH OFF 'THEN' 'BEGIN' 'IF' STATUS = ON 'THEN' 'BEGIN' STATUS:=OFF; (INDICATE THAT THE VDU IS SWITCHED OFF) RELEASE(LUN,ERRL); 'END'; 'ANSWER' SWITCHED OFF; (INDICATE STATUS OF LUN) 'END'; ERRL: 'ANSWER' ERROR; (JOB FAILED) 'END' OF PROCEDURE VDUFLG; 'END'; 'FINISH'