C C CADNET V2.0 C XMT -- SUBROUTINE INIT C C THIS SUBROUTINE INITAILIZES COMMUNICATION WITH THE REMOTE PDP-11. C IT TRANSMITS THE NAME OF THE FILE TO BE CREATED ON THE REMOTE, C THE LENGTH OF THE NAME, TYPE OF FILE (VARIBLE OR FIXED RECORDS), C AND THE RECORD LENGTH OF FIXED RECORD LENGTH FILES. C SUBROUTINE INIT(FNAME,LEN,NSIZE,IDS) LOGICAL*1 FNAME(28),ACK,TSKNAM(6),SIZE,HIGH,LOW,LINE(132) PARAMETER EFN=1,REM=3,ERR=4 COMMON /TASK/ TSKNAM COMMON /BUFFER/ ICNT,LINE DATA ACK /"6/ C C IDS=0 !CLEAR STATUS CODE SIZE= LEN+"100 !CODE SIZE OF FILE NAME HIGH= (NSIZE/"100) +"100 !FIRST TWO OCTAL DIGITS OF RECORD LENGTH LOW= (NSIZE.AND."77) .OR."100 !LAST TWO DIGITS C C WRITE THE SEQUENCE AND WAIT FOR RESPONSE WRITE(REM,2000) ACK,SIZE,HIGH,LOW,(FNAME(I),I=1,LEN) CALL TIME D WRITE(ERR,7000) ICNT,(LINE(III),III=1,ICNT) D7000 FORMAT(' ICNT = ',I5/(X,10O7)) C C A THREE CHARACTER RESPONSE SHOULD HAVE BEEN RECEIVED ICOUNT= ICNT ICNT= 0 IF(ICOUNT.NE.3) GOTO 1000 ISIZE= (LINE(2)-"100)*"100 + (LINE(3) - "100) !DECODE RESPONSE C C THE RESPONSE INDICATES THE NUMBER OF CHARACTERS TRANSMITTED. IF(ISIZE.NE.LEN+5) GOTO 1000 RETURN C C ERROR SECTION. SEND ABORT CHARACTER, SET NEGITIVE STATUS CODE C AND RETURN 1000 CONTINUE WRITE(REM,2000) SOH IDS=-1 RETURN C 2000 FORMAT(X,100A1) END