; 16 jly 85 esj converted ;------------------------------------------< sfile >---------------------- E'F A:S(NWLS) E'O SFILE.(X) ;------------------------------------------------------------------------- ; ; Purpose ; send the filename to other KERMIT ; Input ; none ; Output ; none ; Insert /INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERCOM /INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERDEF ; Globals G'L XNEW,XCOUNT,XEOF,DODOTCT ; Locals I'R NUM,LEN,X,TNUM,LCLSTATE,STATUS I'R TV1,ALIN(132),AONE,BONE ;----------------------< start of code >---------------------------- AONE=1 BONE=1 E'E SCOPY.(FILNAME,0,ALIN,0) W'R (HOSTON.EQ.NO) DODOTCT = 0 E'E TYPE.(0,0) E'E TYPMSG.($Sending !$) ;we are in local mode dis E'E PUTLIN.(ALIN,LOCALDEV) ;the filename being send E'E TYPE.(0,0) E'L W'R (NUMTRY.GT.MAXTRY) LCLSTATE=BIGA ;exceeded max. # of re-try F'N LCLSTATE ;gives up O'E NUMTRY=NUMTRY+1 ;try it one more time E'L LEN=0 W'E (FILNAME(LEN).NE.EOS) ;determine the length of f LEN=LEN+1 E'W TNUM=N TV1=BIGF E'E SPACK.(TV1,TNUM,LEN,FILNAME) ;send filename to other KE STATUS=RPACK.(LEN,NUM,RECPKT) W'R (STATUS.EQ.BIGN) ;we got a NAK W'R (N.NE.(NUM-1)) LCLSTATE=STATE F'N LCLSTATE E'L O'R (STATUS.EQ.BIGY) ;we got a ACK W'R (N.NE.NUM) LCLSTATE=STATE F'N LCLSTATE E'L NUMTRY=0 N=(N+1).MOD.64 XNEW=YES XCOUNT=1 XEOF=NO SIZE=BUFILL.(PACKET) ;fill up a buffer full of b LCLSTATE=BIGD ;change state to sent data F'N LCLSTATE O'R (STATUS.EQ.BAD) ;we got a checksum error LCLSTATE=STATE F'N LCLSTATE O'E LCLSTATE=BIGA ;we got an error or unexpec F'N LCLSTATE ;packet type E'L F'N LCLSTATE E'N