home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / d / vmeker.doc < prev    next >
Text File  |  2020-01-01  |  82KB  |  2,914 lines

  1.                              VME KERMIT User Guide
  2.                              =====================
  3.  
  4.  
  5.  
  6.  
  7.  
  8.      This  document  describes  how to use the VME implementation of KERMIT
  9.      produced at the South West Universities Regional Computer Centre.
  10.  
  11.      The information in this edition applies to version 1.01 of VME KERMIT.
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.                                                                EDITION 1.01
  41.                                                                October 1986
  42.  
  43.  
  44.  
  45.                               ACKNOWLEDGEMENT
  46.  
  47.     The layout and content of this document is derived from the  'USER GUIDE
  48.     FOR BBC KERMIT'  written by Alan Phillips of the Computing Department at
  49.     the University of Lancaster. We are grateful for his permission  to  use
  50.     this material.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                              VME KERMIT User Guide
  63.  
  64.                                     CONTENTS
  65.  
  66.                1.  INTRODUCTION
  67.  
  68.                2.  AN OVERVIEW OF KERMIT
  69.  
  70.                3.  CONTROLLING VME KERMIT
  71.                    3.1  Entering VME KERMIT
  72.                         3.1.1 The OPTION parameter
  73.                         3.1.2 The VME_FILE parameter
  74.                         3.1.3 The REM_FILE parameter
  75.                    3.2  Leaving VME KERMIT
  76.                    3.3  VME KERMIT command language
  77.                         3.1.1  Command format
  78.                         3.3.2  Abbreviating commands
  79.                         3.3.3  Numeric parameters
  80.                         3.3.4  The help facility
  81.  
  82.                4.  TRANSFERRING FILES WITH KERMIT
  83.                    4.1  Principles
  84.                    4.2  Setting file type
  85.                         4.2.1  How files are organised
  86.                         4.2.2  Sending eight-bit data
  87.                         4.2.3  Binary files
  88.                         4.2.4  ASCII files
  89.                         4.2.5  EBCDIC files
  90.                    4.3  File transfer as a server
  91.                    4.4  File transfer as a non-server
  92.                         4.4.1  Sending files as a non-server
  93.                         4.4.2  Receiving files as a non-server
  94.                    4.5  Handling problems
  95.                    4.6  Advanced facilities
  96.                         4.6.1  Incomplete file transfers
  97.                         4.6.2  Using timeouts
  98.                         4.6.3  Protocol control
  99.  
  100.                5.  COMMANDS FOR GENERAL CONTROL OF KERMIT
  101.  
  102.                6.  COMMANDS FOR TRANSFERRING DATA
  103.  
  104.                7.  COMMANDS FOR PROTOCOL CONTROL
  105.  
  106.                8. OBTAINING, BUILDING AND MODIFYING VME KERMIT
  107.                    8.1 Obtaining VME KERMIT
  108.                        8.1.1 The source files
  109.                    8.2 Building VME KERMIT from source
  110.                    8.3 Changing KERMIT defaults
  111.  
  112.                Appendix 1. VME KERMIT capabilities
  113.  
  114.                Appendix 2. Valid VME control characters
  115.  
  116.                Appendix 3. Running KERMIT over a JNT PAD
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.                              VME KERMIT User Guide
  125.  
  126.  
  127.  
  128.      1: INTRODUCTION
  129.      ===============
  130.  
  131.         This user guide describes the VME implementation of KERMIT produced
  132.      by  the  South  West  Universities  Regional  Computer  Centre at Bath
  133.      University. It is intended to provide enough information for a  novice
  134.      KERMIT  user  to  be  able to transfer data to and from VME to another
  135.      KERMIT system. Other KERMIT systems are desribed only in passing: thus
  136.      a user would almost certainly need  to  consult  the  equivalent  user
  137.      guide for the KERMIT system on the other machine.
  138.  
  139.         The guide is divided into several chapters. The first chapter is  a
  140.      general  overview of KERMIT as a whole, and explains its advantages as
  141.      a file transfer system over "dumb capture" pograms. The  next  chapter
  142.      describes  the  command  language that VME KERMIT uses. Following that
  143.      are chapters that describe how to use VME KERMIT to transfer data.
  144.  
  145.         The  final chapters comprise the "reference section". They describe
  146.      in full detail the commands available in VME KERMIT, grouping them  by
  147.      functionality (i.e. "Commands for file transfer", etc).
  148.  
  149.         The very last chapter of the guide  describes  how  to  obtain  VME
  150.      KERMIT,  and, having obtained it, how to build it from the S3 language
  151.      source.
  152.  
  153.  
  154.  
  155.         VME KERMIT is, of course, freely available to anyone who wants  it.
  156.      It  can  be  obtained  from Lancaster University's KERMIT distribution
  157.      service over file transfer from their VAX 11/780 system. The Lancaster
  158.      distribution  service  also  maintains  on-line  bulletin files giving
  159.      details  new releases of VME KERMIT and of reported bugs: these can be
  160.      consulted in a public-access username.
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.                                       1-1
  186.                              VME KERMIT User Guide
  187.  
  188.  
  189.  
  190.      2: AN OVERVIEW OF KERMIT
  191.      ========================
  192.  
  193.         KERMIT is a system, devised at the Center for Computing  Activities
  194.      at  the University of Columbia, New York (CUCCA), to permit the simple
  195.      and flexible transfer of data from a microcomputer to a  mainframe  or
  196.      another  microcomputer. CUCCA retain the copyright on KERMIT, but have
  197.      published full information on it and permit anyone to implement it  on
  198.      their own machines, provided this is not done for commercial purposes.
  199.      The  result  is  that  KERMIT is now available on a very wide range of
  200.      machines indeed: very few micros and mainframes  now  do  not  have  a
  201.      KERMIT of some sort available for them.
  202.  
  203.         The  primary  design aim of KERMIT is to permit the transfer of any
  204.      data whatsoever between systems, and to make the data  usable  on  the
  205.      system that receives it if this is possible. To illustrate why this is
  206.      important,  and  not  possible with simple systems, we can consider an
  207.      ordinary terminal emulation system that allows  data  to  be  captured
  208.      into files or sent from them.
  209.  
  210.         Simple  terminal  emulator  systems,  such  as  those  commercially
  211.      available  for  many  micros,  do  permit you to transfer files from a
  212.      mainframe in a rudimentary way. You would tell the  emulator  to  copy
  213.      any  characters  that  appear  on the screen into a file, then ask the
  214.      mainframe to display the file. The reverse process would let you input
  215.      data into a mainframe file from your micro's discs.
  216.  
  217.         The  problems arise in the nature of the communications system that
  218.      connect the micro to the mainframe, and how the mainframe itself  uses
  219.      this  system.  A  character of data in a file occupies one byte, which
  220.      consists of 8 binary digits or "bits". If you regard  the  pattern  of
  221.      bits representing a character as a number, this allows numbers ranging
  222.      from  0  to  255 to be used. However, many communications systems will
  223.      allow only 7 of the eight bits to be transmitted along them. The  most
  224.      significant   bit,   termed   the   "parity   bit",  is  used  by  the
  225.      communications system as an error-checking device. Thus,  even  though
  226.      you  send  a byte of 8 bits to the mainframe, it may receive only 7 of
  227.      them. This immediately restricts the range of characters that  can  be
  228.      sent to those whose codes are in the range 0 to 127.
  229.  
  230.         A  further  restriction may be imposed if the communications system
  231.      uses some of those characters  for  its  own  control  purposes:  thus
  232.      systems  often  will  use  the characters whose codes are 17 and 19 to
  233.      prevent overloads occurring. In  such  systems,  you  cannot  transmit
  234.      these  characters  at  all.  To make matters even worse, some machines
  235.      will (apparently arbitrarily) decide that you could not possibly  want
  236.      to  send some characters, so, if you do send them, it will change them
  237.      into something else entirely.
  238.  
  239.         The  character  range 0 to 127 covers all the printable characters,
  240.      so that transferring text files should  just  about  be  possible.  Of
  241.      course,  if  the  communications  line  you are using is unreliable or
  242.      noisy (a slow dial up line, for instance) there is nothing to  prevent
  243.      data  being  garbled  in  transmission, so that you will never be sure
  244.      sure that the data that arrives is the data that you sent.
  245.  
  246.  
  247.                                       2-1
  248.                              VME KERMIT User Guide
  249.  
  250.  
  251.         KERMIT overcomes all these difficulties by  encoding  the  data  it
  252.      sends  according  to  a  standard  set  of rules or "protocol". KERMIT
  253.      recognises  that  many  characters  cannot  be  transmitted   down   a
  254.      communications  line,  so  if  those  characters  occur,  they will be
  255.      translated into something that will be transmitted. The receiving end,
  256.      of course, will translate them back again  to  what  they  were.  This
  257.      technique  enables  you  to  send  any  data at all, even machine code
  258.      programs. It further guarantees that the data you  send  is  the  data
  259.      that  arrives,  since  KERMIT  uses  special  methods  for   detecting
  260.      garbling  and  will  repeat any transmissions that did not get through
  261.      correctly.  KERMIT's  encoding  and  checking  techniques   are   more
  262.      efficient than some other systems that offer this facility, since only
  263.      bytes that need encoding actually are encoded, thus keeping the volume
  264.      of data sent to the minimum possible.
  265.  
  266.  
  267.         Besides  the problems of actually transferring data corectly, there
  268.      is  the  problem  of  making  it  usable  on  the  other  end  of  the
  269.      transmission link. If you are sending, say, a SAVEd BASIC program from
  270.      a micro to VME, this isn't a problem, since VME can't understand micro
  271.      BASIC anyway. Nor does it matter if you use the VME system only as  an
  272.      archive:  it's irrelevant how the data is held on VME, as long as when
  273.      it is brought back to the micro side it looks the same as when it  was
  274.      sent.
  275.  
  276.         The  usability  problem  does appear, though, if you want to move a
  277.      file from a micro to VME and then actually use it on VME.  You  might,
  278.      for  instance, word process a file on the micro then send it to VME to
  279.      be printed. In this case,  you  do  NOT  want  to  transfer  the  data
  280.      byte-for-byte,  since  the  way  the  micro and VME denote things like
  281.      the end of each line of text will almost certainly be different.  What
  282.      you require is that the file of printable lines on the micro which you
  283.      can process on that machine, becomes a file of  printable  records  on
  284.      VME, that can be processed there.
  285.  
  286.         Using  a  dumb terminal emulator system would probably let you send
  287.      the data, but it would appear byte-for-byte as it was  on  the  micro.
  288.      And probably you would get a  file  on  VME  with extra line-feeds and
  289.      carriage-returns that would need laborious editing  before  you  could
  290.      use the file sensibly.
  291.  
  292.         With  KERMIT  the  problem  can  easily be circumvented. The KERMIT
  293.      protocols define a standard way of indicating the end of  a  printable
  294.      line.  When  you  send  a  file  from  VME,  VME KERMIT will translate
  295.      whatever ends the lines of text in your file into this  standard  form
  296.      before  sending  the  data.  The  receiving  end, seeing this standard
  297.      end-of-line indicator, will translate it  into  however  IT  indicates
  298.      end-of-line.  You  thus  end  up  with a usable file of lines, with no
  299.      extra characters anywhere.
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.                                       2-2
  310.                              VME KERMIT User Guide
  311.  
  312.  
  313.         The requirements you must meet before using KERMIT are simple.  You
  314.      will  need a KERMIT in your micro which supports terminal emulation; a
  315.      KERMIT program in the VME system you wish to transfer data to;  and  a
  316.      way  of  linking  the machines, be it a network, an ordinary cable, or
  317.      whatever.
  318.  
  319.         Micro to mainframe transfers involves entering the micro's terminal
  320.      emulator  program:  you  initially use this to log in to VME as though
  321.      the micro was an ordinary terminal. Once logged in, you start the  VME
  322.      KERMIT program, and can then flip from giving commands to VME  KERMIT,
  323.      to  giving  commands to the micro KERMIT. You tell one machine that it
  324.      is going to receive a file, tell the other to send it,  and  sit  back
  325.      and relax while it happens.
  326.  
  327.         Some micro KERMIT's provide one further facility to help you  spend
  328.      time  doing  more useful things. As well as sending one file at a time
  329.      from one machine to the other, you can send them in groups: thus,  you
  330.      could  say  "send  all  the  files  on my disc to VME" in one command.
  331.      The KERMIT programs will send the files one by one until all are gone,
  332.      quite automatically. This facility is not available with VME KERMIT.
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  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.                                       2-3
  372.                              VME KERMIT User Guide
  373.  
  374.  
  375.  
  376.      3: CONTROLLING VME KERMIT
  377.      =========================
  378.  
  379.         In this section we shall look at how you start and stop VME KERMIT,
  380.      and also how its command language operates.
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.                                       3-1
  434.                              VME KERMIT User Guide
  435.  
  436.  
  437.  
  438.      3.1 ENTERING VME KERMIT
  439.      -----------------------
  440.  
  441.         To  invoke VME KERMIT you must log in to VME and issue the command:
  442.  
  443.                  KERMIT ( OPTION   = @ initial mode         @ ,
  444.                           VME_FILE = @ name of VME file     @ ,
  445.                           REM_FILE = @ name of remote file  @ ,
  446.                           RESPONSE = @ result code variable @ )
  447.  
  448.         to the VME command prompt.
  449.  
  450.  
  451.       3.1.1. The OPTION Parameter
  452.  
  453.             This parameter defines which mode VME KERMIT is to start up in.
  454.             If  you  set  this  parameter to COMMAND (the default) then VME
  455.             KERMIT will start up in command mode and you will  be  prompted
  456.             to  type comands. You must not specify the VME_FILE or REM_FILE
  457.             parameters when you have set the OPTION parameter to COMMAND.
  458.             If  you wish to initiate a file transfer directly you may do so
  459.             by setting the OPTION parameter to either RECEIVE  (VME  KERMIT
  460.             is  to  receive a file) or SEND (VME KERMIT is to send a file).
  461.             For RECEIVE, the VME_FILE parameter is optional  but  you  must
  462.             not  set  the  REM_FILE  parameter.  For  SEND,  the  VME_FILE
  463.             parameter is mandatory and it must be set to the  name  of  the
  464.             VME  file  to  be  sent.  The  REM_FILE  parameter  however  is
  465.             optional.
  466.             Alternatively you may wish to enter server  mode  directly, you
  467.             may  do  this by setting the OPTION parameter to SERVER. As for
  468.             COMMAND mode the VME_FILE and REM_FILE parameters must  not  be
  469.             specified.
  470.  
  471.  
  472.       3.1.2. The VME_FILE parameter
  473.  
  474.             This parameter specifies the name of the VME file to be used in
  475.             the file transfer.
  476.             If you have set the OPTION parameter to COMMAND or  SERVER  you
  477.             must not set this parameter.
  478.             This  parameter  is optional if you set the OPTION parameter to
  479.             RECEIVE. If it is given then it must contain the  name  of  the
  480.             VME  file  to  receive  the data. If you default this parameter
  481.             then  KERMIT  will  take  the  VME  file  name  from  the  file
  482.             indentified by the micro KERMIT.
  483.             This parameter is manadatory when you set the OPTION  parameter
  484.             to  SEND  and  it  must  contain the name of the VME file to be
  485.             transfered.
  486.  
  487.  
  488.       3.1.3. The REM_FILE parameter
  489.  
  490.             This  parameter  specifies  the  file name that VME KERMIT will
  491.             send to the micro KERMIT to identify the file.
  492.             This parameter is optional when the OPTION parameter is set  to
  493.             SEND, but  must  be  omitted in all other cases. If you set the
  494.  
  495.                                       3-2
  496.                              VME KERMIT User Guide
  497.  
  498.             option parameter to SEND and default  this  parameter  the  VME
  499.             KERMIT will send to the micro KERMIT a file name taken from the
  500.             VME file name.
  501.  
  502.  
  503.      3.1.4. The RESPONSE parameter
  504.  
  505.             This parameter is used to return result codes. VME KERMIT  does
  506.             not  generate  any  result  codes  of it's own but standard VME
  507.             result codes may be returned. Normally this parameter should be
  508.             omitted.
  509.  
  510.  
  511.  
  512.      3.2 LEAVING VME KERMIT
  513.      ----------------------
  514.  
  515.         To  leave  VME KERMIT you would normally use the EXIT command. This
  516.      will close down KERMIT and return to the VME command level.
  517.  
  518.         Alternatively, if you are running VME KERMIT in server mode you can
  519.      close  KERMIT  remotely  and either return to the VME command level or
  520.      log out the VME terminal session.
  521.  
  522.  
  523.  
  524.      3.3 VME KERMIT COMMAND LANGUAGE
  525.      -------------------------------
  526.  
  527.         You  control  what  you want VME KERMIT to do, and how it should do
  528.      it, by giving it commands in its "command language". The format of the
  529.      command language closely  follows  that  used  on  most  other  KERMIT
  530.      implementations on other machines.
  531.  
  532.  
  533.      3.3.1. Command format
  534.  
  535.            When you enter VME KERMIT, you will see a prompt on the screen
  536.  
  537.                                   VME Kermit>
  538.  
  539.           This indicates  that  KERMIT  is expecting you to type a command.
  540.           KERMIT commands can be typed in upper case, lower  case,  or  any
  541.           mixture of the two as you please.
  542.  
  543.            KERMIT  commands  take the form of a command name, such as "SET"
  544.           sometimes followed by one or more further pieces  of  information
  545.           or  "parameters",  which  must  be  separated  from each other by
  546.           spaces.
  547.           For example, one command you might use is
  548.  
  549.                                   SET RETRY 10
  550.  
  551.           to  set  the  number  of  times an attempt will be made to send a
  552.           particular packet before giving up. Here the  command  is  "SET",
  553.           and  RETRY  and 10 are the parameters to the command. Since there
  554.           are a large number of variations to the SET  command,  these  are
  555.           often  referred  to  in  this guide as separate comands. Thus you
  556.  
  557.                                       3-3
  558.                              VME KERMIT User Guide
  559.  
  560.           see references  to  the  "SET  FILE  TYPE  BINARY"  command,  for
  561.           instance.  You can regard this as either a command whose name has
  562.           spaces in it, or as a form of the  SET  command  with  parameters
  563.           FILE,  TYPE  and  BINARY.  In either case, the effect will be the
  564.           same.
  565.  
  566.            At the end of each command you should press the  RETURN  key  to
  567.           send  the  line  to  KERMIT for action. If you have made a typing
  568.           mistake you can use the delete key and cancel key exactly as  for
  569.           other VME commands.
  570.  
  571.            The  reference  section  at  the  end  of  this  guide gives the
  572.           complete specification  of  all  the  VME  KERMIT  commands.  The
  573.           commands  are  grouped according to their function (such as "file
  574.           transfer control"), rather than in one  alphabetical  list.  Thus
  575.           you  will  find  variations  of the SET command appearing in many
  576.           places, grouped with other commands that  function  in  the  same
  577.           area.
  578.  
  579.            The  reference  section presents each command in a formal way to
  580.           show you exactly what you are allowed to type at any  point.  You
  581.           might find one command described as having a format
  582.  
  583.                                SET PAUSE <number>
  584.  
  585.           for example. Here the fixed parts, that you would always include,
  586.           are  shown in capitals. The third part of the command, "<number>"
  587.           is enclosed in "<>" brackets to show that here you  must  provide
  588.           your  own  parameter  value.  The  fact  that  it  says  "number"
  589.           indicates that what you should type is a number of some sort: the
  590.           description of the command will tell you what sort of number  you
  591.           must  provide and why. Note that you don't type the "<>" brackets
  592.           yourself here. Thus, a valid way of using this command might be
  593.  
  594.                                   SET PAUSE 10
  595.  
  596.           where you have supplied the  numeric  value  "10"  where  it  was
  597.           expected.
  598.  
  599.            Sometimes,  not  all  the  parameters  of  some commands need be
  600.           typed. In these cases, VME KERMIT will take a "default" value for
  601.           the parameter you did not supply. The reference section will tell
  602.           you which parameters can be omitted, and what values  VME  KERMIT
  603.           will assume if they are omitted.
  604.  
  605.  
  606.      3.3.2. Abbreviating commands
  607.  
  608.            To  reduce  the amount of typing that you need to do, VME KERMIT
  609.           allows you to abbreviate all commands and  most  parameters.  You
  610.           may  abbreviate  to  as few characters as you wish, provided that
  611.           what you type is unique. Thus
  612.  
  613.                                    HELP
  614.                                    HEL
  615.                                    HE
  616.                                    H
  617.  
  618.  
  619.                                       3-4
  620.                              VME KERMIT User Guide
  621.  
  622.           are legal, but
  623.                                    S
  624.  
  625.           is not, since it could stand for either SEND, SERVER, SET,  SHOW
  626.           or STATISTICS. To take a full example, you could type either
  627.  
  628.                              SET FILE TYPE BINARY
  629.  
  630.           or abbreviate it as far as
  631.  
  632.                                    SET F T B
  633.  
  634.  
  635.      3.3.3. Numeric parameters
  636.  
  637.            Except  where explicitely stated, numeric parameters to commands
  638.           can be typed in either decimal or hexadecimal.  By  default,  VME
  639.           KERMIT  expects  the  value to be decimal, but you can indicate a
  640.           hexadecimal number by preceding the parameter with an "X".
  641.  
  642.            Thus
  643.  
  644.                                       123
  645.  
  646.           is a decimal value, and
  647.  
  648.                                       X123
  649.  
  650.           is a hexadecimal value.
  651.  
  652.  
  653.  
  654.      3.3.4. The help facility
  655.  
  656.            Quite  often,  you  may wish a reminder as to what parameters or
  657.           commands you can give. KERMIT has a "help" facility that will act
  658.           as an "aide-memoire" for you.
  659.  
  660.            To use help, simply type HELP in response to the command prompt.
  661.           KERMIT will immediately give you a list of the commands available
  662.           and  the  option  of  requesting  further  information  about the
  663.           commands.
  664.  
  665.           For example, if you type HELP after the prompt thus:
  666.  
  667.                VME Kermit> HELP
  668.  
  669.           KERMIT  will  output  a list of the commands you can use. You may
  670.           then request more information about one of the commands from  the
  671.           menu.
  672.  
  673.            The  HELP  command  may  be  augmented  by  folowing  it  by  a
  674.           command name and parameters.
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.                                       3-5
  682.                              VME KERMIT User Guide
  683.  
  684.           For  example,  if  you  require  help  for  the "SET" command you
  685.           type
  686.  
  687.                            VME Kermit> HELP SET
  688.  
  689.           VME KERMIT will then give you an explanation ot the "SET" command
  690.           and  a  list  of the parameters available. You will then be given
  691.           the option of requesting further information about the parameters
  692.           and their values.
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.                                       3-6
  744.                              VME KERMIT User Guide
  745.  
  746.  
  747.  
  748.      4: TRANSFERRING FILES WITH KERMIT
  749.      =================================
  750.  
  751.         The primary use of VME KERMIT is to transfer files between it and a
  752.      microcomputer.  The  methods  used  will  be  substanstially  the same
  753.      whatever the other system is, since any KERMIT system should  be  able
  754.      to  communicate  with any other. Though the general techniques will be
  755.      same, the exact commands used to control the  different  KERMITs  will
  756.      vary  from  one  system  to another. You will need to consult the user
  757.      guides of the other system to discover how it should be controlled. In
  758.      this section we shall cover in detail how VME KERMIT is controlled.
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.                                       4-1
  806.                              VME KERMIT User Guide
  807.  
  808.  
  809.      4.1 PRINCIPLES
  810.      --------------
  811.  
  812.         KERMIT differs from other "dumb" file transfer systems (such as you
  813.      might  find  in a terminal emulator ROM, for instance) in that it aims
  814.      to transfer files in a USABLE way between systems. Thus, if you have a
  815.      program  source  on  your  micro's  discs  that you can edit with some
  816.      editor, and transfer this to VME, the resulting file  should  also  be
  817.      editable  using VME's editors. KERMIT will resolve all the differences
  818.      in how files are stored on your behalf, so that, in this example,  the
  819.      VME  file  will not contain extra line-feed characters at inconvenient
  820.      places that the VME editor cannot handle.
  821.  
  822.         Transferring  files with KERMIT involves several discrete steps. We
  823.      shall consider here the most common case of transfer  to  and  from  a
  824.      microcomputer.
  825.  
  826.           1. The micro KERMIT is entered and set up  for  the  transfer. In
  827.           particular, you may wish to tell KERMIT what types of file are to
  828.           be moved. You will also need to set the parameters  for  terminal
  829.           emulation,  and,  depending  on the micro system's needs, you may
  830.           need to change some of the  more  detailed  aspects  of  the  VME
  831.           KERMIT's operation.
  832.  
  833.           2. Terminal emulation mode is entered, and the micro is logged in
  834.           to VME as though it were an ordinary terminal.
  835.  
  836.           3. Operating as a terminal, the VME KERMIT program is started.
  837.  
  838.           4. Commands  can  then  be given to the VME KERMIT (from terminal
  839.           emulation mode) and to the micro's KERMIT  (from  KERMIT  command
  840.           mode).  The  two  KERMIT systems will communicate with each other
  841.           using the standard KERMIT protocol.
  842.  
  843.           5. After the transfers are done, the terminal is logged out  from
  844.           the VME system.
  845.  
  846.      In  practice,  the  steps  taken  will  range up and down this list as
  847.      required. For example, VME KERMIT parameters can  be  changed  at  any
  848.      time,  not  only  at  the start, and if you are moving several tyes of
  849.      file you will need to change them frequently. In the sections below we
  850.      shall consider the various actions you will need to take; the order of
  851.      doing them is up to you.
  852.  
  853.  
  854.  
  855.      4.2 SETTING FILE TYPE
  856.      ---------------------
  857.  
  858.  
  859.      4.2.1 How files are organised
  860.  
  861.           VME  KERMIT can only operate on serial access files, and the user
  862.           must have the required access  permissions  (read  or  write,  as
  863.           necessary). The maximum record size that VME KERMIT can handle is
  864.           4096 bytes.
  865.  
  866.  
  867.                                       4-2
  868.                              VME KERMIT User Guide
  869.  
  870.      4.2.2 Sending eight bit data
  871.  
  872.            Futher more VME KERMIT restricts data it sends to only 7 bits in
  873.           each byte: thus you can only normally send characters whose ASCII
  874.           codes  are in the range 0 to 127. However, every binary file will
  875.           contain bytes from the whole character set, with codes from 0  to
  876.           255.
  877.  
  878.            KERMIT   in   general   has  a  technique  for  overcoming  this
  879.           restriction, by encoding characters  in  the  range  128  to  255
  880.           into  special  sequences  that can be sent down any communication
  881.           line. VME KERMIT and most modern KERMITs will use this technique,
  882.           which  is  known  as "eigth-bit-prefixing", but you may encounter
  883.           an older implementation on some machine that does not support it.
  884.           In  this case it will not be possible to transfer the file. There
  885.           is regrettably, no way round this problem from within KERMIT.
  886.  
  887.      4.2.3. Binary files
  888.  
  889.           These  files  contain  data that is not primarily printable text,
  890.           such as machine-code programs. When you transfer these files, you
  891.           wish  every byte in the file on one system to appear unchanged in
  892.           the file on the other system, regardless of what it is.
  893.  
  894.           You tell KERMIT that you  are  handling  binary  files  with  the
  895.           command
  896.  
  897.                               SET FILE TYPE BINARY
  898.  
  899.           which  tells  it  not  to change any data that it either sends or
  900.           receives. Note here that you  may  need  to  issue  a  comparable
  901.           command  to  the micro KERMIT, to prevent it trying to manipulate
  902.           the data.
  903.  
  904.      4.2.4. ASCII files
  905.  
  906.           These  files  contain  data that is primarily printable text, but
  907.           they also contain some characters whose codes are in the range  0
  908.           to 255, such as word processing text files. As with binary files,
  909.           the data is transferred  byte-for-byte,  but  in  this  case  the
  910.           record format is maintained.
  911.  
  912.           You  tell  KERMIT  that  you  are  handling  ASCII files with the
  913.           command
  914.  
  915.                               SET FILE TYPE ASCII
  916.  
  917.           which  tells  it  not  to change any data that it either sends or
  918.           receives, but it is to recognise end of record delimeters.
  919.  
  920.      4.2.5. EBCDIC files
  921.  
  922.           These  files  contain  printable  text, such as program listings.
  923.           When you transfer one of these files, you do not necessarily want
  924.           a  byte-for-byte  transfer,  since the two machines may differ in
  925.           how they store text files.  VME  for  example,  uses  the  EBCDIC
  926.           character code to store text files,  whilst  most micro's use the
  927.           ASCII character code. The KERMIT standards defines a fixed way in
  928.  
  929.                                       4-3
  930.                              VME KERMIT User Guide
  931.  
  932.           which things such as end-of-line are transferred: VME KERMIT will
  933.           translate your data to this standard format, and  the  other  end
  934.           will  then  translate  the  standard format into whatever its own
  935.           specific requirements are.
  936.  
  937.           You tell VME KERMIT that EBCDIC text files are to be  transferred
  938.           with the
  939.  
  940.                               SET FILE TYPE EBCDIC
  941.  
  942.  
  943.  
  944.      4.3 FILE TRANSFER AS A SERVER
  945.      -----------------------------
  946.  
  947.         VME  KERMIT  will  run as a KERMIT server, but it is essential that
  948.      your micro KERMIT is able to communicate with a server:  that  is,  it
  949.      must support the commands GET and BYE or FINISH.
  950.  
  951.       You should put VME KERMIT into server mode with the command "SERVER".
  952.      You should then use your micro KERMITs local escape sequence to return
  953.      to  command  mode. The operation of both KERMITs can now be controlled
  954.      from your micro KERMIT, and your micro KERMITs user guide should  give
  955.      you further information regarding running with a server.
  956.  
  957.  
  958.  
  959.      4.4 FILE TRANSFER AS A NON-SERVER
  960.      ---------------------------------
  961.  
  962.         Transferring  data  as  a  non-server is a little more complicated,
  963.      since you will need to continually  change  from  the  micro  KERMITs
  964.      command mode to terminal mode and back again. With a little  practice,
  965.      though, the technique becomes natural.
  966.  
  967.      4.4.1. Sending files as a non-server
  968.  
  969.           To send a file as a non-server you use the command SEND. However,
  970.           you must also tell the micro KERMIT that a file is on its way.
  971.  
  972.           One means of doing this is as follows:
  973.  
  974.                a. In terminal mode, start the VME KERMIT program, and issue
  975.                the  SEND command. This tells it to send a file to the micro
  976.                system. Normally, VME KERMIT will pause for  30  seconds  to
  977.                enable  you  to escape back and issue commands to your micro
  978.                KERMIT.
  979.  
  980.                b. Use  your  micro  KERMITs local escape sequence to return
  981.                back to its command mode.
  982.  
  983.                c. Issue  the  micro  KERMIT  RECEIVE  command. When the VME
  984.                KERMITs delay expires, it will start to send the file.
  985.  
  986.      4.4.2. Receiving files as a non-server
  987.  
  988.           If  the  VME  KERMIT system is not running as a server, you will
  989.           need to transfer files from it by the exact reverse of the above
  990.  
  991.                                       4-4
  992.                              VME KERMIT User Guide
  993.  
  994.           SEND procedure:  all  you  need to do is reverse the roles of the
  995.           two machines. Thus, you could take the following steps:
  996.  
  997.                a. In terminal mode, start the VME KERMIT program, and issue
  998.                its RECEIVE command. This tells it that a file is on its way
  999.                from the micro system.
  1000.  
  1001.                b. Use  your  micro KERMITs local escape sequence to return
  1002.                back to its command mode.
  1003.  
  1004.                c. Issue   the  micro  KERMITs  SEND  command.  There  will
  1005.                normally be a delay before anything happens.  The  interval
  1006.                may  be anything from a few seconds upwards. When the micro
  1007.                system's delay time expires, it will start to send the file
  1008.  
  1009.  
  1010.  
  1011.      4.5 HANDLING PROBLEMS
  1012.      ---------------------
  1013.  
  1014.         By  design,  KERMIT  is a highly reliable file transfer system, and
  1015.      performs considerably better than any "dumb capture" facility within a
  1016.      terminal emulator. The error-detection capabilities of  KERMIT  ensure
  1017.      that  data  is  transmitted  correctly:  in  the  rare cases where the
  1018.      communications system you are using is unreliable, KERMIT systems will
  1019.      abort a file transfer rather than transfer garbage.
  1020.  
  1021.         That said, there are some cases where you  may  need  to  give  VME
  1022.      KERMIT  some assistance. The most common case will arise when one byte
  1023.      is transmitted by one system but does not arrive at the other.  KERMIT
  1024.      breaks  data up into small chunks called "packets", and if the missing
  1025.      byte is one of the ones that the KERMIT systems use to  control  these
  1026.      packets,  you  may  end  up with a machine that is waiting forever for
  1027.      something that will never arrive.
  1028.  
  1029.         The simplest way out of this possible problem is for you to keep an
  1030.      eye on the progress of the transfer and see when it appears  to  grind
  1031.      to a halt. Your micro KERMIT may display a continuous count of packets
  1032.      as  they  are  transmitted  and  received:  normally  the  number will
  1033.      increment steadily. If the number does not change  for  a  significant
  1034.      time  (and  here  you  must  bear  in  mind that the VME system may be
  1035.      running very slowly, so allow a good interval  to  pass),  your  micro
  1036.      KERMIT  may  have  a  facility,  where  you  can  manually force it to
  1037.      to  drop whatever it was doing, and retransmit its last packet of data
  1038.      to the other end. If the VME system was stuck waiting  for  data  that
  1039.      had   been  lost,  the  retransmission will prod it into life, and the
  1040.      automatic recovery mechanisms of KERMIT should allow the two  ends  to
  1041.      pick up the transfer from where it stopped.
  1042.  
  1043.         If  you wish, you can automate this recovery by using the "timeout"
  1044.      facility of VME KERMIT. This is described  below  in  the  section  on
  1045.      "Advanced facilities".
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                       4-5
  1054.                              VME KERMIT User Guide
  1055.  
  1056.      4.6 ADVANCED FACILITIES
  1057.      -----------------------
  1058.  
  1059.         VME  KERMIT  permits  you  to  use some more advanced techniques to
  1060.      control file transfers. Some of these  facilities  involve  the  micro
  1061.      KERMIT  system,  and  it  is possible that you will find a system that
  1062.      does not implement them, since they are fairly recent additions to the
  1063.      KERMIT specification. However, VME KERMIT will be able to detect this,
  1064.      and will act accordingly.
  1065.  
  1066.      4.6.1. Incomplete file transfers
  1067.  
  1068.           If  you  interrupt  the  reception of a file into VME KERMIT (or,
  1069.           indeed if an error such as "file full" occurs), you will be  left
  1070.           with  a  file  on  disc  that contains only part of the data that
  1071.           should have been sent. By default, VME KERMIT  will  delete  this
  1072.           partial  file  for you. If, though, you want to preserve whatever
  1073.           data has been transferred, you can issue the command
  1074.  
  1075.                               SET FILE INCOMPLETE KEEP
  1076.  
  1077.           after which VME KERMIT will close the file normally and  preserve
  1078.           it.  You can re-instate the normal situation at any time with the
  1079.           command
  1080.  
  1081.                              SET FILE INCOMPLETE DISCARD
  1082.  
  1083.      4.6.2. Using timeouts
  1084.  
  1085.           As we saw above, it is possible to automate  the  detection  that
  1086.           the  transfer  has  stopped.  This  is  done by defining "timeout
  1087.           periods": if one or other system has not received any  data  when
  1088.           its timeout expires, it will try to re-establish contact with the
  1089.           other.
  1090.  
  1091.           You  control  the  use  of  timeouts  in  two ways. The first way
  1092.           enables you to tell the micro  system what  timeout  interval  it
  1093.           should  use when receiving data from VME KERMIT. This information
  1094.           is transmitted to the micro system when  a  transfer  starts.  By
  1095.           default,  VME  KERMIT asks the micro system not to use a timeout,
  1096.           but you can change this with the SET SEND TIMEOUT command.  Note,
  1097.           though,  that  the micro system may or may not do as it is asked:
  1098.           it may not support the timeout facility; it may ignore the  value
  1099.           sent  and  use its own interval; or the timeout facility may need
  1100.           to be switched on by your giving it a command.
  1101.  
  1102.           VME  KERMIT  can  also  timeout  if data does not arrive from the
  1103.           micro  system within a given  interval.  By  default,  a  timeout
  1104.           interval of 0 seconds is set, so VME KERMIT  will never time out.
  1105.           Issuing the command
  1106.  
  1107.                                   SET RECEIVE TIMEOUT 30
  1108.  
  1109.           will set the timeout interval to 30 seconds, and VME KERMIT  will
  1110.           time  out  if  it  has  not  received any data in 30 seconds. The
  1111.           SET RECEIVE TIMEOUT command lets  you  change  this  interval  as
  1112.           required.  You can turn the timeout facility off at any time with
  1113.  
  1114.  
  1115.                                       4-6
  1116.                              VME KERMIT User Guide
  1117.  
  1118.                                  SET RECEIVE TIMEOUT 0
  1119.  
  1120.           Note  that  here  the  micro   system may ask VME KERMIT to use a
  1121.           specified timeout period when a transfer starts.
  1122.  
  1123.      4.6.3. Protocol control
  1124.  
  1125.           The rules by which files are transferred between  KERMIT  systems
  1126.           are  termed  the  "KERMIT protocol". These rules define in detail
  1127.           how data should be transferred: they specify how much can be sent
  1128.           in one chunk or packet; what control sequences indicate the start
  1129.           and end of a packet; what character encoding is to be  used,  and
  1130.           so  on.  In almost every case you will have no need to change any
  1131.           of these settings, since they are carefully chosen  so  that  any
  1132.           KERMIT  can  communicate  to any other KERMIT in just about every
  1133.           circumstance.
  1134.  
  1135.           However, it is possible that you may come across cases where  you
  1136.           need to change some of the protocol values, either to improve the
  1137.           performance of  the  file  transfer  mechanism,  or  because  the
  1138.           standard settings are inappropriate and do not work.
  1139.  
  1140.           The  protocol  values  are  changed  by  the SET command, and VME
  1141.           KERMIT  allows  you  to  change  all  the  possible  values.  The
  1142.           reference  section  details  all  the  SET commands concerned and
  1143.           their effects. A detailed discussion of the various possibilities
  1144.           is beyond the scope  of  this  user  guide,  though,  since  some
  1145.           understanding  of  the  KERMIT  protocol is needed. You will find
  1146.           this protocol explained in  the  "KERMIT  Protocol  Manual"  (use
  1147.           issue  5  or  later);  or  you  might contact the systems support
  1148.           personnel at your computer centre.
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.                                       4-7
  1178.                              VME KERMIT User Guide
  1179.  
  1180.  
  1181.  
  1182.      5: COMMANDS FOR GENERAL CONTROL OF KERMIT
  1183.      =========================================
  1184.  
  1185.         In this section, we shall look at the commands you can you can  use
  1186.      to control the general operation of VME KERMIT.
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.                                       5-1
  1240.                              VME KERMIT User Guide
  1241.  
  1242.  
  1243.  
  1244.      EXIT
  1245.  
  1246.           This  command causes VME KERMIT to return to the VME command mode
  1247.           at the end of a session.
  1248.  
  1249.           The command format is:
  1250.  
  1251.                                       EXIT
  1252.  
  1253.           There are no parameters.
  1254.  
  1255.  
  1256.           Example:
  1257.  
  1258.                                       EXIT
  1259.  
  1260.  
  1261.  
  1262.      HELP
  1263.  
  1264.           This  command  gives  information  for  the specified command, or
  1265.           allows information for a number of commands to be  requested  via
  1266.           a menu.
  1267.  
  1268.           The command format is:
  1269.  
  1270.                                   HELP <command>
  1271.  
  1272.           The parameters are:
  1273.  
  1274.           <command>
  1275.                     This parameter must be one of the VME KERMIT commands.
  1276.  
  1277.           If  the  parameter  is  omitted,  the  help  command menu will be
  1278.           displayed and you will be able to select th e command  for  which
  1279.           you require the information.
  1280.  
  1281.  
  1282.           Example:
  1283.  
  1284.                               HELP SET FILE TYPE
  1285.  
  1286.           will display the help text for the command SET FILE TYPE.
  1287.  
  1288.  
  1289.  
  1290.      SET DEBUG
  1291.  
  1292.           This command allows you turn the VME KERMIT debugging facility on
  1293.           or off.
  1294.  
  1295.           The command format is:
  1296.  
  1297.                              SET DEBUG <level> <action>
  1298.  
  1299.  
  1300.  
  1301.                                       5-2
  1302.                              VME KERMIT User Guide
  1303.  
  1304.           The parameters are:
  1305.  
  1306.           <level>
  1307.                     This  parameter  must  be one of: FILE (contents of all
  1308.                     file  records  read  or  written),  PROTOCOL  (protocol
  1309.                     states  and  events),  PACKETS (contents of all packets
  1310.                     sent or received), DEVICE (all  data  transmitted  over
  1311.                     the communications line) or ALL (all the above).
  1312.  
  1313.           <action>
  1314.                     This must be either ON or OFF.
  1315.  
  1316.           If debugging is on, VME KERMIT will output information during all
  1317.           file  transfers  to  enable  you  to  trace  errors.  It  may  be
  1318.           configured to record the protocol state, the contents of the file
  1319.           sent or received,  the  contents  of  all  packets  received  and
  1320.           transmitted, plus all the data transmitted over the communication
  1321.           line. All this information is output to the users job journal.
  1322.  
  1323.           By default, all debugging is OFF.
  1324.  
  1325.  
  1326.           Example:
  1327.  
  1328.                                 SET DEBUG PACKET ON
  1329.  
  1330.           will turn on packet level debugging.
  1331.  
  1332.  
  1333.  
  1334.      SHOW
  1335.  
  1336.           This  command  displays  the  values  of  all  the KERMIT control
  1337.           values.
  1338.  
  1339.           The command format is:
  1340.  
  1341.                                       SHOW
  1342.  
  1343.           There are no parameters.
  1344.  
  1345.  
  1346.           Example:
  1347.  
  1348.                                       SHOW
  1349.  
  1350.  
  1351.  
  1352.      STATISTICS
  1353.  
  1354.           This  command  displays the statistics about the most recent file
  1355.           transfer, such as the number of packets received etc.
  1356.  
  1357.           The command format is:
  1358.  
  1359.                                    STATISTICS
  1360.  
  1361.           There are no parameters.
  1362.  
  1363.                                       5-3
  1364.                              VME KERMIT User Guide
  1365.  
  1366.           Example:
  1367.  
  1368.                                    STATISTICS
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.                                       5-4
  1426.                              VME KERMIT User Guide
  1427.  
  1428.  
  1429.  
  1430.      6: COMMANDS FOR FILE TRANSFER
  1431.      =============================
  1432.  
  1433.         In this section we  shall  look  at  the  detailed  format  of  the
  1434.      commands  that  you  use  to  transfer  files using VME KERMIT, and to
  1435.      control how VME KERMIT will perform the transfers.
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.                                       6-1
  1488.                              VME KERMIT User Guide
  1489.  
  1490.  
  1491.  
  1492.      RECEIVE
  1493.  
  1494.           This  command causes VME KERMIT to wait for a file transfer to be
  1495.           started by the micro system. You will thus need to issue  a  SEND
  1496.           command to the micro KERMIT in order to make somethong happen.
  1497.  
  1498.           The command format is:
  1499.  
  1500.                               RECEIVE <VME-file>
  1501.  
  1502.           The parameters are:
  1503.  
  1504.           <VME-file>
  1505.                     This parameter is optional, and specifies the name of a
  1506.                     file on the VME system into which you wish data  to  be
  1507.                     transferred.
  1508.  
  1509.           When the command is issued, VME KERMIT will wait passively for  a
  1510.           signal  from the micro  KERMIT that a file transfer is beginning.
  1511.           This signal will include the name of the file that is being sent:
  1512.           if  you  have included the <VME-file> parameter, this name is for
  1513.           information only, and the data will be written to  the  file  you
  1514.           have identified.
  1515.  
  1516.           If  you omit the <VME-file> parameter, VME KERMIT will by default
  1517.           attempt to  generate  a  suitable  VME  filename  from  the  name
  1518.           supplied by the micro system.
  1519.  
  1520.  
  1521.           Example:
  1522.  
  1523.                                  RECEIVE MYFILE
  1524.  
  1525.           will  cause  VME  KERMIT  to receive a file, and to store it in a
  1526.           file called MYFILE.
  1527.  
  1528.  
  1529.  
  1530.      SEND
  1531.  
  1532.           This command sends a file to the micro KERMIT.
  1533.  
  1534.           The command format is:
  1535.  
  1536.                         SEND <VME-file> <remote-file>
  1537.  
  1538.           The parameters are:
  1539.  
  1540.           <VME-file>
  1541.                     This  parameter  is mandatory. It specifies the name of
  1542.                     the file on the VME system that you wish to  send,  and
  1543.                     can be any legal VME filename.
  1544.  
  1545.           <remote-file>
  1546.                     This  parameter  is optional. It specifies the filename
  1547.                     that VME KERMIT  will  send  to  the  micro  system  to
  1548.  
  1549.                                       6-2
  1550.                              VME KERMIT User Guide
  1551.  
  1552.                     identify the file: this may be used by the micro system
  1553.                     as the name of the file that it puts the data into, but
  1554.                     this  is  entirely  up  to  the  micro  system.  If the
  1555.                     filename is legal for the micro system, the file  would
  1556.                     normally be called by this name.
  1557.  
  1558.           You  must  issue a RECEIVE command to the micro system to prepare
  1559.           it for this SEND. You must issue the SEND first  and  then  issue
  1560.           the  RECEIVE  to  the  other  system. To allow you to do this VME
  1561.           KERMIT will pause after you issue the SEND command (by default 30
  1562.           seconds)  before  it actually starts sending. You can change this
  1563.           pause interval with the SET DELAY command.
  1564.  
  1565.           If  you  omit  the  <remote-file>   parameter, VME KERMIT will by
  1566.           default  generate  a  "generally  acceptable"   name   from   the
  1567.           <VME-file>   parameter.   It  does  this  by  stripping  off  any
  1568.           user-name, library-name, generation number etc.
  1569.  
  1570.  
  1571.           Example:
  1572.  
  1573.                                     SEND MYFILE YOURFILE
  1574.  
  1575.           causes  VME  KERMIT  to send the file MYFILE to the micro KERMIT.
  1576.           The file will be identified as YOURFILE by the micro system.
  1577.  
  1578.  
  1579.  
  1580.      SERVER
  1581.  
  1582.           This  command causes VME KERMIT to enter server mode and to wait
  1583.           for commands or file transfer requests from  the  micro  system.
  1584.           You  will  thus  be able to control the KERMIT session from your
  1585.           micro.
  1586.  
  1587.           The command format is:
  1588.  
  1589.                                    SERVER
  1590.  
  1591.           When  the  command  is issued, VME KERMIT will wait passively for
  1592.           commands and file transfer requests from the micro KERMIT.
  1593.  
  1594.  
  1595.           Example:
  1596.  
  1597.                                     SERVER
  1598.  
  1599.  
  1600.  
  1601.      SET DELAY
  1602.  
  1603.           This command sets the period for which VME KERMIT will wait after
  1604.           you issue a SEND command.
  1605.  
  1606.           The command format is:
  1607.  
  1608.                                SET DELAY <number>
  1609.  
  1610.  
  1611.                                       6-3
  1612.                              VME KERMIT User Guide
  1613.  
  1614.           The parameters are:
  1615.  
  1616.           <number>
  1617.                     The delay in seconds, in the range 5 to 300.
  1618.  
  1619.           When you issue a SEND command, VME KERMIT will do nothing for the
  1620.           specified period to enable you  to  issue  commands  to  a  micro
  1621.           system.
  1622.  
  1623.           By default, VME KERMIT will delay for 30 seconds after you  issue
  1624.           a SEND command.
  1625.  
  1626.  
  1627.           Example:
  1628.  
  1629.                                    SET DELAY 10
  1630.  
  1631.           causes  VME  KERMIT to wait for 10 seconds after receiving a SEND
  1632.           command, before starting the file transfer.
  1633.  
  1634.  
  1635.  
  1636.      SET FILE INCOMPLETE
  1637.  
  1638.           This  command  defines  what  VME  KERMIT  will  do if wither you
  1639.           interrupt the reception of a file, or if an error occurs while  a
  1640.           file is being received.
  1641.  
  1642.           The command format is:
  1643.  
  1644.                             SET FILE INCOMPLETE <action>
  1645.  
  1646.           The parameters are:
  1647.  
  1648.           <action>
  1649.                     This must be either KEEP or DISCARD.
  1650.  
  1651.           If  the action is set to DISCARD, VME KERMIT will delete any file
  1652.           whose reception is interrupted and is  thus  incomplete.  If  the
  1653.           action  is  set to KEEP, VME KERMIT will close the file normally,
  1654.           and you will be able to use whatever data was received before the
  1655.           interruption or error.
  1656.  
  1657.           By default, VME KERMIT will DISCARD an incomplete file.
  1658.  
  1659.  
  1660.           Example:
  1661.  
  1662.                          SET FILE INCOMPLETE KEEP
  1663.  
  1664.           causes VME KERMIT to save incomplete files.
  1665.  
  1666.  
  1667.  
  1668.      SET FILE NAMING
  1669.  
  1670.           This  command  defines how VME KERMIT interprets file names, when
  1671.           the VME filename  or  the  remote  filename  are  not  explicitly
  1672.           stated.
  1673.                                       6-4
  1674.                              VME KERMIT User Guide
  1675.  
  1676.           The command format is:
  1677.  
  1678.                             SET FILE NAMING <action>
  1679.  
  1680.           The parameters are:
  1681.  
  1682.           <action>
  1683.                     This must be either NORMAL-FORM or UNTRANSLATED.
  1684.  
  1685.           If  the  action  is  set  to  NORMAL-FORM,  VME KERMIT will, when
  1686.           sending a file, and the remote filename is  omitted,  attempt  to
  1687.           genrate  a  "generally acceptable" name from the VME filename. It
  1688.           does  this  by  stripping  off   any   user-name,   library-name,
  1689.           generation  number etc. Similarly, when receiving a file, and the
  1690.           VME filename is omitted, VME KERMIT will attempt  to  generate  a
  1691.           suitable name from the name supplied by the remote KERMIT.
  1692.  
  1693.           If  action  is  set  to UNTRANSLATED, VME KERMIT will not attempt
  1694.           to generate a standardised name.
  1695.  
  1696.           By default, VME KERMIT will normalise filenames.
  1697.  
  1698.  
  1699.           Example:
  1700.  
  1701.                          SET FILE NAMING UNTRANSLATED
  1702.  
  1703.           will turn off file normalisation.
  1704.  
  1705.  
  1706.  
  1707.      SET FILE OVERWRITE
  1708.  
  1709.           This command specifies the action that VME KERMIT  must  take  on
  1710.           reciving  a  file  if  the  name it tries to store the data under
  1711.           clashes with an existing file.
  1712.  
  1713.           The command format is:
  1714.  
  1715.                            SET FILE OVERWRITE <action>
  1716.  
  1717.           The parameters are:
  1718.  
  1719.           <action>
  1720.                     This must be either ON or OFF.
  1721.  
  1722.           If  the  file  overwrite  facility  is  ON, VME KERMIT will check
  1723.           whether the name it wishes to use to store incoming data  clashes
  1724.           with an existing file name. If it does, VME KERMIT will overwrite
  1725.           the file with the new data.
  1726.  
  1727.           If file overwrite is OFF, VME KERMIT will not overwrite the file,
  1728.           but will report an error.
  1729.  
  1730.           By default, file overwrite is OFF.
  1731.  
  1732.  
  1733.  
  1734.  
  1735.                                       6-5
  1736.                              VME KERMIT User Guide
  1737.  
  1738.           Example:
  1739.  
  1740.                               SET FILE OVERWRITE ON
  1741.  
  1742.           turns on the file overwrite facility.
  1743.  
  1744.  
  1745.  
  1746.      SET FILE TYPE EBCDIC
  1747.  
  1748.           This  command  tells  VME  KERMIT  that  files  it  transmits and
  1749.           receives  are  to  taken  as  containing  printable text  and  to
  1750.           transform them accordingly.
  1751.  
  1752.           The command format is:
  1753.  
  1754.                        SET FILE TYPE EBCDIC
  1755.  
  1756.           There no parameters.
  1757.  
  1758.           After  using  this  command,  VME  KERMIT  treats  all  files  as
  1759.           containing printable text. When sending a file, it will translate
  1760.           all EBCDIC text to ASCII, and transform every end of record  into
  1761.           KERMIT's  standard "end of line" terminator, and the micro KERMIT
  1762.           should then change this into whatever the standard representation
  1763.           of  end-of-line  is  on its own system. When receiving files, VME
  1764.           KERMIT will translate all ASCII text to EBCDIC, and  treat  every
  1765.           occurrence  of  the  standard KERMIT "end-of-line" indicator as a
  1766.           record terminator.
  1767.  
  1768.           Note,  you  may  need  to give an equivalent command to the micro
  1769.           KERMIT system to make it treat the data correctly.
  1770.  
  1771.           By  default, VME KERMIT treats files as EBCDIC.
  1772.  
  1773.  
  1774.           Example:
  1775.  
  1776.                               SET FILE TYPE EBCDIC
  1777.  
  1778.           makes VME KERMIT treat files as containing EBCDIC data.
  1779.  
  1780.  
  1781.  
  1782.      SET FILE TYPE ASCII
  1783.  
  1784.           This  command  tells  VME  KERMIT  that  files  it  transmits and
  1785.           receives are to taken as containing ASCII text and  to  transform
  1786.           them accordingly.
  1787.  
  1788.           The command format is
  1789.  
  1790.                        SET FILE TYPE ASCII
  1791.  
  1792.           There no parameters.
  1793.  
  1794.           After using this command, VME KERMIT will transmit the characters
  1795.           from  the  file  exactly  as they are, and will not change any of
  1796.  
  1797.                                       6-6
  1798.                              VME KERMIT User Guide
  1799.  
  1800.           them. Similary the data it receives will be written to file  with
  1801.           no  alteration.  However,  as  with EBCDIC files, VME KERMIT will
  1802.           maintain the record format.
  1803.  
  1804.           Note,  You  may  need  to give an equivalent command to the micro
  1805.           KERMIT system to make it treat the data correctly.
  1806.  
  1807.           By default, VME KERMIT treats files as EBCDIC.
  1808.  
  1809.  
  1810.           Example:
  1811.  
  1812.                               SET FILE TYPE ASCII
  1813.  
  1814.           makes VME KERMIT treat files as containing ASCII data.
  1815.  
  1816.  
  1817.  
  1818.      SET FILE TYPE BINARY
  1819.  
  1820.           This command tells VME KERMIT that all files it receives or sends
  1821.           should be treated as containing binary data.
  1822.  
  1823.           The command format is:
  1824.  
  1825.                               SET FILE TYPE BINARY
  1826.  
  1827.           There are no parameters.
  1828.  
  1829.           After using this command, VME KERMIT will transmit the bytes from
  1830.           a file exactly as they are, and will  not  change  any  of  them.
  1831.           Similarly,  the  data it receives will be written to file with no
  1832.           alteration.
  1833.  
  1834.           Note,  You  may  need  to give an equivalent command to the micro
  1835.           KERMIT system to make it treat the data correctly.
  1836.  
  1837.           By default, VME KERMIT treats files as EBCDIC.
  1838.  
  1839.  
  1840.           Example:
  1841.  
  1842.                               SET FILE TYPE BINARY
  1843.  
  1844.           makes VME KERMIT treat files as containing binary data.
  1845.  
  1846.  
  1847.  
  1848.      SET RECEIVE TIMEOUT
  1849.  
  1850.           This  command  defines  the  interval after which VME KERMIT will
  1851.           take action if it has received no data from the micro system.
  1852.  
  1853.           The command format is:
  1854.  
  1855.                          SET RECEIVE TIMEOUT <interval>
  1856.  
  1857.  
  1858.  
  1859.                                       6-7
  1860.                              VME KERMIT User Guide
  1861.  
  1862.           The parameters are:
  1863.  
  1864.           <interval>
  1865.                     Specifies the timeout period in seconds, in the range 0
  1866.                     to 94.
  1867.  
  1868.           The command defines the timeout that VME KERMIT is to use.
  1869.           The  choice  of  the  timeout period will depend on many factors.
  1870.           Regard should be paid to how fast the VME system is operating, it
  1871.           could  be  running slowly due to heavy use and also to the delays
  1872.           that  operating  over a network may  impose. Care should be taken
  1873.           not to set the value too  low,  or  VME  KERMIT  will  repeatedly
  1874.           timeout unnecessarily.
  1875.  
  1876.           By default, a timeout interval of 0 seconds is set.
  1877.  
  1878.  
  1879.           Example:
  1880.  
  1881.                              SET RECEIVE TIMEOUT 10
  1882.  
  1883.           causes  VME  KERMIT to timeout if no data has been received after
  1884.           10 seconds.
  1885.  
  1886.  
  1887.  
  1888.      SET SEND TIMEOUT
  1889.  
  1890.           This command sets the timeout interval that VME KERMIT  asks  the
  1891.           micro  system to use. The micro  system should timeout if no data
  1892.           has been received from VME KERMIT after this interval.
  1893.  
  1894.           The command format is:
  1895.  
  1896.                           SET SEND TIMEOUT <interval>
  1897.  
  1898.           The parameters are:
  1899.  
  1900.           <interval>
  1901.                     specifies  the  interval  required  in  seconds, in the
  1902.                     range 0 to 94.
  1903.  
  1904.           VME KERMIT will pass this value  to  the  micro   system  at  the
  1905.           beginning  of  every  file  transfer.  Note,  though,  that it is
  1906.           entirely up to the micro  system  whether  it  uses  this  value,
  1907.           ignores  it, or uses a value of its own. You may need to give the
  1908.           micro  system commands to turn its timeout facility on.
  1909.  
  1910.           By default, VME KERMIT requests the micro system to set a timeout
  1911.           value of 0 seconds.
  1912.  
  1913.  
  1914.           Example:
  1915.  
  1916.                               SET SEND TIMEOUT 10
  1917.  
  1918.           causes  VME  KERMIT  to ask the micro  system to timeout after 10
  1919.           seconds if no data has been received from the VME system.
  1920.  
  1921.                                       6-8
  1922.                              VME KERMIT User Guide
  1923.  
  1924.  
  1925.      7: COMMANDS FOR DETAILED PROTOCOL CONTROL
  1926.      =========================================
  1927.  
  1928.         The commands described in this section are used to  exert  detailed
  1929.      control over the KERMIT protocol. As explained earlier, it is unlikely
  1930.      that you would ever need to use these commands. You should consult the
  1931.      KERMIT  Protocol  Manual  for a detailed description of the facilities
  1932.      they control.
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.                                       7-1
  1984.                              VME KERMIT User Guide
  1985.  
  1986.  
  1987.  
  1988.      SET PAUSE
  1989.  
  1990.           This command defines a "turn-round" delay that  VME  KERMIT  will
  1991.           use  in  packet transmission. It defines the time that VME KERMIT
  1992.           will wait, after receiving  a  packet  from  the  micro   system,
  1993.           before  transmitting the next to it. This overcomes problems with
  1994.           some systems that cannot accept input that comes too  soon  after
  1995.           output.
  1996.  
  1997.           The command format is:
  1998.  
  1999.                                SET PAUSE <number>
  2000.  
  2001.           The parameters are:
  2002.  
  2003.           <number>
  2004.                     The pause time in tenths of a second, in the range 0 to
  2005.                     50.
  2006.  
  2007.           By  default, VME  KERMIT does not pause (i.e. the pause value is
  2008.           0).
  2009.  
  2010.  
  2011.           Example:
  2012.  
  2013.                                   SET PAUSE 1
  2014.  
  2015.           causes VME KERMIT  to  pause  for  1  tenth  of  a  second  after
  2016.           receiving one packet before sending the next.
  2017.  
  2018.  
  2019.  
  2020.      SET RECEIVE END-OF-LINE
  2021.  
  2022.           This  command defines the value that VME KERMIT request the other
  2023.           end to use to signal the end of a packet.
  2024.  
  2025.           The command format is:
  2026.  
  2027.                         SET RECEIVE END-OF-LINE <number>
  2028.  
  2029.           The parameters are:
  2030.  
  2031.           <number>
  2032.                     The number of the control character in the range  0  to
  2033.                     31 or 127. Note, a number of the control characters are
  2034.                     not accepted by VME as a valid  end-of-line  terminator
  2035.                     (see Appendix 2).
  2036.  
  2037.           By  default,  VME  KERMIT  asks for packets to be terminated with
  2038.           Carriage Return (hex 0D).
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.                                       7-2
  2046.                              VME KERMIT User Guide
  2047.  
  2048.           Example:
  2049.  
  2050.                           SET RECEIVE END-OF-LINE X09
  2051.  
  2052.           requests the micro KERMIT to terminate  packets  with  Horizontal
  2053.           Tab (code hex 09).
  2054.  
  2055.  
  2056.  
  2057.      SET RECEIVE PACKET-LENGTH
  2058.  
  2059.           This command defines the maximum packet size that VME KERMIT will
  2060.           ask the micro  system to send.
  2061.  
  2062.           The command format is:
  2063.  
  2064.                        SET RECEIVE PACKET-LENGTH <number>
  2065.  
  2066.           The parameters are:
  2067.  
  2068.           <number>
  2069.                     The  maximum  size  of  packet  wanted  from the micro
  2070.                     system, in the range 30 to 94.
  2071.  
  2072.           By default, VME KERMIT asks the micro  system to  use  a  maximum
  2073.           packet size of 80 bytes.
  2074.  
  2075.  
  2076.           Example:
  2077.  
  2078.                           SET RECEIVE PACKET-LENGTH 60
  2079.  
  2080.           causes  VME  KERMIT to request the micro  system to use a maximum
  2081.           packet size of 60 bytes.
  2082.  
  2083.  
  2084.  
  2085.      SET RECEIVE PAD-CHARACTER
  2086.  
  2087.           This  command  defines  the  control  character  that  VME KERMIT
  2088.           requests the other to use when padding before sending a packet.
  2089.  
  2090.           The command format is:
  2091.  
  2092.                        SET RECEIVE PAD-CHARACTER <number>
  2093.  
  2094.           The parameters are:
  2095.  
  2096.           <number>
  2097.                     The  numeric  code  of the control character to be used
  2098.                     for padding in the range 0 to 31 or 127. Note, a number
  2099.                     of  the  control  characters are not accepted by VME as
  2100.                     valid pad characters (see Appendix 2).
  2101.  
  2102.           By default, VME KERMIT will ask for a pad character of code 0.
  2103.  
  2104.  
  2105.  
  2106.  
  2107.                                       7-3
  2108.                              VME KERMIT User Guide
  2109.  
  2110.           Example:
  2111.  
  2112.                           SET RECEIVE PAD-CHARACTER X00
  2113.  
  2114.           requests the micro  KERMIT to pad with NUL characters (code 0).
  2115.  
  2116.  
  2117.  
  2118.      SET RECEIVE PADDING
  2119.  
  2120.           This command defines the number of pad characters that VME KERMIT
  2121.           will ask the other end to send before each packet.
  2122.  
  2123.           The command format is:
  2124.  
  2125.                           SET RECEIVE PADDING <number>
  2126.  
  2127.           The parameters are:
  2128.  
  2129.           <number>
  2130.                     The number of pad characters to be  requested,  in  the
  2131.                     range 0 to 94.
  2132.  
  2133.           By default, VME KERMIT asks for no pad characters to be sent.
  2134.  
  2135.  
  2136.           Example:
  2137.  
  2138.                              SET RECEIVE PADDING 10
  2139.  
  2140.           will  cause  VME  KERMIT  to request the micro  system to precede
  2141.           each packet with 10 pad characters.
  2142.  
  2143.  
  2144.  
  2145.      SET RECEIVE START-OF-PACKET
  2146.  
  2147.           This  command  defines  to VME KERMIT the control character that
  2148.           the micro system will use to indicate the start of each packet.
  2149.  
  2150.           The command format is:
  2151.  
  2152.                       SET RECEIVE START-OF-PACKET <number>
  2153.  
  2154.           The parameters are:
  2155.  
  2156.           <number>
  2157.                     The  numeric  code  of  the character the micro  system
  2158.                     will use, in the range 0 to 31 or 127. Note,  a  number
  2159.                     of  the  control  characters are not accepted by VME as
  2160.                     a valid start-of-packet marker (see Appendix 2).
  2161.  
  2162.           By default, VME KERMIT will expect the micro  system  to  precede
  2163.           each packet with a hex 1E character.
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.                                       7-4
  2170.                              VME KERMIT User Guide
  2171.  
  2172.           Example:
  2173.  
  2174.                         SET RECEIVE START-OF-PACKET X07
  2175.  
  2176.           tells  VME KERMIT that the micro  system will precede each packet
  2177.           with a hex 07 character.
  2178.  
  2179.  
  2180.  
  2181.      SET RETRY
  2182.  
  2183.           This  command  sets  the maximum number of times that VME KERMIT
  2184.           will attempt to send or receive a packet before  abandoning  the
  2185.           transfer.
  2186.  
  2187.           The command format is:
  2188.  
  2189.                       SET RETRY <number>
  2190.  
  2191.           The parameters are:
  2192.  
  2193.           <number>
  2194.                     The  maximum  number of retries to be attempted, in the
  2195.                     range 0 to 10.
  2196.  
  2197.           By default, VME KERMIT will retry transfers 4 times.
  2198.  
  2199.  
  2200.           Example:
  2201.  
  2202.                         SET RETRY 7
  2203.  
  2204.           sets the packet retry limit to 7.
  2205.  
  2206.  
  2207.  
  2208.      SET SEND EIGTH-BIT-PREFIX
  2209.  
  2210.           This command defines  the  eigth-bit-prefix  character  that  VME
  2211.           KERMIT will ask the micro system to agree to use.
  2212.  
  2213.           The command format is:
  2214.  
  2215.                         SET SEND EIGTH-BIT-PREFIX <character>
  2216.  
  2217.           The parameters are:
  2218.  
  2219.           <character>
  2220.                     The printable character to be used.
  2221.  
  2222.           By  default,  VME KERMIT will attempt to use the "&" character as
  2223.           its eigth-bit prefix.
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.                                       7-5
  2232.                              VME KERMIT User Guide
  2233.  
  2234.           Example:
  2235.  
  2236.                              SET SEND EIGHT-BIT-PREFIX %
  2237.  
  2238.           sets the eigth-bit prefix character to be "%".
  2239.  
  2240.  
  2241.  
  2242.      SET SEND END-OF-LINE
  2243.  
  2244.           This  command  defines the control character that VME KERMIT will
  2245.           use to terminate the first packet it sends to the micro system in
  2246.           each  transfer.  Subsequent  packets  will  be  terminated by the
  2247.           character that the micro system requests in its SEND-INIT packet.
  2248.  
  2249.           The command format is:
  2250.  
  2251.                          SET SEND END-OF-LINE <number>
  2252.  
  2253.           The parameters are:
  2254.  
  2255.           <number>
  2256.                     The  numeric  code  of the character to be used, in the
  2257.                     range 0 to 31 or 127. Note, a  number  of  the  control
  2258.                     characters   are   not  accepted  by  VME  as  a  valid
  2259.                     end-of-line terminator (see Appendix 2).
  2260.  
  2261.           By default, VME KERMIT uses hex 0D (Carriage Return).
  2262.  
  2263.  
  2264.           Example:
  2265.  
  2266.                             SET SEND END-OF-LINE 9
  2267.  
  2268.           causes the first packet sent in each transfer to  be  ended  with
  2269.           Horizontal Tab (code 9).
  2270.  
  2271.  
  2272.  
  2273.      SET SEND PAD-CHARACTER
  2274.  
  2275.           This  command defines the padding character with which VME KERMIT
  2276.           will  precede  the  first  packet  to  be  sent  in  a  transfer.
  2277.           Subsequent packets will be preceded by the character requested by
  2278.           the micro  system in its SEND-INIT packet.
  2279.  
  2280.           The command format is:
  2281.  
  2282.                            SET SEND PADCHAR <number>
  2283.  
  2284.           The parameters are:
  2285.  
  2286.           <number>
  2287.                     The  numeric  code  of the character to be used, in the
  2288.                     range 0 to 31 or 127. Note, a  number  of  the  control
  2289.                     characters  are  not  accepted  by  VME  as a valid pad
  2290.                     character (see Appendix 2).
  2291.  
  2292.  
  2293.                                       7-6
  2294.                              VME KERMIT User Guide
  2295.  
  2296.           By default, VME KERMIT uses a pad character of NUL (code hex 0).
  2297.  
  2298.  
  2299.           Example:
  2300.  
  2301.                               SET SEND PADCHAR X1A
  2302.  
  2303.           sets the pad character used to be hex 1A.
  2304.  
  2305.  
  2306.  
  2307.      SET SEND PADDING
  2308.  
  2309.           This command defines the number of pad characters VME KERMIT will
  2310.           send before the first packet in a  transfer.  Subsequent  packets
  2311.           will  be preceded by the number requested by the micro  system in
  2312.           its SEND-INIT packet.
  2313.  
  2314.           The command format is:
  2315.  
  2316.                            SET SEND PADDING <number>
  2317.  
  2318.           The parameters are:
  2319.  
  2320.           <number>
  2321.                     The number of pad characters to be sent, in the range 0
  2322.                     to 94.
  2323.  
  2324.           By default, VME KERMIT sends no pad characters.
  2325.  
  2326.  
  2327.           Example:
  2328.  
  2329.                               SET SEND PADDING 21
  2330.  
  2331.           causes VME KERMIT to send 21  pad  characters  before  its  first
  2332.           packet.
  2333.  
  2334.  
  2335.  
  2336.      SET SEND QUOTE
  2337.  
  2338.           This  command  defines  the character that VME KERMIT will use to
  2339.           prefix control characters in data packets that it sends.
  2340.  
  2341.           The command format is:
  2342.  
  2343.                            SET SEND QUOTE <character>
  2344.  
  2345.           The parameters are:
  2346.  
  2347.           <character>
  2348.                     The printable character to be used.
  2349.  
  2350.           By  default,  VME KERMIT uses the "#" character (hash). Note that
  2351.           the "hash" character appears as "pound"  on  some  keyboards  and
  2352.           printers.
  2353.  
  2354.  
  2355.                                       7-7
  2356.                              VME KERMIT User Guide
  2357.  
  2358.           Example:
  2359.  
  2360.                                 SET SEND QUOTE $
  2361.  
  2362.           causes VME KERMIT to prefix control characters it sends  in  data
  2363.           packets with a "$".
  2364.  
  2365.  
  2366.  
  2367.      SET SEND START-OF-PACKET
  2368.  
  2369.           This  command  defines the control character that VME KERMIT will
  2370.           send to indicate the start of every packet.
  2371.  
  2372.           The command format is:
  2373.  
  2374.                        SET SEND START-OF-PACKET <number>
  2375.  
  2376.           The parameters are:
  2377.  
  2378.           <number>
  2379.                     The numeric code of the character to be  sent,  in  the
  2380.                     range  0  to  31  or 127. Note, a number of the control
  2381.                     characters  are  not  accepted  by  VME  as   a   valid
  2382.                     start-of-packet marker (see Appendix 2).
  2383.  
  2384.           By default, VME KERMIT sends a hex 1E character in front of every
  2385.           packet.
  2386.  
  2387.  
  2388.           Example:
  2389.  
  2390.                                SET SEND START-OF-PACKET X08
  2391.  
  2392.           causes  VME KERMIT to precede every packet it sends with a hex 08
  2393.           character.
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.                                       7-8
  2418.                              VME KERMIT User Guide
  2419.  
  2420.  
  2421.      8: OBTAINING, BUILDING AND MODIFYING VME KERMIT
  2422.      ===============================================
  2423.  
  2424.         This chapter describes how you can get hold of VME KERMIT and build
  2425.      it  from  the  S3  and  MTUP  language  sources, or modify an existing
  2426.      version.
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.                                       8-1
  2480.                              VME KERMIT User Guide
  2481.  
  2482.  
  2483.      8.1 OBTAINING VME KERMIT
  2484.      ------------------------
  2485.  
  2486.         You can obtain the VME KERMIT files by file transfer over the JANET
  2487.      or  PSS   networks,   or  by  using  KERMIT  itself,  from   Lancaster
  2488.      University.
  2489.  
  2490.      You  will eventually have a set of S3 and MTUP source files from which
  2491.      you  need  to  generate compiled OMF. There are two SCL files: KERMIT,
  2492.      an interface procedure, and KMT_SCL which is executed to  compile  and
  2493.      collect your version of VME KERMIT.
  2494.  
  2495.  
  2496.      8.1.1 The source files
  2497.  
  2498.           VME  KERMIT  source  is held in a fair number of files and is now
  2499.           quite  large  (and  still  growing).  The  source  is  split   by
  2500.           functionality.  The organisation is not fixed, we shall refine it
  2501.           with experience and as the system changes, so the names  are  not
  2502.           guaranteed to be unchanged from one release to another.
  2503.  
  2504.           For version 1.01 and later, the files that make up VME KERMIT are
  2505.           are as follows:
  2506.  
  2507.           VME  KERMIT  as  issued consists of four types of file. The first
  2508.           type consists of the S3 source files:
  2509.  
  2510.                KMT_DATA_MODULE        Global declarations.
  2511.                KMT_DH_MODULE          Communications device handling code.
  2512.                KMT_EH_MODULE          Error handling code.
  2513.                KMT_FH_MODULE          File handling code.
  2514.                KMT_MAIN_MODULE        Entry code.
  2515.                KMT_PH_MODULE          Protocol handling code.
  2516.                KMT_PP_MODULE          Packet handling code.
  2517.                KMT_SP_MODULE          Support procedures.
  2518.                KMT_UI_MODULE          User interface code.
  2519.  
  2520.            The second type of the file consists of the MTUP source files:
  2521.  
  2522.                KMT_HELP_MTM           Help message texts.
  2523.                KMT_SP_MTM             Support procedures message texts.
  2524.  
  2525.            The  third  type of file consists of SCL files.
  2526.  
  2527.                KERMIT                 Interface procedure.
  2528.                KMT_SCL                Compilation and collection SCL.
  2529.  
  2530.            The fourth type of file consists of the User Guide:
  2531.  
  2532.                VME_KMIT_DOC           User Guide documentation.
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.                                       8-2
  2542.                              VME KERMIT User Guide
  2543.  
  2544.  
  2545.      8.3 BUILDING VME KERMIT FROM SOURCE
  2546.      -----------------------------------
  2547.  
  2548.         Prior  to  generating  VME  KERMIT  check  that  the SCL interface
  2549.      procedure KERMIT meets your requirements. In particular,  ensure  that
  2550.      the  BOOL  value  ASG  is  set appropriately. It should be set TRUE if
  2551.      terminal connection to VME is via ASG, but FALSE  if  via  some  other
  2552.      communications  controller,  eg NIC or CSC. If in doubt set ASG FALSE.
  2553.      The purpose of this BOOL is to allow  checking  of  control  character
  2554.      setting  for  START-OF-PACKET  etc.  VME I/O is not transparent to all
  2555.      control characters. The ASG can handle a superset  of  the  characters
  2556.      that can be handled by CSC or NIC.
  2557.  
  2558.         If you wish to change the default VME KERMIT option (see 3.1)  this
  2559.      can be altered most easily in the SCL interface procedure KERMIT.
  2560.  
  2561.         Generating VME KERMIT from the S3 and MTUP sources is a fairly easy
  2562.      process.  Having  transferred  the files to your VME filestore you can
  2563.      compile them by executing the SCL file KMT_SCL. Edit this file to suit
  2564.      your VME filestore, then execute the SCL file as follows:
  2565.  
  2566.                                EXSCL(FIL=KMTSRC.KMTSCL)
  2567.  
  2568.  
  2569.  
  2570.      8.4 CHANGING KERMIT DEFAULTS
  2571.      ----------------------------
  2572.  
  2573.        If you have the S3 compiler, you can change the defaults by altering
  2574.      the  values  held  in  the  source  files (in particular the procedure
  2575.      KMT_SP_SET_DEFAULTS in KMT_SP_MODULE) and re-compiling the source.
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.                                       8-3
  2604.                              VME KERMIT User Guide
  2605.  
  2606.  
  2607.  
  2608.      Appendix 1. VME KERMIT capabilities
  2609.      ===================================
  2610.  
  2611.         Local operation:                 No
  2612.         Remote operation:                Yes
  2613.         Transfer text files:             Yes
  2614.         Transfer binary files:           Yes (prefix only)
  2615.         Wildcard send:                   No
  2616.         ^X/^X interruption:              Yes (receive only)
  2617.         Filename collision avoidance:    Yes
  2618.         Can timeout:                     Yes
  2619.         8th-bit prefixing:               Yes
  2620.         Repeat count prefixing:          No
  2621.         Alternate block checks:          No
  2622.         Terminal emulation:              No
  2623.         Communications settings:         No
  2624.         Transmit BREAK:                  No
  2625.         IBM communication:               No
  2626.         Diagnostic logging:              Yes
  2627.         Session logging:                 No
  2628.         Raw transmit:                    No
  2629.         Act as server:                   Yes
  2630.         Talk to server:                  No
  2631.         Advanced server commands:        No
  2632.         Local file management:           No
  2633.         Handle file attributes:          No
  2634.         Command/init files:              No
  2635.         Host commands:                   No
  2636.         Printer control:                 No
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.                                      A1-1
  2666.                              VME KERMIT User Guide
  2667.  
  2668.  
  2669.  
  2670.      Appendix 2. Valid VME control characters
  2671.      ========================================
  2672.  
  2673.         The control characters that are acceptable to VME depend on the
  2674.      communications device through which the terminal running Kermit is
  2675.      routed. The ASG permits a greater range of control characters than
  2676.      do CSC or NIC.
  2677.  
  2678.  
  2679.           Character              Input via               Output via
  2680.      name   dec   hex          ASG     CSC/NIC          ASG     CSC/NIC
  2681.  
  2682.       NUL    0     00           +         -              +         +
  2683.       SOH    1     01           +         -              -         -
  2684.       STX    2     02           +         -              +         +
  2685.       ETX    3     03           +         -              -         -
  2686.       EOT    4     04           +         -              -         -
  2687.       ENQ    5     05           +         -              +         +
  2688.       ACK    6     06           +         -              +         +
  2689.       BEL    7     07           +         +              +         +
  2690.  
  2691.       BS     8     08           +         +              +         +
  2692.       HT     9     09           +         -              +         +
  2693.       LF    10     0A           +         -              -         -
  2694.       VT    11     0B           +         -              +         +
  2695.       FF    12     0C           +         -              +         +
  2696.       CR    13     0D           +         -              +         +
  2697.       SO    14     0E           +         +              +         +
  2698.       SI    15     0F           +         +              +         +
  2699.  
  2700.       DLE   16     10           -         -              +         +
  2701.       DC1   17     11           -         -              +         +
  2702.       DC2   18     12           -         -              +         +
  2703.       DC3   19     13           -         -              +         +
  2704.       DC4   20     14           +         +              +         +
  2705.       NAK   21     15           +         -              +         +
  2706.       SYN   22     16           +         -              +         +
  2707.       ETB   23     17           +         -              +         +
  2708.  
  2709.       CAN   24     18           +         -              +         +
  2710.       EM    25     19           +         +              +         +
  2711.       SUB   26     1A           +         +              +         +
  2712.       ESC   27     1B           +         +              +         +
  2713.       FS    28     1C           +         +              +         +
  2714.       GS    29     1D           +         +              +         +
  2715.       RS    30     1E           +         +              +         +
  2716.       US    31     1F           +         +              +         +
  2717.  
  2718.       DEL  127     7F           +         +              +         +
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.  
  2727.                                      A2-1
  2728.                              VME KERMIT User Guide
  2729.  
  2730.  
  2731.  
  2732.      Appendix 3. Running KERMIT over a JNT PAD
  2733.      =========================================
  2734.  
  2735.         KERMIT  may  be  ran  over a JNT PAD, but special attention must be
  2736.      made to the KERMIT configuration parameter settings  and  to  the  PAD
  2737.      settings.  The  choice of the KERMIT start of packet marker and end of
  2738.      line terminator will dictate the PAD settings required. Normally,  the
  2739.      additional  PAD  settings  of  TRANSPARENT  and  NOPRINTMASK  will  be
  2740.      sufficient. However, the FORWARD and LFINSERT PAD  settings  may  also
  2741.      require consideration.
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.                                      A3-1
  2790.                              VME KERMIT Questionaire
  2791.  
  2792.  
  2793.  
  2794.      Please reply to the following questions and return to:
  2795.  
  2796.                       David Lord,
  2797.                       S.W.U.R.C.C.
  2798.                       The University Of Bath,
  2799.                       Claverton Down,
  2800.                       Bath.
  2801.                       BA2 7AY.
  2802.  
  2803.  
  2804.      1. Name of organisation:
  2805.  
  2806.  
  2807.  
  2808.      2. Address of organisation:
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.      3. Specify  the  KERMIT  implementations  with which VME KERMIT is to
  2818.         operate.
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.      4. List  any  problems  encountered  during  the  installation of VME
  2832.         KERMIT.
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.      5. Comment on the contents and structure of the User Guide.
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.                              VME KERMIT Questionaire
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.      6. Other comments.
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.  
  2911.  
  2912.  
  2913.  
  2914.