X25AM Programming Manual

PTP Applications
X25AM Programming Manual527201-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