Exchange/RJE Manual

Send/Receive Program Example
Example Programs
104698 Tandem Computers Incorporated D–13
Page 14 [1] $RJE.EXCHAPPL.RJEPROG 1991-06-17 11:05:47
RECEIVE TEST
581. 000000 0 0 !***************************************************************
582. 000000 0 0
583. 000000 0 0 INT PROC receive;
584. 000000 1 0
585. 000000 1 0 BEGIN
586. 000000 1 1
587. 000000 1 1 ! data declarations !
588. 000000 1 1
589. 000000 1 1 INT records := 0;
590. 000000 1 1
591. 000000 1 1 ! end of data declarations !
592. 000000 1 1
593. 000000 1 1 end^loop := 0;
594. 000004 1 1
595. 000004 1 1 ! write the start message !
596. 000004 1 1 sbuffer ':=' ["BEGIN RECEIVE TEST"] -> @sp;
597. 000015 1 1 write^count := @sp '-' @sbuffer;
598. 000021 1 1 CALL WRITE (term^fnum, ibuffer, null);
599. 000031 1 1 CALL WRITE (term^fnum, ibuffer, write^count);
600. 000041 1 1 IF <>
601. 000041 1 1 THEN
602. 000042 1 1 BEGIN
603. 000042 1 2 CALL FILEINFO (term^fnum, error);
604. 000053 1 2 CALL DEBUG;
605. 000054 1 2 END;
606. 000054 1 1
607. 000054 1 1 ! reopen the EXCHANGE/RJE line server process named $LNSRV !
608. 000054 1 1 CALL OPEN (server^open^name, server^fnum); ! single open; wait i/o
609. 000064 1 1 IF <>
610. 000064 1 1 THEN
611. 000065 1 1 BEGIN
612. 000065 1 2 CALL FILEINFO (server^fnum, error); ! use -1 if open fails !
613. 000076 1 2 sbuffer ':=' ["CAN'T REOPEN $LNSRV -- ERROR: "] -> @sp;
614. 000107 1 2 write^count := @sp '-' @sbuffer;
615. 000113 1 2 CALL NUMOUT (sbuffer[write^count-3], error, 10, 3);
616. 000123 1 2 CALL end^it^all (ibuffer, write^count);
617. 000131 1 2 end^loop := 1;
618. 000133 1 2 RETURN end^loop;
619. 000135 1 2 END;
620. 000135 1 1
621. 000135 1 1 ! establish connection with comm line !
622. 000135 1 1 CALL SETMODE (server^fnum
623. 000135 1 1 , function^41
624. 000135 1 1 , secondary+type^2780
625. 000135 1 1 , no^acu);
626. 000144 1 1 IF <>
627. 000144 1 1 THEN
628. 000145 1 1 BEGIN
629. 000145 1 2 CALL FILEINFO (server^fnum, error);
630. 000156 1 2 sbuffer ':=' ["CONNECTION ATTEMPT FAILED--ERROR: "] ->@sp;
631. 000167 1 2 write^count := @sp '-' @sbuffer;
632. 000173 1 2 CALL NUMOUT (sbuffer[write^count-3], error, 10, 3);
633. 000203 1 2 CALL end^it^all (ibuffer, write^count, server^fnum);
634. 000211 1 2 end^loop := 1;
635. 000213 1 2 RETURN end^loop;
636. 000215 1 2 END;
637. 000215 1 1