home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / modcomp / rinit. < prev    next >
Text File  |  2020-01-01  |  6KB  |  156 lines

  1.       INTEGER FUNCTION RINIT (X)
  2. C
  3. C     ****************************************************************
  4. C
  5. C              KERMIT for the MODCOMP MAXIV operating system
  6. C
  7. C        Compliments of:
  8. C
  9. C                         SETPOINT, Inc.
  10. C                      10245 Brecksville Rd.
  11. C                      Brecksville, Ohio 44141
  12. C
  13. C
  14. C      KERMIT is a copyrighted protocol of Columbia Univ. The authors
  15. C      of this version hereby grant permission to copy this software
  16. C      provided that it is not used for an explicitly commercial
  17. C      purpose and that proper credit be given. SETPOINT, Inc. makes
  18. C      no warranty whatsoever regarding the accuracy of this package
  19. C      and will assume no liability resulting from it's use.
  20. C
  21. C     ****************************************************************
  22. C
  23. C     Abstract:  Receive the initial packet from the remote Kermit.
  24. C
  25. C     MODIFICATION HISTORY
  26. C
  27. C     BY            DATE     REASON            PROGRAMS AFFECTED
  28. C
  29. C
  30. C     ****************************************************************
  31. C
  32. C     Author: BOB BORGESON          Version: A.0    Date: Oct-86
  33. C
  34. C     Calling Parameters:
  35. C
  36. C          X            - REQUIRED BY FORTRAN
  37. C
  38. C     ****************************************************************
  39. C
  40. C     Messages generated by this module :  None
  41. C
  42. C     ****************************************************************
  43. C
  44. C     Subroutines called directly : RPACK, RPAR, SPACK, SPAR
  45. C
  46. C     ****************************************************************
  47. C
  48. C     Files referenced :  None
  49. C
  50. C     ****************************************************************
  51. C
  52. C     Local variable definitions :
  53. C
  54. C      STATUS  - RECEIVES KERMIT STATE FLAG
  55. C
  56. C     ****************************************************************
  57. C
  58. C     Commons referenced :  KERCOM , KERPMC
  59. C
  60. C     ****************************************************************
  61. C
  62. C     (*$END.DOCUMENT*)
  63. C
  64. C     ****************************************************************
  65. C     *                                                              *
  66. C     *         D I M E N S I O N   S T A T E M E N T S              *
  67. C     *                                                              *
  68. C     ****************************************************************
  69. C
  70.       IMPLICIT INTEGER (A-Z)
  71. C
  72. C     ****************************************************************
  73. C     *                                                              *
  74. C     *         T Y P E   S T A T E M E N T S                        *
  75. C     *                                                              *
  76. C     ****************************************************************
  77. C
  78. C
  79. C     ****************************************************************
  80. C     *                                                              *
  81. C     *         C O M M O N   S T A T E M E N T S                    *
  82. C     *                                                              *
  83. C     ****************************************************************
  84. C
  85.       INCLUDE USL/KERCOM
  86.       INCLUDE USL/KERPMC
  87. C
  88. C     ****************************************************************
  89. C     *                                                              *
  90. C     *         E Q U I V A L E N C E   S T A T E M E N T S          *
  91. C     *                                                              *
  92. C     ****************************************************************
  93. C
  94. C
  95. C     ****************************************************************
  96. C     *                                                              *
  97. C     *         D A T A   S T A T E M E N T S                        *
  98. C     *                                                              *
  99. C     ****************************************************************
  100. C
  101. C
  102. C     ****************************************************************
  103. C
  104. C     Code starts here :
  105. C
  106.       IF(NUMTRY.LE.MAXTRY)GO TO 100
  107. C                                             !EXCEEDED MAX. # OF RE-TRY
  108. C                                             !GIVES UP
  109.          RINIT=BIGA
  110.          RETURN
  111.   100 CONTINUE
  112. C                                             !TRY-IT AGAIN
  113.           NUMTRY=NUMTRY+1
  114.       DO 200 I=1,40
  115.          PACKET(I)=0
  116.   200 CONTINUE
  117. C                                             !READ A PACKET
  118.       STATUS=RPACK(LEN,NUM,PACKET)
  119. C                                             !WE GOT A SINIT PACKET
  120.       IF(STATUS.NE.BIGS)GO TO 300
  121. C                                  !STORE OTHER KERMIT'S REQUIREMENTS
  122.          CALL RPAR(PACKET)
  123. C                                  !GET OUR PARAMETERS/REQUIRMENTS
  124.          CALL SPAR(PACKET)
  125.          TNUM=N
  126.          TV1=BIGY
  127.          TV2=6
  128. C                                             !SEND OUT REQUIREMENT AND
  129. C                                             !ACK IT ON ONE SHOT
  130.          CALL SPACK(TV1,TNUM,TV2,PACKET)
  131.          OLDTRY=NUMTRY
  132.          NUMTRY=0
  133.          N=MOD((N+1),64)
  134. C                                             !CHANGE STATE TO LOOK FOR
  135. C                                             !THE FILE HEADER PACKET
  136.          RINIT=BIGF
  137.          RETURN
  138. C
  139.   300 CONTINUE
  140. C                                             !WE GOT A CHECKSUM ERROR
  141.       IF(STATUS.NE.BAD)GO TO 400
  142.            RINIT=STATE
  143.            TNUM=N
  144.            TV1=BIGN
  145.            TV2=1
  146.            TV3=0
  147. C                                             !NAK IT
  148.            CALL SPACK(TV1,TNUM,TV2,TV3)
  149.            RETURN
  150.   400 CONTINUE
  151. C                                             !WE GOT AN UNEXPECTED PACK
  152. C                                             !TYPE, GIVES UP
  153.           RINIT=BIGA
  154.       RETURN
  155.       END
  156.