home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
modcomp.zip
/
rinit.
< prev
next >
Wrap
Text File
|
1987-01-26
|
6KB
|
156 lines
INTEGER FUNCTION RINIT (X)
C
C ****************************************************************
C
C KERMIT for the MODCOMP MAXIV operating system
C
C Compliments of:
C
C SETPOINT, Inc.
C 10245 Brecksville Rd.
C Brecksville, Ohio 44141
C
C
C KERMIT is a copyrighted protocol of Columbia Univ. The authors
C of this version hereby grant permission to copy this software
C provided that it is not used for an explicitly commercial
C purpose and that proper credit be given. SETPOINT, Inc. makes
C no warranty whatsoever regarding the accuracy of this package
C and will assume no liability resulting from it's use.
C
C ****************************************************************
C
C Abstract: Receive the initial packet from the remote Kermit.
C
C MODIFICATION HISTORY
C
C BY DATE REASON PROGRAMS AFFECTED
C
C
C ****************************************************************
C
C Author: BOB BORGESON Version: A.0 Date: Oct-86
C
C Calling Parameters:
C
C X - REQUIRED BY FORTRAN
C
C ****************************************************************
C
C Messages generated by this module : None
C
C ****************************************************************
C
C Subroutines called directly : RPACK, RPAR, SPACK, SPAR
C
C ****************************************************************
C
C Files referenced : None
C
C ****************************************************************
C
C Local variable definitions :
C
C STATUS - RECEIVES KERMIT STATE FLAG
C
C ****************************************************************
C
C Commons referenced : KERCOM , KERPMC
C
C ****************************************************************
C
C (*$END.DOCUMENT*)
C
C ****************************************************************
C * *
C * D I M E N S I O N S T A T E M E N T S *
C * *
C ****************************************************************
C
IMPLICIT INTEGER (A-Z)
C
C ****************************************************************
C * *
C * T Y P E S T A T E M E N T S *
C * *
C ****************************************************************
C
C
C ****************************************************************
C * *
C * C O M M O N S T A T E M E N T S *
C * *
C ****************************************************************
C
INCLUDE USL/KERCOM
INCLUDE USL/KERPMC
C
C ****************************************************************
C * *
C * E Q U I V A L E N C E S T A T E M E N T S *
C * *
C ****************************************************************
C
C
C ****************************************************************
C * *
C * D A T A S T A T E M E N T S *
C * *
C ****************************************************************
C
C
C ****************************************************************
C
C Code starts here :
C
IF(NUMTRY.LE.MAXTRY)GO TO 100
C !EXCEEDED MAX. # OF RE-TRY
C !GIVES UP
RINIT=BIGA
RETURN
100 CONTINUE
C !TRY-IT AGAIN
NUMTRY=NUMTRY+1
DO 200 I=1,40
PACKET(I)=0
200 CONTINUE
C !READ A PACKET
STATUS=RPACK(LEN,NUM,PACKET)
C !WE GOT A SINIT PACKET
IF(STATUS.NE.BIGS)GO TO 300
C !STORE OTHER KERMIT'S REQUIREMENTS
CALL RPAR(PACKET)
C !GET OUR PARAMETERS/REQUIRMENTS
CALL SPAR(PACKET)
TNUM=N
TV1=BIGY
TV2=6
C !SEND OUT REQUIREMENT AND
C !ACK IT ON ONE SHOT
CALL SPACK(TV1,TNUM,TV2,PACKET)
OLDTRY=NUMTRY
NUMTRY=0
N=MOD((N+1),64)
C !CHANGE STATE TO LOOK FOR
C !THE FILE HEADER PACKET
RINIT=BIGF
RETURN
C
300 CONTINUE
C !WE GOT A CHECKSUM ERROR
IF(STATUS.NE.BAD)GO TO 400
RINIT=STATE
TNUM=N
TV1=BIGN
TV2=1
TV3=0
C !NAK IT
CALL SPACK(TV1,TNUM,TV2,TV3)
RETURN
400 CONTINUE
C !WE GOT AN UNEXPECTED PACK
C !TYPE, GIVES UP
RINIT=BIGA
RETURN
END