home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / hp3000st / stkermit.lpt next >
Text File  |  2020-01-01  |  16KB  |  383 lines

  1.      KERMIT (1)                 6/7/84                      KERMIT (1)
  2.  
  3.  
  4.      NAME
  5.             KERMIT - reliable file transfer over terminal connection
  6.  
  7.      SYNOPSIS
  8.             kermit [ifd]
  9.             
  10.             kermit r[ifd]
  11.             
  12.             kermit s[ifd] [file [-as remote_name]]...
  13.  
  14.      DESCRIPTION
  15.             Kermit  provides  reliable file transfer between machines.
  16.             It has  been  implemented  on  many  different  computers,
  17.             including many microprocessors (see below). 
  18.             
  19.             The  files  transferred  may be arbitrary ASCII data (full
  20.             7-bit characters) and may be of any length.   This  kermit
  21.             implementation  is  capable of transmitting binary data as
  22.             well  (8-bit  bytes),  even  over  a  7-bit  communication
  23.             link.   (To  use  this, the other kermit program must also
  24.             have  this  capability.)  Files  are  sent  in  small  (96
  25.             character) checksummed packets. 
  26.             
  27.             This   version   of   kermit  does  not  include  terminal
  28.             emulation.  (In  fact,  good  terminal  emulation  is  not
  29.             possible   from  the  HP  3000.)  Therefore,  this  kermit
  30.             assumes it is running on the  remote  computer   (ie.  NOT
  31.             the   machine   to   which  your  terminal  is  attached).
  32.             Standard  input  and  output  is  used  for   all   packet
  33.             transmissions. 
  34.             
  35.             Kermit  has three modes: Send, Receive and Server.  Kermit
  36.             invoked without arguments comes up in server mode:  it  is
  37.             ready  to  receive  or  send files on command from another
  38.             kermit, i.e., the  kermit  running  on  the  user's  local
  39.             machine.   The  'r'  flag  places  kermit  in Receive mode
  40.             which is a subset of Server mode; it is included only  for
  41.             compatability  with  older  versions.  The 's' flag places
  42.             kermit in Send mode: this flag must  be  followed  by  the
  43.             names  of  the  file(s)  to  be  sent to the other kermit.
  44.             Each filename in a Send command  may  be  followed  by  an
  45.             optional  flag  '-as'  which  must then be followed by the
  46.             filename which will be sent with the  file  to  the  other
  47.             kermit. 
  48.             
  49.             In  Server  or  Receive  modes,  the  'f'  flag suppresses
  50.             conversion of incoming filenames as described below. 
  51.             
  52.             In all states, the 'i' flag ("image mode") specifies  that
  53.             all  files   are  to  be  treated  as  binary files.  When
  54.             receiving files with the 'i' flag  turned  on,  new  files
  55.             are  created  as  fixed record binary files.  When sending
  56.             binary files (or when the 'i' flag is on), only  the  file
  57.             contents  will  be sent; no indication of end-of-record is
  58.             sent.  Thus, information will be lost  if  variable-record
  59.             binary files are sent. 
  60.  
  61.  
  62.                                     -1-
  63.  
  64.  
  65.      KERMIT (1)                 6/7/84                      KERMIT (1)
  66.  
  67.  
  68.             
  69.             Adding  'd'  flags (debug) makes kermit progressively more
  70.             verbose.  Up to three d's may be used.  The states  kermit
  71.             goes  through  are printed along with other traces of it's
  72.             operation.   For   debugging   a   remote   kermit,   this
  73.             information  may  be  saved  in  a file by redirecting the
  74.             error output.  For instance,
  75.             
  76.                  kermit dd ?logfile
  77.             
  78.             will save the diagnostic output  in  the  file  'logfile'.
  79.             To   view  such  log  files  (which  may  contain  control
  80.             characters),  it is most informative  to  use  show(1)  or
  81.             ed(1) with the 'l' command. 
  82.             
  83.             The  file  transfer  protocol  uses  small  (96 character)
  84.             checksummed   packets,   with   ACK/NACK   responses   and
  85.             timeouts.   This Kermit uses a ten second timeout and five
  86.             retries. 
  87.             
  88.             When using kermit  as  a  remote  server,  kermit  may  be
  89.             exited  by  typing  an interrupt (^Y on the HP 3000) or an
  90.             end-of-file (^D and return on the HP  3000).   The  server
  91.             'finish'  command  (sent  from  the  local kermit) has the
  92.             same effect. 
  93.             
  94.             When receiving files, kermit deletes any files  which  are
  95.             not  complete  (due  to  some error or interruption of the
  96.             transfer). 
  97.  
  98.      FILENAMES
  99.             When receiving a file, kermit will first attempt to  store
  100.             the  file with the same name that was used to send it.  If
  101.             that is not possible and  the  'f'  flag  was  not  given,
  102.             Kermit  makes  whatever name translations are necessary to
  103.             make this name legal.  (The HP3000  kermit  must  compress
  104.             names into 8 alphanumeric characters with no extension.)
  105.             
  106.             If  a  file  by  that  name  already exists, kermit simply
  107.             overwrites it, and no error message is given.  (Kermit  on
  108.             the  HP  3000  may be run with "-environ noclobber" at the
  109.             end of the command line to  avoid  this.   In  this  case,
  110.             appending   ":clob"   to   the   filename  overrides  this
  111.             protection.)
  112.             
  113.             In Send mode, Kermit will change the name to  the  "normal
  114.             form"  for  sending: directory specifications are stripped
  115.             off, and a  name  of  the  form  NAME.EXT  is  sent.   The
  116.             extension  .EXT  is  optional,  and both parts are contain
  117.             only letters and digits and are capitalized.  (The  HP3000
  118.             kermit  does  not  send  an  extension.)  The  "-as  name"
  119.             construction may be used to send  files  with  names  that
  120.             are  different  from  the names on the originating system;
  121.             'name' is NOT changed to normal form. 
  122.             
  123.             When sending files to the HP3000 kermit,  it  is  possible
  124.  
  125.  
  126.                                     -2-
  127.  
  128.  
  129.      KERMIT (1)                 6/7/84                      KERMIT (1)
  130.  
  131.  
  132.             to  use  the  full  Software Tools filename syntax.  A few
  133.             useful examples:
  134.             
  135.               name:fix80      create an 80-char fixed record file
  136.               name:dev=lp     print the file on the HP3000 lineprinter
  137.               name:code=prog  create an HP3000 program file (binary)
  138.               name:disc=8000  create a large file (8000 => ~10 Mbyes)
  139.  
  140.      EXAMPLE
  141.             For this example we will assume that we  are  calling  the
  142.             HP  3000   from  a Unix system, i.e., a Unix system is our
  143.             local system.  (In many cases,  a  PC  may  be  the  local
  144.             system.)  Assume  we  are  logged  onto "Local" (the local
  145.             machine), and want to communicate with  "Remote"  (the  HP
  146.             3000). 
  147.             
  148.             We  first  want  to  connect  to "Remote".  On "Local", we
  149.             type:   
  150.             
  151.                   % kermit xlb /dev/tty4 9600
  152.                   [Local] C-Kermit> c
  153.             
  154.             to  set  up  the  connection  (using  the  Unix   kermit's
  155.             'connect'  mode  for terminal emulation, and assuming that
  156.             there is a 9600 baud connection  on  tty4  to  the  3000).
  157.             (Note  that  '%' is the Unix prompt, '[Local] C-Kermit' is
  158.             the local Kermit's prompt.) "Local"s kermit answers:   
  159.             
  160.                   [Local] C-Kermit: connected...  type ^]c to return to Local
  161.             
  162.             and we are talking to "Remote".   We  hit  RETURN,  get  a
  163.             login prompt from "Remote" and login. 
  164.             
  165.                   :hello user.tools
  166.                   (MPE login message...)
  167.             
  168.             Now  we  start  the  kermit  server on the remote machine:
  169.             Remember that we are talking to "Remote"  right  now.   We
  170.             type:   
  171.             
  172.                   :run kermit.pub.tools
  173.                   [Remote] ST Kermit:  Software Tools Kermit (HP 3000)
  174.                   [Remote] ST Kermit Server Mode
  175.             
  176.             and  there  is  now  a  Server  kermit on "Remote" We type
  177.             "^]c"  to return to the Local Kermit and come back to  the
  178.             Local prompt.  Kermit answers:   
  179.             
  180.                   [Local] C-Kermit: returned.  Line is still open. 
  181.             
  182.             We  are now ready to send and receive files.  To get files
  183.             from the other side, we may type:
  184.             
  185.                   [Local] C-Kermit> g data.user.tools junk.pub.acct
  186.                   [Local] C-Kermit: Saving DATA as data
  187.                   [Local] C-Kermit: Saving JUNK as junk
  188.  
  189.  
  190.                                     -3-
  191.  
  192.  
  193.      KERMIT (1)                 6/7/84                      KERMIT (1)
  194.  
  195.  
  196.                   [Local] C-Kermit: Done. 
  197.             
  198.             We may send files with the send command:
  199.             
  200.                   [Local] C-Kermit> s data.dat file1 -as file.user
  201.                   [Local] C-Kermit: Sending data.dat as DATA.DAT
  202.                   [Local] C-Kermit: Sending file1 as FILE.USER
  203.                   [Local] C-Kermit: Done. 
  204.             
  205.             After  each  command,  Kermit  will  type   either   "Send
  206.             complete",  or  "Send failed", depending on the success of
  207.             the transfer. 
  208.             
  209.             After all the  transfers  were  done,  we  should  connect
  210.             again, log off of Remote and leave the Local Kermit. 
  211.             
  212.             Details  on  other  implementations and on the protocol is
  213.             given in the Kermit Users Guide, and the Kermit Protocol
  214.             Manual.
  215.  
  216.      FLOW CONTROL
  217.             The  KERMIT  Protocol  uses only printing ASCII characters
  218.             (decimal 32-126) and Ctrl-A.  The  communications  channel
  219.             between  kermits  must  not change or swallow any of these
  220.             characters.  CR is used  as  the  default  line-terminator
  221.             character,   though   that  may  be  renegotiated  by  the
  222.             protocol.  Ctrl-S/Ctrl-Q (XOFF/XON) flow  control  can  be
  223.             used  "underneath"  the  Kermit  protocol if the operating
  224.             system supports it. 
  225.             
  226.             The HP3000 kermit makes use  of  XON/XOFF  handshaking  by
  227.             sending  Ctrl-S  at  the  appropriate times (after sending
  228.             out a packet).  The 3000 tty driver sends the Ctrl-Q  when
  229.             it  is  ready  for more data.  This will work if the other
  230.             machine's operating system recognizes XOFF/XON.  (This  is
  231.             the case for TOPS-20 and Unix System III and V.)
  232.             
  233.             If  it  does not, the local kermit should wait for the XON
  234.             character before sending each  packet.   The  Unix  Kermit
  235.             (the  version distributed with the 3000 version) does this
  236.             if the 'x' flag is given.  Many micros' kermits  recognize
  237.             a   'SET   IBM'  or  'SET  HANDSHAKE  XON'  command  which
  238.             accomplishes the same thing.  The 3000 kermit  should  NOT
  239.             be  given  the  'x'  flag  unless it is talking to another
  240.             machine that sends out XONs, i.e., an IBM 370. 
  241.             
  242.             If it is not possible for the other  kermit  to  do  this,
  243.             packets  sent to the 3000 kermit may be missed if they are
  244.             sent before the 3000 is  ready  (and  isssues  the  prompt
  245.             character  XON).   This may occur when the 3000 loading is
  246.             high; it is characterized  by  multiple  packet  timeouts,
  247.             and  possibly,  a  "Send  failed"  message  from the local
  248.             kermit. 
  249.             
  250.             A partial solution is to have  the  3000  kermit  ask  the
  251.             local  kermit  to  send 'padding' before sending a packet.
  252.  
  253.  
  254.                                     -4-
  255.  
  256.  
  257.      KERMIT (1)                 6/7/84                      KERMIT (1)
  258.  
  259.  
  260.             This may be done by  using the '-pad N' flag, where N  may
  261.             be from 0 to 94. 
  262.             
  263.             If  a  packet  is  missed, a timeout occurs and the packet
  264.             will be retransmitted, so file  transfer  should  proceed,
  265.             but  if  every  packet  needs  to be transmitted more than
  266.             once,  file  transfer  will   become   exceedingly   slow.
  267.             Running  the  local  kermit  with  debugging on will allow
  268.             monitoring this situation. 
  269.             
  270.             This kermit has timeouts, so the protocol is  stable  when
  271.             communicating   with   "dumb"  kermits  (that  don't  have
  272.             timeouts) as long as they can wait  for  XON.   Even  with
  273.             non-XON kermits, it will usually be stable. 
  274.  
  275.      OTHER IMPLEMENTATIONS
  276.             Kermits  have  been  written  for  TOPS-20,  TOPS-10,  IBM
  277.             VM/CMS, Unix, VAX/VMS,  RT-11,  MS-DOS,  CP/M,  and  Apple
  278.             DOS.   More information is given on page 45 of the  Kermit
  279.             Users Guide. 
  280.             
  281.             The Software Tools kermit runs on the Univac 1100 and  the
  282.             HP  3000,  and  should  be  portable  to  nearly any other
  283.             system that supports the Software Tools package. 
  284.  
  285.      ENVIRONMENT VARIABLES
  286.             The  ST  environment  variable  'kermitheader'  sets   the
  287.             prefix  to  kermit's  message  banner.  It defaults to 'ST
  288.             '.  See env(3:HP3000) for more information on  environment
  289.             variables. 
  290.  
  291.      SEE ALSO
  292.             Kermit User Guide,  Fifth Edition (2 March 1984),    Frank
  293.             da  Cruz,   Columbia  University  Center   for   Computing
  294.             Activities, New York, New York, 10027
  295.             (usemandf.kermit.tools on the HP 3000)
  296.             
  297.             Kermit  Protocol  Manual,   Fifth Edition (30 March 1984),
  298.             Frank da Cruz, Columbia University  Center  for  Computing
  299.             Activities, New York, New York, 10027
  300.             (promandf.kermit.tools on the HP 3000)
  301.             
  302.  
  303.      AUTHORS
  304.             KERMIT  kernel  by  Bill  Catchings,  Columbia  University
  305.             Center for Computing Activities
  306.             
  307.             KERMIT-Unix adaptation by  Chris  Maio  and  Bob  Cattani,
  308.             Columbia University Computer Science Dept. 
  309.             
  310.             Translation  from  C  into  Software  Tools  Ratfor on the
  311.             Univac 1100 by Kendall Tidwell and Allen Cole,  University
  312.             of Utah, Computer Center. 
  313.             
  314.             Fixes,  enhancements  and  port  to  the  HP  3000  by Ken
  315.             Poulton. 
  316.  
  317.  
  318.                                     -5-
  319.  
  320.  
  321.      KERMIT (1)                 6/7/84                      KERMIT (1)
  322.  
  323.  
  324.      DIAGNOSTICS
  325.             Cant open filename
  326.                  sent to the local kermit (as an  error  packet)  when
  327.                  that condition occurs. 
  328.  
  329.      BUGS/DEFICIENCIES
  330.             Use  of  terminal  type  13  may (according to HP) crash a
  331.             Series 33.  If you have a Series 33,  alter  the  TERMTYPE
  332.             definition  in  kermitde.src  to  use  terminal type 4 and
  333.             recompile it using maknew.scripts. 
  334.             
  335.             When receiving files of more than ~ 1 Mbyte,  the  sending
  336.             kermit  is  likely  to  time  out  while  the  3000 kermit
  337.             extends the file.  This may be gotten  around  by  sending
  338.             the  file  with  a  'disc'  specification  appended to the
  339.             name.  For example,  "file1:disc=8000"  is  good  for  ~10
  340.             Mbytes. 
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.                                     -6-
  383.