home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / flex2 / fl2kerdoc.txt < prev    next >
Text File  |  2020-01-01  |  43KB  |  1,057 lines

  1.  
  2.      KERMIT-09 Users guide
  3.  
  4.  
  5.                                   FLEX-09 KERMIT
  6.                                   --------------
  7.  
  8.  
  9.  
  10.  
  11.      Author:      Jur van der Burg
  12.                   Nettelhorst 56
  13.                   2402 LS  Alphen aan den Rijn
  14.                   The Netherlands
  15.      Language:    C (Compiled with Introl (c) compiler)
  16.      Version:     3.0
  17.      Date:        July 1986
  18.  
  19.  
  20.  
  21.  
  22.      KERMIT  for  FLEX  has it's roots in the UNIX version. It is enhanced in 
  23.      several ways, such as data logging, server mode etc.
  24.  
  25.      It  should  run  on about any version of the FLEX-09 (tm) or SK*DOS (tm) 
  26.      operating  system.  It requires 48K of memory. Hardware dependent things 
  27.      are kept in the files FLK.H and FLIO.C .
  28.  
  29.      FLEX-09 KERMIT has most of the features specified in the KERMIT Protocol 
  30.      Manual.
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                 - 1  -
  66.  
  67.  
  68.      KERMIT-09 Users guide
  69.  
  70.  
  71.      1. Remote and Local Operation
  72.  
  73.           KERMIT  programs can be run in two ways, remote and local. A remote 
  74.           Kermit  is usually running on a mainframe, which you have CONNECTed 
  75.           to  through  a PC or other computer. When KERMIT runs remotely, all 
  76.           file  transfer  is done over the job's controlling terminal line -- 
  77.           the same line over which you logged in, and to which you would type 
  78.           interactive  commands.  What  the system thinks is your terminal is 
  79.           really  another  computer, usually a microcomputer, running its own 
  80.           copy of Kermit.
  81.  
  82.           When  KERMIT  is  in  "local  mode",  file transfer is done over an 
  83.           external  device,  such  as  a microcomputer's serial communication 
  84.           port, or an assigned terminal line on a mainframe. The local Kermit 
  85.           is  connected  in  some  way  (like a dialout mechanism) to another 
  86.           computer,  again  running its own copy of Kermit. A local Kermit is 
  87.           in  control  of the screen, a remote Kermit has no direct access to 
  88.           it.
  89.  
  90.           Microcomputer   KERMITs   usually  run  in  local  "mode",  whereas  
  91.           mainframe  Kermits usually need to be given some special command to 
  92.           run  in  local  mode.  Some  commands  make  sense  only for remote 
  93.           Kermits,  others  only  for  local,  still  others can be used with 
  94.           either. Local and remote operation of KERMIT is shown schematically 
  95.           here:
  96.  
  97.       Micro is Local, Mainframe is Remote:
  98.  
  99.  
  100.                   Communication Line           (Packets)
  101.                  +-------------------/  /-----------------+  Other terminals
  102.                  !                                        !  !  !  !
  103.                  !                                        !  !  !  !
  104.        Micro     !     LOCAL                  Mainframe   !  !  !  !  REMOTE
  105.       +----------+----------+                +------------+--+--+--+--------+
  106.       !   Serial Port       !                !            !                 !
  107.       !                     !                !            !                 !
  108.       !                     !                !            !                 !
  109.       !  +---------------+  !                !            Your job's        !
  110.       !  ! Packets: 724  !  !                !            terminal line     !
  111.       !  !               !  !                !                              !
  112.       !  ! File: FOO.BAR !  !                !                              !
  113.       !  +---------------+  !                !                              !
  114.       !   Screen            !                !                              !
  115.       !                     !                !                              !
  116.       +---------------+-----+                +------------------------------+
  117.                       !
  118.                       ! (Commands)
  119.                       !
  120.          +------------+---------+
  121.           \       Keyboard       \
  122.            +----------------------+
  123.                       You
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                                 - 2  -
  132.  
  133.  
  134.      KERMIT-09 Users guide
  135.  
  136.  
  137.           The  KERMIT  program on the micro is a local Kermit. It can control 
  138.           the  screen,  the  keyboard,  and  the port separately, thus it can 
  139.           update  the  screen  with  status  information, watch for interrupt 
  140.           signals   from   the   keyboard,   and   transfer  packets  on  the  
  141.           communications port, all at the same time.
  142.  
  143.           The KERMIT program running on the mainframe is a remote Kermit. The 
  144.           user  logs  in  to  the mainframe through a terminal port. The host 
  145.           computer  cannot  tell  that the user is really coming in through a 
  146.           microcomputer.  The  keyboard,  screen,  and port functions are all 
  147.           combined  in  user's  mainframe  terminal  line. Therefore a remote 
  148.           Kermit  is  cut  off  from  your  screen  and  keyboard during file 
  149.           transfer.
  150.  
  151.           A  KERMIT server is always remote, and must get its commands from a 
  152.           local  KERMIT.  The  following  descriptions  will  indicate when a 
  153.           command must be remote or local.
  154.  
  155.      2. Command Interface
  156.  
  157.           The FLEX-09 implementation has an interactive keyword-style command 
  158.           interface,  modeled after that of the DEC VAX/VMS operating system, 
  159.           which is roughly as follows:
  160.  
  161.           In response to the "Kermit-xx>" prompt you may type a keyword, such 
  162.           as SEND, RECEIVE, or EXIT, possibly followed by additional keywords 
  163.           or  operands,  each  of which is called a field. You can abbreviate 
  164.           keywords  (but  not  file  names)  to  any  length  that makes them 
  165.           distinguishable  from  any  other keyword valid for that field. The 
  166.           command  is  terminated  by  a carriage return. Before the carriage 
  167.           return  is  typed,  the command can be edited using RUBOUT or other 
  168.           command  editing  keys.  Finally, the same command is entered again 
  169.           with  a  minimum  of keystrokes, with each field abbreviated to its 
  170.           shortest unique length.
  171.  
  172.      3. Notation
  173.  
  174.           In the command descriptions, the following notation is used:
  175.  
  176.           anything
  177.                     A  parameter  -  the symbol is replaced by an argument of 
  178.                     the specified type (number, filename, etc).
  179.  
  180.           [anything]
  181.                     An   optional  field.  If  omitted,  it  defaults  to  an  
  182.                     appropriate value.
  183.  
  184.           number
  185.                     A   whole  number,  entered  in  hexadecimal  or  decimal  
  186.                     notation.
  187.  
  188.           character
  189.                     A  single  character,  entered  literally, or as a number 
  190.                     (perhaps  decimal  or hexadecimal) representing the ASCII 
  191.                     value of the character.
  192.  
  193.           file-spec
  194.                     A  file  specification, i.e. the name of a file, possibly 
  195.                     including a drive number or other qualifying information, 
  196.  
  197.                                 - 3  -
  198.  
  199.  
  200.      KERMIT-09 Users guide
  201.  
  202.  
  203.                     and  possibly  containing  "wildcard" or pattern-matching 
  204.                     characters to denote a group of files.
  205.  
  206.           ^X
  207.                     A  control  character  may  be written using "uparrow" or 
  208.                     "caret"  notation,  since  many  systems  display control 
  209.                     characters  this  way. Control characters are produced by 
  210.                     holding  down  the  key marked CTRL or Control and typing 
  211.                     the appropriate character, e.g. X.
  212.  
  213.           Commands  are  shown  in  upper  case,  but  can  be entered in any 
  214.           combination of upper and lower case.
  215.  
  216.      4. Summary of KERMIT Commands
  217.  
  218.           Here  is  a  brief list of KERMIT commands as they are found in the 
  219.           FLEX-09  KERMIT program. The following sections will describe these 
  220.           commands in detail.
  221.  
  222.           For exchanging files:
  223.               SEND, RECEIVE, GET
  224.  
  225.           For connecting to a remote host:
  226.               CONNECT, SET LINE, SET CONFIGURATION, SET BAUD, SET DUPLEX,
  227.               SET HANDSHAKE, SET ESCAPE, SET PROMPT, SET LOG
  228.  
  229.           For acting as a server:
  230.               SERVER
  231.  
  232.           For talking to a server:
  233.               BYE, FINISH, GET, SEND
  234.  
  235.           Setting nonstandard transmission and file parameters:
  236.               SET BLOCK_CHECK_TYPE, SET DEBUG, SET DELAY, SET FILETYPE,
  237.               SET INCOMPLETE, SET WARNING, SET CONFIGURATION, SET RETRY,
  238.               SET END_OF_LINE, SET START_OF_PACKET, SET PACKET_LENGTH,
  239.               SET TIMEOUT, SET PADDING, SET PADCHAR, SET QUOTE,
  240.               SET REPEAT_QUOTE, SET EIGHT_BIT_QUOTE, TAKE
  241.  
  242.           For interrupting transmission:
  243.               Control-X, Control-Z
  244.  
  245.           Getting information:
  246.               HELP, STATISTICS, SHOW, Control-D
  247.  
  248.           For recording the history of a file transfer operation:
  249.               SET DEBUG LOG
  250.  
  251.           For non-protocol file capture or transmission:
  252.               SET LOG, TRANSMIT
  253.  
  254.           Leaving the program:
  255.               EXIT, QUIT
  256.  
  257.           If  you have a file called KERMIT.INI in your default or home disk, 
  258.           KERMIT  will  execute  an automatic TAKE command on it upon initial 
  259.           startup.  KERMIT.INI  may contain any KERMIT commands, for instance 
  260.           SET   commands   to   configure   KERMIT   to  various  systems  or  
  261.           communications media.
  262.  
  263.                                 - 4  -
  264.  
  265.  
  266.      KERMIT-09 Users guide
  267.  
  268.  
  269.  
  270.      5. The SEND Command
  271.  
  272.         Syntax: SEND filespec [filespec2] [filspec3...]
  273.  
  274.           The  SEND  command  causes  a  file or file group to be sent to the 
  275.           other  system. The filespec may contain the commonly used wild-card 
  276.           characters  '*'  and/or  '?',  where  '*' stands for a string match 
  277.           (including  null)  and '?' stands for a single character match. Use 
  278.           of  wildcard  characters  is the most common method of indicating a 
  279.           group  of  files  in  a  single file specification. For instance if 
  280.           FOO.BAS  is  a  single  file, a BASIC program named FOO, then *.BAS 
  281.           might  be a group of BASIC programs. If filespec1 contains wildcard 
  282.           characters  then  all  matching  files  will be sent, in directory-
  283.           listing  order  by name. If a file can't be opened for read access, 
  284.           it  will  be  skipped. There may be a total of twenty files or file 
  285.           groups specified.
  286.  
  287.         SEND Command General Operation
  288.  
  289.  
  290.           Files  will  be sent with their filename and filetype (for instance 
  291.           FOO.BAR,  no  device  or  directory  field, no generation number or 
  292.           attributes).  If  communication  line parity is being used (see SET 
  293.           CONFIGURATION),  the  sending  KERMIT  will  request that the other 
  294.           KERMIT  accept  a special kind of prefix notation for binary files. 
  295.           This  is  an  advanced feature, and not all KERMITs have it; if the 
  296.           other  KERMIT  does  not  agree  to  use this feature, binary files 
  297.           cannot be sent correctly.
  298.  
  299.         SEND Remote Operation
  300.  
  301.  
  302.           If   you   are  running  KERMIT  remotely  (for  instance,  from  a  
  303.           microcomputer),  you  should  "escape  back"  to  your local Kermit 
  304.           within  a  reasonable  amount of time and give the RECEIVE command. 
  305.           Don't  take  more  than about one minute to complete the switch, or 
  306.           KERMIT  may  "time  out"  and give up (in that case, you'll have to 
  307.           CONNECT back to the remote system and reissue the SEND command).
  308.  
  309.         SEND Local Operation
  310.  
  311.  
  312.           If  you're running KERMIT locally, for instance on a microcomputer, 
  313.           you  should have already run KERMIT on the remote system and issued 
  314.           either a RECEIVE or a SERVER command.
  315.  
  316.           Once  you  give KERMIT the SEND command, the name of each file will 
  317.           be  printed  on your screen as the transfer begins, and information 
  318.           will  be  displayed  to  indicate  the  packet  traffic.  When  the 
  319.           specified operation is complete, the program will sound a beep, and 
  320.           the  status  of  the  operation  will  be  indicated by the message 
  321.           Complete, Interrupted, or Failed.
  322.  
  323.           If  you  see  many  packet  retry  indications,  you  are  probably 
  324.           suffering  from  a noisy connection. You may be able to cut down on 
  325.           the  retransmissions  by  using  SET  PACKET_LENGTH to decrease the 
  326.           packet length; this will reduce the probability that a given packet 
  327.           will  be  corrupted  by  noise,  and  reduce  the  time required to 
  328.  
  329.                                 - 5  -
  330.  
  331.  
  332.      KERMIT-09 Users guide
  333.  
  334.  
  335.           retransmit  a  corrupted  packet.  If  you notice a file being sent 
  336.           which  you do not really want to send, you may cancel the operation 
  337.           immediately  by  typing  either Control-X or Control-Z. If your are 
  338.           sending  a  file group, Control-X will cause the current file to be 
  339.           skipped,  and KERMIT will go on to the next file, whereas Control-Z 
  340.           will  cancel  sending  the entire group and return you to KERMIT-09 
  341.           command level.
  342.  
  343.      6. The RECEIVE Command
  344.  
  345.         Syntax:  RECEIVE [filespec]
  346.  
  347.           The  RECEIVE command tells KERMIT to wait for the arrival a file or 
  348.           file  group  sent  by a SEND command from the other system. If only 
  349.           one  file  is being received, you may include the optional filespec 
  350.           as  the  name to store the incoming file under; otherwise, the name 
  351.           is  taken  from the incoming file header. If the name in the header 
  352.           is  not  a legal file name on the local system, KERMIT will attempt 
  353.           to  transform  it to a legal name. If an incoming file has the same 
  354.           name as an existing file, KERMIT will either overwrite the old file 
  355.           or  else  try to create a new unique name, depending on the setting 
  356.           of FILE WARNING.
  357.  
  358.           If  you  have SET CONFIGURATION with parity, then 8th-bit prefixing 
  359.           will  be  requested. If the other side cannot do this, binary files 
  360.           cannot  be  transferred  correctly.  The  sending  KERMIT  may also 
  361.           request that repeated characters be compressed.
  362.  
  363.           If  an  incoming  file does not arrive in its entirety, KERMIT will 
  364.           normally  discard it; it will not appear in your directory. You may 
  365.           change  this  behavior  by  using  the command SET INCOMPLETE KEEP, 
  366.           which will cause as much of the file as arrived to be saved in your 
  367.           directory.
  368.  
  369.         RECEIVE Remote Operation
  370.  
  371.  
  372.           If your are running KERMIT remotely, you should escape back to your 
  373.           local  Kermit  and give the SEND command. You should do this within 
  374.           about  one  minute,  or  KERMIT  may  time out and give up; if this 
  375.           happens,  you can CONNECT back to the remote system and reissue the 
  376.           RECEIVE command.
  377.  
  378.         RECEIVE Local Operation
  379.  
  380.  
  381.           If you are running KERMIT locally, you should already have issued a 
  382.           SEND command to the remote KERMIT, and then escaped back to KERMIT-
  383.           09  (not  SERVER  --  use  the  GET command to receive files from a 
  384.           KERMIT server).
  385.  
  386.           As  files  arrive,  their names will be shown on your screen, along 
  387.           with a continuous display the packet traffic.
  388.  
  389.           If  a  file  begins  to arrives that you don't really want, you can 
  390.           attempt to cancel it by typing Control-X; this sends a cancellation 
  391.           request to the remote Kermit. If the remote Kermit understands this 
  392.           request  (not  all implementations of Kermit support this feature), 
  393.           it  will comply; otherwise it will continue to send. KERMIT-09 will 
  394.  
  395.                                 - 6  -
  396.  
  397.  
  398.      KERMIT-09 Users guide
  399.  
  400.  
  401.           detect  this situation and send an error packet. If a file group is 
  402.           being sent, you can request the entire group be cancelled by typing 
  403.           Control-Z.
  404.  
  405.  
  406.      7. GET
  407.  
  408.         LOCAL ONLY -- Syntax: GET remote-filespec [filespec2...]
  409.  
  410.           The GET command requests a remote KERMIT server to send the file or 
  411.           file  group  specified  by  remote-filespec.  Note  the distinction 
  412.           between  the  RECEIVE  and GET commands: RECEIVE puts KERMIT into a 
  413.           passive  wait  state,  whereas  GET  actively  sends a command to a 
  414.           server.
  415.  
  416.           The  GET  command  can  be  used  only when KERMIT is local, with a 
  417.           KERMIT  server  on  the  other end of the line. This means that you 
  418.           must  have  CONNECTed  to  the  other system, logged in, run KERMIT 
  419.           there,  issued  the  SERVER  command, and escaped back to the local 
  420.           KERMIT.
  421.  
  422.           The  remote  filespec  is  any  string  that  can  be  a legal file 
  423.           specification  for the remote system; it is not parsed or validated 
  424.           locally.  As  files  arrive,  their names will be displayed on your 
  425.           screen,  along  with a continuous indication of the packet traffic. 
  426.           As  in  the RECEIVE command, you may type Control-X to request that 
  427.           the  current  incoming file be cancelled, Control-Z to request that 
  428.           the entire incoming batch be cancelled.
  429.  
  430.           If  the  remote KERMIT is not capable of server functions, then you 
  431.           will  probably  get  an  error  message  back from it like "Illegal 
  432.           packet  type".  In this case, you must connect to the other Kermit, 
  433.           give a SEND command, escape back, and give a RECEIVE command.
  434.  
  435.      8. SERVER
  436.  
  437.         Syntax: SERVER
  438.  
  439.           The  SERVER  command instructs KERMIT to cease taking commands from 
  440.           the keyboard and to receive all further instructions in the form of 
  441.           KERMIT packets from another system. A KERMIT server must be remote; 
  442.           that  is,  you  must  be  logged  in  to the system through another 
  443.           computer,  such  as a microcomputer. In addition, your local KERMIT 
  444.           should  have  commands for communicating with remote servers; these 
  445.           include GET, FINISH, and BYE.
  446.  
  447.           After  issuing  this  command, escape back to your local system and 
  448.           issue  SEND,  GET,  BYE,  FINISH, or other server-oriented commands 
  449.           from  there. If your local KERMIT does not have a BYE command, then 
  450.           it  does  not  have  the  full ability to communicate with a KERMIT 
  451.           server  and  you should not put the remote KERMIT into SERVER mode. 
  452.           If  your  local KERMIT does have a BYE command, use it to shut down 
  453.           and  log  out  the  KERMIT  server  when  you are done with it. The 
  454.           KERMIT-09  server  can  also  be  shutdown  by  typing Control-X or 
  455.           Control-Z. Then the server will stop after the timeout.
  456.  
  457.           Any  nonstandard  parameters  should  be selected with SET commands 
  458.           before putting KERMIT in server mode, in particular the block check 
  459.           type and special file modes.
  460.  
  461.                                 - 7  -
  462.  
  463.  
  464.      KERMIT-09 Users guide
  465.  
  466.  
  467.  
  468.      9. BYE
  469.  
  470.         LOCAL ONLY -- Syntax: BYE
  471.  
  472.           When  running as a local Kermit talking to a KERMIT server, use the 
  473.           BYE  command  to  shut  down and log out the server. This will also 
  474.           close any debugging log files and exit from the local KERMIT.
  475.  
  476.      10. FINISH
  477.  
  478.         LOCAL ONLY -- Syntax: FINISH
  479.  
  480.           When  running  as  a local Kermit talking to a remote KERMIT server 
  481.           use  the FINISH command to shut down the server without logging out 
  482.           the remote job, so that you can CONNECT back to it.
  483.  
  484.      11. FLEX
  485.  
  486.         Syntax: FLEX command
  487.  
  488.           Execute  the specified command on the local system -- on the system 
  489.           where  KERMIT  to  which  your  are typing this command is running. 
  490.           These  commands  provide  some  local  file  management  capability 
  491.           without  having  to leave the KERMIT program, which is particularly 
  492.           useful  on microcomputers. Be sure that the programs you run reside 
  493.           in the utility command space ($C100 - $C6FF).
  494.  
  495.           FLEX DELETE filespec   Delete the specified file or files.
  496.  
  497.           FLEX CAT [filespec]    Provide a directory listing of the specified
  498.                                  files.
  499.  
  500.      12. CONNECT
  501.  
  502.         LOCAL ONLY -- Syntax: CONNECT [terminal-designator]
  503.  
  504.           Establish  a  terminal connection to the system at the other end of 
  505.           the  communication  line.  On a microcomputer, this is normally the 
  506.           serial  port.  On  a mainframe, you will have to specify a terminal 
  507.           line  number  or  other  identifier,  either in the CONNECT command 
  508.           itself, or in a SET LINE command. If a log file was opened (see SET 
  509.           LOG)  then  the  data  will  be  buffered  in memory, which will be 
  510.           written  to  disk  if it becomes full. Handshaking is provided (see 
  511.           SET  HANDSHAKE).  Get back to the local KERMIT by typing the escape 
  512.           character followed by a single character "command".
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.                                 - 8  -
  528.  
  529.  
  530.      KERMIT-09 Users guide
  531.  
  532.  
  533.           Several single-character commands are possible:
  534.  
  535.             C      Close the connection and return to the local KERMIT.
  536.             H      Show availability.
  537.             S      Show status of the connection.
  538.             B      Send a BREAK signal.
  539.             0      (zero) Send a NUL (0) character.
  540.             Q      Quit logging session transcript.
  541.             R      Resume logging session transcript.
  542.             ?      List all the possible single-character arguments.
  543.             ^      (or whatever you have set the escape character to be)
  544.                    Typing the escape character twice sends one copy of it
  545.                    to the connected host.
  546.             other  Rings the bell.
  547.  
  548.           You  can  use  the  SET ESCAPE command to define a different escape 
  549.           character,  and  SET  CONFIGURATION,  SET  BAUD,  SET  DUPLEX,  SET 
  550.           HANDSHAKE to establish or change those parameters.
  551.  
  552.      13. HELP
  553.  
  554.         Syntax: HELP [subject] [sub-subject]
  555.  
  556.           Typing  HELP  alone  prints  a  brief  summary  of  KERMIT  and its 
  557.           commands.  Help  about a particular topic can be obtained by giving 
  558.           it as a parameter. The HELP data file will be searched on the drive 
  559.           KERMIT-09 was loaded from.
  560.  
  561.      14. EXIT, QUIT
  562.  
  563.         Syntax: EXIT
  564.         or:     QUIT
  565.  
  566.           Exit  from  KERMIT.  QUIT  is a synonym for EXIT. If a log file was 
  567.           used  with  CONNECT,  and  the buffer still contains data, then the 
  568.           buffer will we written to disk before terminating KERMIT-09.
  569.  
  570.      15. The SET Command
  571.  
  572.         Syntax: SET parameter [option] [value]
  573.  
  574.           Establish  or  modify  various  parameters  for  file  transfer  or 
  575.           terminal connection.
  576.  
  577.           When   a   file   transfer   operation   begins,  the  two  KERMITs  
  578.           automatically  exchange  special  initialization messages, in which 
  579.           each  program  provides  the  other  with certain information about 
  580.           itself.  This  information includes the maximum packetsize it wants 
  581.           to  receive, the timeout interval it wants the other KERMIT to use, 
  582.           the number and type of padding characters it needs, the end-of-line 
  583.           character  it  needs  to  terminate each packet (if any), the block 
  584.           check type, the desired prefixes for control characters, characters 
  585.           with  the  "high  bit"  set,  and  repeated characters. Each KERMIT 
  586.           program  has  its own preset "default" values for these parameters, 
  587.           and  you  normally  need  not  concern  yourself with them. You can 
  588.           examine  their  values  with  the  SHOW command; the SET command is 
  589.           provided  to  allow you to change them in order to adapt to unusual 
  590.           conditions.
  591.  
  592.  
  593.                                 - 9  -
  594.  
  595.  
  596.      KERMIT-09 Users guide
  597.  
  598.  
  599.           The following parameters may be SET:
  600.  
  601.             BAUD             Set the speed of the current communications port
  602.             BLOCK_CHECK_TYPE Packet transmission error detection method
  603.             CONFIGURATION    Character parity to use
  604.             DEBUG            Mode or log file
  605.             DELAY            How long to wait before starting to send
  606.             DUPLEX           For terminal connection, full (remote echo) or
  607.                              half (local echo)
  608.             EIGHT_BIT_QUOTE  Character to use for binary file transfer if
  609.                              parity used
  610.             END_OF_LINE      End of line character
  611.             ESCAPE           Character for terminal connection
  612.             FILETYPE         For setting ascii or binary file type.
  613.             HANDSHAKE        Selecting flow control characters, like XON/XOFF
  614.             INCOMPLETE       What to do with an incomplete file
  615.             LINE             Terminal line to use for terminal connection or
  616.                              file transfer
  617.             LOG              CONNECTion logging file
  618.             PACKET_LENGTH    Length of a packet
  619.             PADDING          Number of padding characters
  620.             PADCHAR          Padding character
  621.             PROMPT           Prompt of the local KERMIT
  622.             QUOTE            Character used to transfer control characters
  623.             REPEAT_QUOTE     Character to use for data compression
  624.             RETRY            How many times to retry a packet before give up
  625.             START_OF_PACKET  Start of packet character
  626.             TIMEOUT          Time to wait for a packet
  627.             WARNING          File conflict warning flag
  628.  
  629.  
  630.        SET BAUD
  631.  
  632.         Syntax: SET BAUD number
  633.  
  634.           Set  or change the baud rate (approximate translation: transmission 
  635.           speed  in bits per second) on the currently selected communications 
  636.           device.  In  simple  FLEX systems the only allowable baud-rates are 
  637.           300 and 1200. Other interfaces may provide a complete range.
  638.  
  639.        SET BLOCK_CHECK_TYPE
  640.  
  641.         Syntax: SET BLOCK_CHECK_TYPE number
  642.  
  643.           KERMIT  normally  uses a 1-character block check, or "checksum", on 
  644.           each  packet.  The  sender  of  the packet computes the block check 
  645.           based  on  the  other  characters  in  the packet, and the receiver 
  646.           recomputes  it  the same way. If these quantities agree, the packet 
  647.           is  accepted  and  the transmission proceeds. If they disagree, the 
  648.           packet is rejected and transmitted again.
  649.  
  650.           However,  the  block  check  is  not  a  foolproof  method of error 
  651.           detection. The normal single-character KERMIT block check is only a 
  652.           6-bit  quantity  (the low order 8 bits of the arithmetic sum folded 
  653.           upon  itself).  With only six bits of accuracy, the chances are one       
  654.               6
  655.           in 2  -- that is, 1/64 -- that an error can occur which will not be 
  656.           detected  in  the  checksum,  assuming  that all errors are equally 
  657.           likely.
  658.  
  659.                                 - 10 -
  660.  
  661.  
  662.      KERMIT-09 Users guide
  663.  
  664.  
  665.  
  666.           You can decrease the probability that an error can slip through, at 
  667.           the   expense   of   transmission  efficiency,  by  using  the  SET  
  668.           BLOCK_CHECK_TYPE  command  to  select  more  rigorous  block  check 
  669.           methods.  Note  that  all  three methods will detect any single-bit 
  670.           error, or any error in an odd number of bits.
  671.  
  672.           The options are:
  673.  
  674.             1-CHARACTER-CHECKSUM:
  675.  
  676.                     The normal single-character 6-bit checksum.
  677.  
  678.             2-CHARACTER-CHECKSUM:
  679.  
  680.                     A  2-character,  12-bit checksum. Reduces the probability 
  681.                     of an error going undetected to 1/4096, but adds an extra 
  682.                     character to each packet.
  683.  
  684.             3-CHARACTER-CRC:
  685.  
  686.                     A  3-character,  16-bit  Cyclic  Redundancy  Check, CCITT 
  687.                     format.  In addition to errors in any odd number of bits, 
  688.                     this  method  detects double bit errors, all error bursts 
  689.                     of  length  16  or  less,  and  more  than  99.99% of all 
  690.                     possible longer bursts. Adds two extra characters to each 
  691.                     packet.
  692.  
  693.           The  single  character  checksum has proven to be quite adequate in 
  694.           practice,  much  more effective than straightforward analysis would 
  695.           indicate,  since  all  errors  are not equally likely, and a simple 
  696.           checksum  is  well  suited to catching the kinds of errors that are 
  697.           typical  of  telecommunication  lines.  The other methods should be 
  698.           requested only when the connection is very noisy.
  699.  
  700.           Note  that the 2- and 3-character block checks are not available in 
  701.           all  versions  of  KERMIT;  if  the  other KERMIT is not capable of 
  702.           performing  the  higher-precision  block  checks, the transfer will 
  703.           automatically use the standard single-character method.
  704.  
  705.        SET DEBUG
  706.  
  707.         Syntax: SET DEBUG options [file]
  708.  
  709.           Record  the  packet  traffic, either on your terminal or in a file. 
  710.           Options are:
  711.  
  712.           ON              Display each incoming and outgoing packet
  713.                           (lengthy).
  714.  
  715.           OFF             Don't display debugging information (this is the
  716.                           default). If debugging was in effect, turn it off
  717.                           and close any open debug log file.
  718.  
  719.           LOG             Log the information to the specified file.
  720.  
  721.           During  data  transfer,  debugging  can  be  toggled  on and off by 
  722.           pressing Control-D. If a log file was opened, it will be closed.
  723.  
  724.  
  725.                                 - 11 -
  726.  
  727.  
  728.      KERMIT-09 Users guide
  729.  
  730.  
  731.        SET DELAY
  732.  
  733.         Syntax: SET DELAY number
  734.  
  735.           Specify  how  many  seconds to wait before sending the first packet 
  736.           after  a  SEND  command.  Use when remote and SENDing files back to 
  737.           your local Kermit. This gives you time to "escape" back and issue a 
  738.           RECEIVE  command.  The  normal delay is 5 seconds. In local mode or 
  739.           server mode, KERMIT does not delay before sending the first packet.
  740.  
  741.        SET DUPLEX
  742.  
  743.         Syntax: SET DUPLEX keyword
  744.  
  745.           For  use when CONNECTed to a remote system. The keyword choices are 
  746.           FULL  and  HALF. FULL means the remote system echoes the characters 
  747.           you  type,  HALF  means  the  local system echoes them. FULL is the 
  748.           default,  and  is  used  by  most  hosts.  HALF  is  necessary when 
  749.           connecting  to  IBM  mainframes.  Half duplex is also called "local 
  750.           echo".
  751.  
  752.        SET ESCAPE
  753.  
  754.         Syntax: SET ESCAPE character
  755.  
  756.           Specify  or  change  the character you want to use to "escape" from 
  757.           remote  connections  back  to  KERMIT.  This  would  normally  be a 
  758.           character  you  don't  expect  to  be  using  on the remote system, 
  759.           perhaps  a control character like ^[, ^], ^^, or ^_. KERMIT-09 uses 
  760.           the up-arrow ('^') by default. After you type the escape character, 
  761.           you  must  follow  it by a single-character "argument", such as "C" 
  762.           for  Close  Connection.  The  arguments are listed above, under the 
  763.           description of the CONNECT command.
  764.  
  765.        SET FILETYPE
  766.  
  767.         Syntax: SET FILETYPE parameter
  768.  
  769.           Establish file-related parameter. This may be either ASCII for text 
  770.           files  or  BINARY  for  non-text  files.  This  is a very important 
  771.           command  if  you  intend  to transfer binary files, but is normally 
  772.           unnecessary for transmitting textual files.
  773.  
  774.        SET HANDSHAKE
  775.  
  776.         Syntax: SET HANDSHAKE start stop
  777.  
  778.           For  communicating  with  full  duplex  systems.  System-level flow 
  779.           control is not necessary to the KERMIT protocol, but it can help to 
  780.           use  it  if  the same method is available on both systems. The most 
  781.           common  type of flow control on full duplex systems is XON/XOFF. If 
  782.           the  KERMIT  input  buffer is filled up to 250 characters, the stop 
  783.           character is sent. If the buffer becomes empty and contains only 10 
  784.           characters,  the  start  character  will  be send. The defaults for 
  785.           start is XON (17), and for stop XOFF (19).
  786.  
  787.  
  788.  
  789.  
  790.  
  791.                                 - 12 -
  792.  
  793.  
  794.      KERMIT-09 Users guide
  795.  
  796.  
  797.        SET INCOMPLETE
  798.  
  799.         Syntax: SET INCOMPLETE option
  800.  
  801.           Specify  what  to  do  when  a  file  transfer  fails  before it is 
  802.           completed.  The  options are DISCARD (the default) and KEEP. If you 
  803.           choose KEEP, then if a transfer fails to complete successfully, you 
  804.           will be able to keep the incomplete part that was received.
  805.  
  806.        SET LINE
  807.  
  808.         Syntax: SET LINE terminal-designator
  809.  
  810.           Specify the terminal line to use for file transfer or CONNECT. This 
  811.           command  is  found  on  mainframe  KERMITs,  which  normally run in 
  812.           "remote  mode"  using  their  own  controlling  terminal  for  file 
  813.           transfer.  Specifying  a  separate  line puts the program in "local 
  814.           mode". If the line is specified as 'REMOTE', the communication will 
  815.           revert to the job's controlling terminal.
  816.  
  817.        SET CONFIGURATION
  818.  
  819.         Syntax: SET CONFIGURATION number
  820.  
  821.           Parity   is  a  technique  used  by  communications  equipment  for  
  822.           detecting  errors  on  a per-character basis; the "8th bit" of each 
  823.           character acts as a check bit for the other seven bits. KERMIT uses 
  824.           block  checks  to  detect errors on a per-packet basis, and it does 
  825.           not  use  character  parity. However, some systems that KERMIT runs 
  826.           on,  or  equipment  through which these systems communicate, may be 
  827.           using  character  parity.  If  KERMIT  does  not  know  about this, 
  828.           arriving  data  will  have  been  modified and the block check will 
  829.           appear to be wrong, and packets will be rejected.
  830.  
  831.           If  parity is being used on the communication line, you must inform 
  832.           both  KERMITs,  so  the  desired  parity  can  be added to outgoing 
  833.           characters,  and  stripped  from  incoming  ones. SET CONFIGURATION 
  834.           should  be used for communicating with hosts that require character 
  835.           parity  (IBM mainframes are typical examples) or through devices or 
  836.           networks that add parity to characters that pass through them. Both 
  837.           KERMITs   should   be   set  to  the  same  parity.  The  specified  
  838.           configuration parity is used both for terminal connection (CONNECT) 
  839.           and file transfer (SEND, RECEIVE, GET).
  840.  
  841.           The choices for SET CONFIGURATION are:
  842.  
  843.             0.  Seven data bits, even parity and two stop bits.
  844.             1.  Seven data bits, odd parity and two stop bits.
  845.             2.  Seven data bits, even parity and one stop bit.
  846.             3.  Seven data bits, odd parity and one stop bit.
  847.             4.  Eight data bits, no parity and two stop bits.
  848.             5.  Eight data bits, no parity and one stop bit (default).
  849.             6.  Eight data bits, even parity and one stop bit.
  850.             7.  Eight data bits, odd parity and one stop bit.
  851.  
  852.           Eight  bits  means no parity is affecting the data, and the 8th bit 
  853.           of  each  character  can  be used for data when transmitting binary 
  854.           files.
  855.  
  856.  
  857.                                 - 13 -
  858.  
  859.  
  860.      KERMIT-09 Users guide
  861.  
  862.  
  863.           If  you  have  set  to  use parity then advanced versions of KERMIT 
  864.           (including  KERMIT-09)  will  request  that  binary  files  will be 
  865.           transferred  using  8th-bit-prefixing.  If  the KERMIT on the other 
  866.           side knows how to do 8th-bit-prefixing (this is an optional feature 
  867.           of  the KERMIT protocol, and not all implementations of KERMIT have 
  868.           it),  then  binary files can be transmitted successfully. If eight-
  869.           bits  communication  is  specified,  8th-bit-prefixing  will not be 
  870.           requested.
  871.  
  872.        SET EIGHT_BIT_QUOTE
  873.  
  874.         Syntax: SET EIGHT_BIT_QUOTE character
  875.  
  876.           What  character to use to process eight_bit bytes over a line using 
  877.           only  seven data bits. The sending KERMIT will ask the other KERMIT 
  878.           whether it can handle a special prefix encoding for characters with
  879.           the  eighth  bit  on,  using  the  eight_bit_quote  character. This 
  880.           character  should  be  distinct from the REPEAT_QUOTE character and 
  881.           the  QUOTE  character.  The default is "&" (38). There should be no 
  882.           reason to change this.
  883.  
  884.        SET END_OF_LINE
  885.  
  886.         Syntax: SET END_OF_LINE character
  887.  
  888.           The ASCII character to be used as a line terminator for packets, if 
  889.           one  is  required  by the other system, carriage return by default. 
  890.           You  will  only have to use this command for systems that require a 
  891.           line  terminator  other than carriage return. The character must be 
  892.           specified as a hexadecimal number.
  893.  
  894.        SET LOG
  895.  
  896.         Syntax: SET LOG filespec
  897.  
  898.           Create  a  transcript  of  a  CONNECT session, when running a local 
  899.           KERMIT connected to a remote system, in the specified file. Logging 
  900.           can be "toggled" by typing the connect escape character followed by 
  901.           Q  (Quit  logging) or R (Resume logging). Session-logging is useful 
  902.           for   recording   dialog   with  an  interactive  system,  and  for  
  903.           "capturing"  from  systems that don't have KERMIT. No guarantee can 
  904.           be made that the file will arrive correctly or completely, since no 
  905.           error  checking  takes  place.  The  log file will be closed if the 
  906.           filespec is a dash ("-").
  907.  
  908.        SET PACKET_LENGTH
  909.  
  910.         Syntax: SET PACKET_LENGTH number
  911.  
  912.           Maximum  packet  length  to  send  between  10  and  94  (decimal). 
  913.           Shortening  the  packets  might  allow  more of them to get through 
  914.           through without error on noisy communication lines. Lengthening the 
  915.           packets increases the throughput on clean lines.
  916.  
  917.        SET TIMEOUT
  918.  
  919.         Syntax: SET TIMEOUT number
  920.  
  921.           How many seconds to wait for a packet before trying again.
  922.  
  923.                                 - 14 -
  924.  
  925.  
  926.      KERMIT-09 Users guide
  927.  
  928.  
  929.  
  930.        SET PADDING
  931.  
  932.         Syntax: SET PADDING number
  933.  
  934.           How much padding to send before a packet, if the other side needs
  935.           padding. Default is no padding.
  936.  
  937.        SET PADCHAR
  938.  
  939.         Syntax: SET PADCHAR character
  940.  
  941.           What  kind  of  padding  character to send. Default is NUL (0). The 
  942.           character must be specified as a hexadecimal number.
  943.  
  944.        SET QUOTE
  945.  
  946.         Syntax: SET QUOTE character
  947.  
  948.           What  printable character to use for quoting of control characters. 
  949.           This   character   should  be  distinct  from  the  EIGHT_BIT_QUOTE  
  950.           character  and the REPEAT_QUOTE character. The default is "#" (35). 
  951.           There should be no reason to change this.
  952.  
  953.        SET REPEAT_QUOTE
  954.  
  955.         Syntax: SET REPEAT_QUOTE character
  956.  
  957.           What  character  to  use  to  process  repeat count characters. The 
  958.           sending  KERMIT  will  ask the other KERMIT whether it can handle a 
  959.           special   prefix   encoding  for  repeated  characters,  using  the  
  960.           repeat_quote  character. This character should be distinct from the 
  961.           EIGHT_BIT_QUOTE  character  and the QUOTE character. The default is 
  962.           "~" (126). There should be no reason to change this.
  963.  
  964.        SET RETRY
  965.  
  966.         Syntax: SET RETRY number
  967.  
  968.           Set the maximum number of retries for how many times to try sending 
  969.           a  particular  packet  before  giving up, normally 10. If a line is 
  970.           very noisy, you might want to increase this number.
  971.  
  972.        SET START_OF_PACKET
  973.  
  974.         Syntax: SET START_OF_PACKET character
  975.  
  976.           The  start-of-packet  character  is the only control character used 
  977.           "bare"  by  the  KERMIT  protocol. It is Control-A by default. If a 
  978.           bare  Control-A  causes problems for your communication hardware or 
  979.           software,  you  can  use this command to select a different control 
  980.           character  to  mark  the  start  of a packet. You must also set the 
  981.           start_of_packet  character  at  the  KERMIT  on  the  other  system 
  982.           (providing  it has such a command). The character must be specified 
  983.           as a hexadecimal number.
  984.  
  985.  
  986.  
  987.  
  988.  
  989.                                 - 15 -
  990.  
  991.  
  992.      KERMIT-09 Users guide
  993.  
  994.  
  995.        SET WARNING
  996.  
  997.         Syntax: SET WARNING keyword
  998.  
  999.           Enable  or  disable the warning if an incoming file already exists, 
  1000.           where  the  keyword  must  be either ON or OFF. When set to ON (the 
  1001.           default)  and  an  incoming file already exists, an attempt will be 
  1002.           made  to  store  the  file under a new and unique name. When set to 
  1003.           OFF, an existing file will be overwritten.
  1004.  
  1005.      16. SHOW
  1006.  
  1007.         Syntax: SHOW option
  1008.  
  1009.           The  SHOW command displays the values of the parameters settable by 
  1010.           the SET command. If the option is ALL, then a complete display will 
  1011.           be provided.
  1012.  
  1013.      17. STATISTICS
  1014.  
  1015.         Syntax: STATISTICS
  1016.  
  1017.           Give  statistics  about  the most recent file transfer, such as the 
  1018.           total  number  of  characters  transmitted, the effective baud rate 
  1019.           (only if a hardware clock is available), and so forth.
  1020.  
  1021.      18. TAKE
  1022.  
  1023.         Syntax: TAKE filespec
  1024.  
  1025.           Execute  KERMIT  commands  from  the  specified  file. The file may 
  1026.           contain any valid KERMIT commands, including other TAKE commands.
  1027.  
  1028.      19. TRANSMIT
  1029.  
  1030.         Syntax: TRANSMIT filespec
  1031.  
  1032.           Send the contents of the specified file to the other system "bare", 
  1033.           without  protocol, packets, error checking, or retransmission. This 
  1034.           command   is  useful  for  sending  standard  logon  or  connection  
  1035.           sequences,  or  to  send  commands to a smart modem, or for sending 
  1036.           files  to  systems that don't have KERMIT. No guarantee can be made 
  1037.           that  the  target  system  will  receive  the  file  correctly  and 
  1038.           completely. When receiving a file, the target system would normally 
  1039.           be  running  a  text editor in text collection mode. The tranferred 
  1040.           data will be displayed on the screen if DEBUG is on.
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.                                 - 16 -
  1056.  
  1057.