X25AM Programming Manual

PTP Applications
X25AM Programming Manual527201-001
3-69
Text of TAL Example
CALL SETMODE (COMM^FILE, 30, 1); ! CALL SETMODE PASSING IT THE
IF <> THEN BEGIN ! PARAMETERS NECESSARY TO ALLOW
CALL FILEINFO (-1, ERROR); ! OPERATIONS TO COMPLETE IN ANY ORDER,
CALL COMM^ERROR (ERROR); ! REMEMBER TO CHECK FOR ERRORS AND
CALL ABEND; ! CALL COMM^ERROR IF AN ERROR OCCURS.
END; ! SETMODE DOES NOT NEED TO BE COMPLETED
! WITH A CALL TO AWAITIO.
CALL READ (COMM^FILE, COMM^BUFFR, MAX^COMM^READ,,READ^TAG);
IF <> THEN CALL DEBUG; ! NEXT POST A READ ON THE COMM SUBDEVICE,
! BE SURE TO USE THE READ TAG
! SO THE MAIN PROCEDURE KNOWS IF IT WAS
! A READ OR A WRITE THAT JUST
! COMPLETED AND MAKE SURE YOU USE THE READ
! BUFFER. CHECK FOR ERRORS!!
CALL WRITEREAD (TERM^FILE, TERM^BUFF, 1, MAX^TERM^READ);
IF <> THEN CALL DEBUG; ! NOW DO A WRITEREAD TO THE TERMINAL
! USING A "?" AS THE PROMPT CHARACTER.
! AGAIN CHECK FOR ERRORS.
END; ! PROC CONNECT^LINE
!-------------------------------------------------------------------------
! INITIALIZATON PROCEDURE
!-------------------------------------------------------------------------
PROC INITIALIZE;
BEGIN
STRUCT .STARTUP; ! STARTUP MESSAGE STRUCT
BEGIN
INT MSG^NUM,
DEFAULT [0:7],
INFILE [0:11],
OUTFILE [0:11];
END;
INT ERROR;
END^PROGRAM^REQUEST := 0; ! PROGRAM HASN'T BEEN REQUESTED TO STOP
TERM^BUFF ':=' ["$RECEIVE", 8 * [" "]]; ! OPEN THE TERMINAL
CALL OPEN (TERM^BUFF, TERM^FILE);
IF <> THEN CALL DEBUG;
CALL READ (TERM^FILE, STARTUP, $LEN(STARTUP));! READ THE STARTUP MSG
IF < THEN CALL DEBUG;