home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
computervision
/
kermit.sfile
< prev
next >
Wrap
Text File
|
2020-01-01
|
2KB
|
87 lines
; 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