PROGRAM KERMIT 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 C Abstract: Kermit communications program for MODCOMP Classic C running MAX IV. This program and all subroutines C were adapted from a version written by John Lee C of RCA Laboratories. It was originally written in C FORTRAN 77 for an HP-1000 running RTE-6/VM. The C bulk of the conversion effort related to removing C the FORTRAN 77 logic constructs, replacing the C RTE system calls with MAX IV system calls, and C modification of the data file I/O to conform to C the requirements of MAX IV. C C MODIFICATION HISTORY C C BY DATE REASON C C **************************************************************** C C Author: Rick Burke Version: A.0 Date: Aug-86 C C **************************************************************** C C Messages generated by this module : None C C **************************************************************** C C Subroutines called directly : EXIT, PARSER, UFTINI C C **************************************************************** C C Files referenced : None C C **************************************************************** C C Local variable definitions : C C DELAY - # of seconds waited before sending out the first C SINIT packet (only in remote mode). C EOL - End-of-line delimiter required by other Kermits. C ESCHAR - The character used to return back to command parser C from "chat" mode. C FILNAM(132) - The integer array which holds the current working C file name. C HOSTON - Identifies whether this Kermit is running in local C or "chat" mode. C LOCALI - Local (TTY) input channel (login line) C LOCALO - Local (TTY) output channel (login line) C MAXTRY - Maximum number of retries before giving up C MYEOL - The end-of-line delimiter selectable by users C MYPAD - The # of pad characters required by this Kermit C MYPCHA - The pad character required by this Kermit C MYQUOT - The quote used for control-S by this Kermit C This is selectable by the user C N - The number of the current packet frame number C NUMTRY - The number of retry attempts so far C OLDTRY - The number of retries already attempted C PACKET(132) - An integer array to hold the content of a packet C PAD - The # of pad characters required by other Kermit C PADCHA - The pad character to use, if required by other C Kermit C PAKSIZ - The maximum packet size selectable by users C PARITY - One of five parity modes used in sending and C receiving data (local mode only). Only ODD, C EVEN, and NONE are implemented. C PROMPT - The turnaround control character this Kermit looks C for in file transfer with IBM. C QUOTE - The quote character used for control character used C by the other Kermit. C RECPKT(132) - An integer array which holds the imcoming packet C RMTINF - The remote input channel C RMTOUT - The remote output channel C RPSIZ - Maximum size of packet to be received. C SBAUD - Whether this system supports baud switching C SIZE - Maximum size of data packet to be sent C SOH - The start of header used in sending packet; C selectable by the user C SPARIT - Whether this system supports parity switching C SPEED - Baud rate of the remote TTY line C SPORT - Whether this system supports remote line switching C SPSIZ - Maximum size of packet to be used for sending C STATE - Current state of the file transfer process C C **************************************************************** C C Commons referenced : KER and KERPAR local commons 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) INTEGER*2 ALIN(132), BLIN(132) 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 C-----> Set default parameters. C DELAY = 10 EOL = 13 ESCHAR = 29 IBMON = NO QUOTE = 35 SOH = 1 SPEED = 9600 STATE = BIGC C MAXTRY = 5 MYEOL = 13 MYPAD = 0 MYPCHAR = 0 MYQUOTE = 35 PAD = 0 PADCHAR = 0 PAKSIZ = 90 C C-----> 1=EVEN, 2=ODD 3=SPACE 4=MARK 5=NONE C-----> MARK and SPACE not currently implemented. C PARITY = 5 C C-----> DC1, IBM mode only. C PROMPT = 17 C C-----> Disable all I/O port modifications. C SPARITY = NO SBAUD = NO SPORT = NO C C-----> Initialize the UFTs. C CALL UFTINI C C-----> Initialize UFT numbers for local terminal & Kermit I/O. C LOCALO = 3@KE1 LOCALI = 3@KE2 RMTINF = 4 RMTOUT = 3 C C-----> Set default USL to current USL. C SUSL = 3@USL C WRITE (LOCALO,99) CALL PARSER CALL EXIT 99 FORMAT(' MAX IV KERMIT VERSION 1.0') END BLOCK DATA IMPLICIT INTEGER (A-Z) INCLUDE USL/KERPMC INCLUDE USL/KERPMD END