OSI/AS and OSI/TS Supplement (Includes RFC-1006 Support)
General OSI/AS and OSI/TS Manual Changes and Corrections
107751 Tandem Computers Incorporated 8–5
! Filter name-related variables
INT .coll^name[0:11] := ["$0",11*[" "]],
.filt^name[0:11] := [12 *[" "]];
! External declarations for GUARDIAN 90 and SPI procedures
?NOLIST
?SOURCE $SYSTEM.SYSTEM.EXTDECS0 ( MYTERM, OPEN, DEBUG,
? READUPDATE, REPLY, CREATEPROCESSNAME, NEWPROCESS,
? WRITE, CLOSE, WRITEREAD, FILEINFO, DELAY, STOP, SSINIT,
? SSPUTTKN, SSGETTKN, EMSTEXT, NUMIN, SSMOVETKN,
? EMSGETTKN,
? FILEERROR )
?LIST
?PAGE
! ***********************************************************
! * get^filter^name *
! ***********************************************************
! This procedure gets the filter name from the terminal.
PROC get^filter^name;
BEGIN
INT got^it;
got^it := false;
WHILE ( NOT got^it ) DO
BEGIN
s^term^buf ':=' ["Enter the filter name?: "] ->
@end^of^text;
text^len := @end^of^text '-' @s^term^buf;
retry:
! Prompt for and read filter name.
CALL WRITEREAD (term^file^num, term^buf, text^len,
32, input^len);
IF > THEN ! EOF from terminal
CALL STOP;
IF < THEN ! some unusual condition
BEGIN ! check whether to retry
IF FILEERROR (term^file^num) THEN GOTO retry;
CALL DEBUG;
END;
! Move user input filter name to filt^name[].
IF (input^len > 0) THEN
BEGIN
got^it := true;
filt^name ':=' s^term^buf[0] FOR input^len
BYTES;
END;