home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / convergent / ctaaaadoc.txt < prev    next >
Text File  |  2020-01-01  |  11KB  |  285 lines

  1. CTOS Kermit Distribution Notes, January 1993
  2.  
  3. CTOS Kermit is based on an old release of C-Kermit (4.2, March 1985), before
  4. the naming convensions for C-Kermit changed.  It is not at all source
  5. compatible with the current version of C-Kermit (though it is expected that
  6. a future release will be).
  7.  
  8. Original Name   Distribution Name   Comments
  9.  
  10.  CKCMD.C        CTCMD.C
  11.  CKCMD.H        CTCMD.H
  12.  CKCONU.C       CTCONU.C
  13.  CKCT.RUN       CTCT.HEX           Binary translated to hex (see below)
  14.  CKCTDIR.C      CTCTDIR.C
  15.  CKDEBU.H       CTDEBU.H
  16.  CKDIAL.C       CTDIAL.C
  17.  CKERMI.DOC     CTKERM.DOC         CTOS-Kermit 2.00 manual, with CTOS specifics
  18.  CKERMI.H       CTERMI.H
  19.  CKFNS.C        CTFNS.C
  20.  CKFNS2.C       CTFNS2.C
  21.  CKLOGI.C       CTLOGI.C
  22.  CKMAIN.C       CTMAIN.C
  23.  CKPROT.C       CTPROT.C
  24.  CKPROT.W       CTPROT.W
  25.  CKUSER.C       CTUSER.C
  26.  CKUSER.H       CTUSER.H
  27.  CKUSR2.C       CTUSR2.C
  28.  CKUSR3.C       CTUSR3.C
  29.  CKVT100.C      CTVT10.C
  30.  CKWART.C       CTWART.C
  31.  CKWART.DOC     CTWART.DOC
  32.  CKXCTOS.C      CTXCTO.C
  33.  CKZCTOS.C      CTZCTO.C
  34.  DIALEX.DOC     CTDIAX.DOC          Sample login script
  35.  KERMLIB.FLS    CTLIB.FLS
  36.  README.DOC    CTAAAA.DOC          This file
  37.  SAMGEN.ASM    CTSAMG.ASM
  38.  WART.RUN    CTWART.HEX          Binary translated to hex
  39.  
  40. -----(cut here)-----
  41.  
  42. /*  UNHEX.C - Program to translate a hex file from standard input
  43.  *  into an 8-bit binary file on standard output.
  44.  *  Christine M. Gianone, CUCCA, October 1986.
  45.  *
  46.  *  Modified - Evan Arnerich, ITT/FSC, January 1993
  47.  *      added arguments for in/out file specs
  48.  */
  49. #include <stdio.h>                    /* Include this for EOF symbol */
  50.  
  51. char a, b;                            /* High and low hex nibbles */
  52.  
  53. /* Main program reads each hex digit pair and outputs the 8-bit byte. */
  54.  
  55. main(argc, argv) int argc; char *argv[]; {
  56.  
  57.     FILE *in_fp, *out_fp;
  58.  
  59.     if ((in_fp = fopen(argv[1], "r")) == NULL) {
  60.         printf("error opening %s\n", argv[1]);
  61.         exit(1);
  62.     }
  63.     if ((out_fp = fopen(argv[2], "w")) == NULL) {
  64.         printf("error opening %s\n", argv[2]);
  65.         exit(1);
  66.     }
  67.      while ((a = getc(in_fp)) != EOF) {  /* Read first hex digit */
  68.         if (a == '\n')                /* Ignore line terminators */
  69.           continue;
  70.         if ((b = getc(in_fp)) == EOF)   /* Read second hex digit */
  71.           break;
  72.         putc( ((decode(a) * 16) & 0xF0) + (decode(b) & 0xF), out_fp );
  73.     }
  74.     fclose(in_fp);
  75.     fclose(out_fp);
  76.     exit(0);                          /* Done */
  77. }
  78. decode(x) char x; {                   /* Function to decode a hex character */
  79.     if (x >= '0' && x <= '9')         /* 0-9 is offset by hex 30 */
  80.       return (x - 0x30);
  81.     else if (x >= 'A' && x <= 'F')    /* A-F offset by hex 37 */
  82.       return(x - 0x37);
  83.     else {                            /* Otherwise, an illegal hex digit */
  84.         fprintf(stderr,"Input is not in legal hex format\n");
  85.         exit(1);
  86.     }
  87. }
  88.  
  89. ----(cut here)----
  90.  
  91. January 5, 1988
  92.  
  93. Welcome to CTOS Kermit.  I hope that you can use this.  First, a few words
  94. about the program.  Read CKERMI.DOC and this will give you an idea of how
  95. this version works.  I have not edited that file, it is the UNIX distribution
  96. version, but most of what is says still applies.
  97.  
  98. I used the WART program to generate CKPROT.C, as is intended.  However,
  99. CKPROT.C did not compile cleanly, and I wanted some more debug info, so I
  100. directly tweaked the source for CKPROT.  If you regen CKPROT.C from WART,
  101. you will probably have to do the same, unless you modify WART.
  102.  
  103. Please don't take the source code presented here to be a shining example of
  104. my philosophy of "C" coding.  I took the code as it was distributed and
  105. changed it as little as possible to get it working.  Even the files
  106. I rewrote (CKZCTOS.C and CKXCTOS.C) were created from the old skeletons.
  107.  
  108. ****PROBLEMS AND LIMITATIONS****
  109. - Server mode is sometimes flaky.  If you start up the server and quickly
  110.   make a request of it, the server works fairly well.  Otherwise, it can get
  111.   stuck and you have to use ACTION-FINISH.  However, this may only happen
  112.   on NCR operating systems (mine).  I heard from a friend who used this
  113.   program to talk to a VAX and left CTOS-Kermit in server mode for six hours
  114.   and everything worked fine.
  115.  
  116. - The Shell command is not implemented.
  117.  
  118. - Wild cards are not implemented.
  119.  
  120. - Remote commands are not implemented.  These are commands passed to a remote
  121.   system for execution.  They are necessarily system dependant.  I was not
  122.   sure what OS I wanted to set them up for, so I didn't set them up at all.
  123.  
  124. - Command line parameters work, but remember that you have to enter them in
  125.   the CTOS command form via "run file".  If a parameter has 2 parts, and they
  126.   are separated by a space, they occupy 2 CTOS parameters.  Also, prefix the
  127.   parameter flags with "-" just like you would on a UNIX command line.
  128.  
  129. - This version has VT101 emulation.  I have added support for some VT100
  130.   character attribute commands, such as bold and reverse video.
  131.   It isn't perfect, but is is good enough to run 'vi' and DEC's All-in-1.
  132.   Use 'set terminal vt100' to select this, and 'set terminal none' to select
  133.   TTY.  The keyboard is used as follows:
  134.  
  135.     :Cursor keys are implemented
  136.     :F1 through F4 are themselves
  137.     :F8 is an emergency reset; press this if emulation is screwed up
  138.     :F9 toggles the reverse video mode
  139.     :F10 toggles CR/LF mode
  140.     :Delete is break
  141.     :Code (Supershift for you NCR people) is Control
  142.     :Code + Shift is used for the VT100 application key pad mode with
  143.      the Convergent numeric key pad
  144.     :Code + Shift F1 to F4 are F1 to F4 in AKP mode
  145.     :Escape is generated by pressing GO twice.  GO is the default local
  146.      escape (to get back to kermit).  If you change this with the
  147.      'set escape' command, you will not be able to send escape (0x1b).
  148.      Escape is also transmitted on the VT101 keyboard by Control+[, but
  149.      this CT keyboard code conflicted with one I used on the AKP, so I
  150.      deleted this feature. If you press GO once and then enter '?', it will
  151.      tell you the options.
  152.  
  153. There are two VT100 object modules possible with the source 'ckvt100.c'.  If
  154. you compile with a define 'NCR=1', it will use the keyboard encoding table
  155. that NCR used with their OS 4.6 and below.  If you omit this define, it uses
  156. the CT standard encoding table.  Link the appropriate one with the rest of the
  157. objects if you want to change things.  At the 'CTOS-Kermit' prompt, type
  158. 'show version' and look at the last line to see the keyboard version.
  159.  
  160. I'm sure that there are a lot more things wrong with this, but this small list
  161. should get you started!  If you find bugs, please let me know.  I am going
  162. to continue to slowly work on this project as time permits.
  163.  
  164.  
  165. Joel Dunn
  166. UNC Chapel Hill
  167. Administrative Data Processing
  168. CB #1150
  169. Chapel Hill, NC 27599-1150
  170.  
  171. 919-966-5879
  172. {backbone}!mcnc!ecsvax!joeld.UUCP
  173. {backbone}!mcnc!unc!dunn.UUCP
  174. rjd@unc.BITNET
  175. 73200,640 COMPUSERV
  176.  
  177. ------------------
  178.  
  179. January 22, 1988
  180.  
  181. The following changes and (hopefully) improvements were made to CTOS-Kermit
  182. in an effort to bring it up (somewhat) to the current state of funcionality
  183. of UNIX and MS-DOS Kermit.  The CTKERM.DOC file has been somewhat updated
  184. to reflect differences between CTOS and UNIX Kermit, and the changes out-
  185. lined below.
  186.  
  187. (1) Commands added:
  188.  
  189.     TAKE
  190.         The TAKE command specifies a file name whose contents are
  191.         executed as Kermit commands.  When all commands in the TAKE file
  192.         are executed, control is returned to the file where the TAKE
  193.         originiated.  20 levels of TAKE are supported.
  194.  
  195.     POP
  196.         POP is used to return from a TAKE file prior to the end of file.
  197.  
  198.     INPUT, REINPUT
  199.         Wait a specified period for a string to be received over the comm
  200.         line.  Result can be tested using the IF command (below).
  201.  
  202.     OUTPUT
  203.         Send a specified string out the comm line.  Together, the INPUT,
  204.         REINPUT, and OUTPUT commands replace the SCRIPT command.  Syntax
  205.         of all three commands follow MS-DOS Kermit standards.
  206.  
  207.     IF {SUCCESS, FAILURE, COUNT, EQUAL, DEFINED, EXIST}
  208.         If the condition is met, the command following the IF clause is
  209.         executed.  SUCCESS and FAILURE test the results of the last
  210.         operation.  The IF COUNT is used in conjuction with the COUNT
  211.         value in loops. The IF COUNT command decrements the count
  212.         variable, and if the result is greater than zero, executes the
  213.         following command.  A separate count variable is maintained for
  214.         each take level.  The IF EQUAL compares two strings.  Either or
  215.         both may reference Kermit variables.  The IF DEFINED succeeds if
  216.         the variable referenced is non-null.  The IF EXIST succeeds if
  217.         file named exists.
  218.  
  219.     SET MODEM RACAL
  220.         This allows dialing using the DIAL command with the internal
  221.         Racal modem used in the US Army's Unisys TACCS and TACCSE
  222.         computers.
  223.  
  224.     ASSIGN
  225.         Set a Kermit variable to a string value.  26 variables (\\%A
  226.         through \\%Z) are supported.  Each variable can hold up to
  227.         20 characters.
  228.  
  229.     ASK, ASKQ
  230.         Prompt the operator for string data to be stored in a Kermit
  231.         variable.  ASK echos operator input to screen, ASKQ does not.
  232.  
  233.     SHOW MACRO
  234.         Display the values stored in all 26 Kermit variables.
  235.  
  236.     DELETE
  237.         Delete a file on the local system.
  238.  
  239.     GOTO
  240.         Branch to a statement other than that immedialtely following.
  241.         Labels are identified as strings preceded by a colon in the
  242.         first column of the statement.
  243.  
  244.     HANGUP
  245.         Drop DTR so that the modem hangs up the phone line.
  246.  
  247.     New command line argument
  248.         A new command line argument (-O) allows kermit commands to be
  249.         specified on the command line.  Virtually any command can be
  250.         entered following the '-O' and are executed after any commands
  251.         in the .kermrc file.
  252.  
  253. (2) The following commands were modified to work better/properly:
  254.  
  255.     SET PARITY, SET FLOW-CONTROL
  256.         These now modify the hardware to get the desired effect.
  257.  
  258.     SET END-OF-PACKET
  259.         Previously, this command told the other system what we expected
  260.         as an end of packet character, but didn't change our out-going
  261.         end-of-packet character.
  262.  
  263.     SET TIMEOUT, RETRY
  264.         Previously, the timeout and retry values was not adjustable,
  265.         causing file file transfer failures when long delays were
  266.         encountered.
  267.  
  268.     SHOW
  269.         The SHOW command was modified to better display the current
  270.         operating paramters.
  271.  
  272.     EXIT
  273.         Added an optional argument to the EXIT command.  This value
  274.         is returned to the operating system when Kermit exits.
  275.  
  276.     REMOTE CMDS
  277.         These have been modified to work a little better.
  278.  
  279. Evan Arnerich / Doug Drury
  280. ITT/FSC
  281. 2810 Industrial Parkway
  282. Santa Maria, CA  93455
  283.  
  284. 805-928-4371
  285.