X25AM Programming Manual
PTP Applications
X25AM Programming Manual—527201-001
3-63
Text of TAL Example
!-------------------------------------------------------------------------
! WRITE TO TERMINAL PROCEDURE
!-------------------------------------------------------------------------
PROC TERM^WRITE (BUFFER, COUNT);
INT .BUFFER,
 COUNT;
BEGIN
 INT ERROR := 0;
 DO BEGIN
 CALL CANCEL (TERM^FILE);
 CALL WRITE (TERM^FILE, BUFFER, COUNT);
 CALL AWAITIO (TERM^FILE);
 CALL FILEINFO (TERM^FILE, ERROR);
 IF (ERROR = BREAK^ACCESS^ONLY) OR (ERROR = BREAK^HIT) THEN
 CALL DELAY (100D)
 ELSE IF ERROR THEN
 CALL DEBUG;
 END
 UNTIL NOT ERROR;
END;
!-------------------------------------------------------------------------
! CHECK TERMINAL ERROR PROCEDURE
!-------------------------------------------------------------------------
PROC CHECK^TERM^ERROR (ERROR);
 INT ERROR;
BEGIN
 IF ((ERROR = BREAK^ACCESS^ONLY) OR (ERROR = BREAK^HIT)) THEN BEGIN
 CALL DELAY (100D);
 TERM^BUFFS := "? ";
 CALL WRITEREAD (TERM^FILE, TERM^BUFF, 1, MAX^TERM^READ);
 END
 ELSE
 IF ERROR = END^OF^FILE THEN
 END^PROGRAM^REQUEST := 1 ! EXIT THE PROGRAM
 ELSE
 CALL DEBUG;
END; !PROC CHECK^TERM^ERROR










