home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / d / modcmp.doc < prev    next >
Text File  |  2020-01-01  |  24KB  |  881 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                                    MODCOMP MAXIV
  20.  
  21.                                 KERMIT USER'S MANUAL
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.                                          by
  35.  
  36.                                   Richard D. Burke
  37.                                  Robert A. Borgeson
  38.  
  39.                                          of
  40.  
  41.  
  42.                                    SETPOINT Inc.
  43.                                10245 Brecksville Rd.
  44.                               Brecksville, Ohio 44141
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.           KERMIT is a copyrighted protocol of Columbia Univ. The authors of
  54.           this version hereby grant permission to copy this document
  55.           provided that it is not used for any explicitly commercial
  56.           purpose and that proper credit be given. SETPOINT Inc. makes no
  57.           warranty whatsoever regarding the accuracy of this document or
  58.           the software described within and will assume no liability
  59.           resulting from its use.
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.                                  TABLE OF CONTENTS
  79.  
  80.                                                           ________
  81.                                                           Page No.
  82.  
  83.              Introduction     ..........................    I.1
  84.              Overview         ..........................   II.1
  85.              KERMIT commands  ..........................  III.1
  86.               HELP            ..........................  III.1
  87.               STATUS          ..........................  III.1
  88.               SET             ..........................  III.1
  89.                DELAY          ..........................  III.2
  90.                EOL            ..........................  III.2
  91.                ESCAPE         ..........................  III.2
  92.                MYQUOTE        ..........................  III.2
  93.                PACKET         ..........................  III.2
  94.                SOH            ..........................  III.2
  95.                USL            ..........................  III.3
  96.              QUIT / EXIT      ..........................  III.3
  97.              SEND             ..........................  III.3
  98.              RECEIVE          ..........................  III.3
  99.  
  100.              Technical
  101.                Appendix       ..........................    A.1
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.                                                                  I.1
  143.  
  144.  
  145.  
  146.           A.   INTRODUCTION
  147.  
  148.                KERMIT provides an easy, reliable way to transfer text files
  149.           between a MODCOMP Classic running under MAXIV and other machines
  150.           which have a KERMIT implementation on them. KERMIT is a
  151.           packet-oriented telecommunications protocol copyright by Columbia
  152.           University. Documentation available from them thoroughly covers
  153.           the formal details of the protocol.(1) The purpose of this manual
  154.           is to detail the specific features of this implementation and to
  155.           provide instruction on how to use KERMIT on a MODCOMP. This
  156.           manual assumes that the reader has a general knowledge of a
  157.           MODCOMP running under MAXIV. A Technical Appendix follows which
  158.           details how to allocate resources and install KERMIT on your
  159.           machine.
  160.  
  161.                MAXIV KERMIT is adapted from a version written by John Lee
  162.           of RCA Labs for an HP-1000. It is implemented in Fortran IV
  163.           except for one subroutine in assembler.
  164.  
  165.           (1)        KERMIT Distribution
  166.                      Columbia University Center for Computing Activities
  167.                      Seventh Floor, Watson Laboratory
  168.                      612 West 115th Street
  169.                      New York, N.Y.  10025
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.                                                                  II.1
  210.  
  211.  
  212.  
  213.           II.  OVERVIEW
  214.  
  215.                MAXIV KERMIT is run by activating a job control procedure
  216.           which makes the necessary logical assignments and then, executes
  217.           the program. Each site will probably wish to create their own job
  218.           control for this, taking into account the requirements addressed
  219.           in the Technical Appendix. The original MAXIV KERMIT distribution
  220.           contains a simple command file which may be used as a guide. The
  221.           file's name is KERMIV. The syntax for activating this procedure
  222.           is:
  223.  
  224.                          $KERMIV co,oc
  225.  
  226.           where  co   -  logical assignment for file transfer output
  227.                          (Default = CO)
  228.                  oc   -  logical assignment for file transfer input
  229.                          (Default = OC )
  230.  
  231.           Operator input is always from OC and informational output is to
  232.           CO. Therefore, if no parameters are specified, KERMIT will expect
  233.           operator input and file transfer to occur at the same ports.
  234.  
  235.                MAXIV KERMIT may be run in either remote or local mode. In
  236.           remote mode, the data transfer occurs at the same terminal port
  237.           which is controlling the program. Presumably, the user is
  238.           accessing the MODCOMP from some computer which has the ability to
  239.           emulate a terminal as part of a communications package. Local
  240.           mode implies that KERMIT is controlled by a terminal which is on
  241.           an I/O port different from the port assigned to the data
  242.           transfer. This is most likely to be used when neither machine has
  243.           a communications software package. When MAXIV KERMIT is initially
  244.           run, it senses the current logical assignments and chooses the
  245.           appropriate mode automatically. In the initial release ( Version
  246.           1.0 ), it is not possible to alter the file transfer port or the
  247.           local/remote mode once KERMIT is invoked.
  248.  
  249.                MAXIV KERMIT is designed with a command structure that
  250.           reflects MAXIV's division of files into libraries. KERMIT is
  251.           always logically assigned to a directorized source library. (by
  252.           default, USL) If the user does not intervene, all files to be
  253.           sent must be cataloged in USL. All received files will by default
  254.           be cataloged to USL. The methods to modify these defaults are
  255.           discussed later.
  256.  
  257.                KERMIT's choice of <CTL-A> (ASCII 01) as the start-of-packet
  258.           character presents special problems under MAXIV since this is the
  259.           standard break character for getting the TMP prompt. Short of
  260.           requiring that the break character be redefined in the SYSGEN,
  261.           there is no bulletproof way to always pass the <CTL-A> through to
  262.           KERMIT without waking up TMP.
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.                                                                  II.2
  277.  
  278.  
  279.  
  280.                The user must be aware that all input including the <CTL-A>s
  281.           will be passed through into a 132 byte buffer. This is sufficient
  282.           for at least one packet. However, if the other KERMIT sends a
  283.           number of unexpected packets it could fill up the buffer. One
  284.           possible scenario that could cause this is when the other KERMIT
  285.           begins to send initialization packets before MAXIV KERMIT is told
  286.           to receive. If this buffer is ever filled up an outstanding read
  287.           request is terminated and the next <CTL-A> received will be
  288.           interpreted as the break character. In this case, the user has no
  289.           choice other than to exit KERMIT and start over. In local mode,
  290.           the buffer is activated immediately upon execution but, no check
  291.           for incoming packet data is made until MAXIV KERMIT is told to
  292.           SEND or RECEIVE. In remote mode, it is activated as soon as the
  293.           SEND or RECEIVE command is entered. Once the initial connection
  294.           is made, the buffer is checked periodically for packet data and
  295.           refreshed after each packet so that it should not overflow. It is
  296.           important to remember that this checking only occurs in SEND and
  297.           RECEIVE mode. At other times the user must exercise discretion
  298.           regarding sending unexpected packets.
  299.  
  300.                The conclusion is that MAXIV KERMIT is more sensitive to the
  301.           initial connection sequence than many other KERMITs. The
  302.           following general principles may be helpful:
  303.  
  304.                Local mode
  305.  
  306.                     Invoke MAXIV KERMIT first. In the case of MODCOMP to
  307.                     MODCOMP transfer start the receiving KERMIT first.
  308.  
  309.                Remote mode
  310.  
  311.                     Issue the command to the remote machine first.
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.                                                                  III.1
  344.  
  345.  
  346.  
  347.           III. MAXIV KERMIT COMMANDS
  348.  
  349.                After executing KERMIT, the prompt "MAXIV KERMIT>" will
  350.           appear. The user may enter the following commands:
  351.  
  352.                                    HELP
  353.                                    STATUS
  354.                                    SET
  355.                                    EXIT / QUIT
  356.                                    SEND
  357.                                    RECEIVE
  358.                                    CONNECT
  359.  
  360.           These commands may or may not require additional parameters. In
  361.           all cases, the parameters must be separated by spaces. The
  362.           commands and parameters may be abbreviated so long as they may be
  363.           uniquely identified. For example, HELP may be shortened to H, but
  364.           SEND can only be shortened to SEN so that it may be distinguished
  365.           from SET. The CONNECT command is recognized but the function is
  366.           not supported in Version 1.0 . The other commands are discussed
  367.           below.
  368.  
  369.                HELP
  370.  
  371.                     The command HELP prints out a description of each
  372.                     available command to the terminal.
  373.  
  374.                STATUS
  375.  
  376.                     The command STATUS prints out the current values for a
  377.                     number of user-definable parameters.
  378.  
  379.                SET
  380.  
  381.                     The command SET allows the user to change various
  382.                     parameters according to your current needs. The syntax
  383.                     of the command is:
  384.  
  385.                                   SET option value
  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.                                                                  III.2
  411.  
  412.  
  413.  
  414.                The options and their applicable values are:
  415.  
  416.                     SET DELAY x
  417.  
  418.                          This command controls how long KERMIT waits before
  419.                          sending an initialization packet. The values 1 -
  420.                          60 seconds are acceptable.  The default is 10
  421.                          seconds.
  422.  
  423.                     SET EOL x
  424.  
  425.                          This command sets the end-of-line character which
  426.                          this KERMIT is expecting to terminate each
  427.                          received packet. This value does not have to match
  428.                          the EOL expected by the other KERMIT. The values
  429.                          1 - 31 are acceptable with the default being 13
  430.                          (<CR> ).
  431.  
  432.                     SET ESCAPE x
  433.  
  434.                          This command sets the character which terminates
  435.                          CONNECT mode. Since CONNECT is not currently
  436.                          supported, this command has no operational effect.
  437.  
  438.                     SET MYQUOTE x
  439.  
  440.                          This command sets the value for the character
  441.                          which prefixes all ASCII translated control
  442.                          characters. The valid values are 33 - 126. The
  443.                          default is 35 (<#>).
  444.  
  445.                     SET PACKET x
  446.  
  447.                          This command sets the maximum packet length we
  448.                          want to receive.  The valid values are 31 - 94
  449.                          characters. The default is 90.
  450.  
  451.                     SET SOH x
  452.  
  453.                          This command sets the start-of-packet character.
  454.                          The acceptable values are 1 - 31. The default
  455.                          value is 1 (<CTL-A>). This is not a parameter
  456.                          which is adjusted by the initial exchange.
  457.                          Therefore, both KERMIT's must agree before the
  458.                          connection is made.
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.                                                                  III.3
  478.  
  479.  
  480.  
  481.                     SET USL usl
  482.  
  483.                          This command changes the library which KERMIT is
  484.                          logically pointed at. This library must be a SED
  485.                          directorized partition or dataset. The default is
  486.                          USL.
  487.  
  488.           QUIT / EXIT
  489.  
  490.                Either command will end this KERMIT session. If any files
  491.           were received, the user will then be prompted to catalog them
  492.           away properly.
  493.  
  494.           SEND
  495.  
  496.                This command has two forms:
  497.  
  498.                                    SEND file_id
  499.                                    SEND @usl
  500.  
  501.                The first command will send a single file with the specified
  502.           name. The file must be cataloged in the current USL. (see the SET
  503.           USL command) The second command will send every file in the
  504.           specified library. This library is not required to be the same as
  505.           the current source library. It may be a library in a scratch
  506.           partition. This allows the operator to create a directorized
  507.           library in scratch and catalog files from several libraries to be
  508.           sent as a group.
  509.  
  510.           RECEIVE
  511.  
  512.                When the command RECEIVE is issued, MAXIV KERMIT will
  513.           receive as many files as are sent until the sender KERMIT issues
  514.           an end-of-transmission. The files are placed in a scratch
  515.           partition to be cataloged at the end of the session. When MAXIV
  516.           KERMIT is EXITed, the user is prompted to name and catalog the
  517.           received files. The answers to these questions are used to create
  518.           a Job Control procedure which places the files in the desired
  519.           libraries. The default file name is the received file name
  520.           truncated to 8 characters with any non-cancodeable characters
  521.           replaced by "$". The user may elect to  accept all the default
  522.           names. In this case, you will be asked whether all the files
  523.           should be CATaloged or RECATaloged to the current source library.
  524.           If all the defaults are not accepted, you will be prompted to
  525.           name each file, specify the library to use, and whether to CAT or
  526.           RECAT. When the questions have all been answered, the command
  527.           procedure is automatically invoked to perform the desired file
  528.           operations.
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.                                                                  III.4
  545.  
  546.  
  547.  
  548.                In the event that a file name conflict causes the cataloging
  549.           operation to fail, all is not lost! The command procedure is in
  550.           KE9 under the name "STORE" and can be edited to correct the
  551.           problem. Then reinvoke the procedure to complete the operation.
  552.           Care must be exercised to preserve the received text while the
  553.           procedure is being modified.
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.                                                                  A.1
  612.  
  613.  
  614.  
  615.                                TECHNICAL APPENDIX
  616.  
  617.               ___________________________
  618.           A.  Building KERMIT from Source
  619.  
  620.                The KERMIT source files are intended to reside in a single,
  621.           directorized SED USL library.  Procedures are provided to
  622.           compile, assemble, and link all modules and to create KERMIT as a
  623.           load module overlay.  All subroutines should be compiled to a
  624.           single, directorized object library.  This library will then be
  625.           referenced to link the main program.  The procedure which builds
  626.           KERMIT is called BLDKER and it requires 3 arguments.  BLDKER
  627.           could be invoked as follows:
  628.  
  629.                     $ASSIGN JC=KER,UJC=KER
  630.                     $BLDKER KER,KUL,BM
  631.  
  632.           where -   KER is the source library containing KERMIT
  633.                          source,
  634.                     KUL is a directorized object library to contain
  635.                          object versions of all KERMIT subroutines,
  636.                     BM is the load module library to contain the
  637.                          KERMIT overlay.
  638.  
  639.                The fourth argument to BLDKER is an optional switch which
  640.           tells whether or not to generate listing output.  For example, to
  641.           generate hardcopy listings during the build invoke BLDKER as
  642.           follows:
  643.  
  644.                     $ASSIGN JC=KER,UJC=KER,LO=LP
  645.                     $BLDKER KER,KUL,BM,LO
  646.  
  647.                __________________________________
  648.            B.  Logical file assignments and usage
  649.  
  650.                KERMIT requires several logical files which must be assigned
  651.           to I/O channels and scratch disk partitions.  They are as
  652.           follows:
  653.  
  654.                KE1 - Terminal output
  655.                KE2 - Terminal input
  656.                KE3 - KERMIT data output
  657.                KE4 - KERMIT data input
  658.                KE5 - List of file names received during the current session
  659.                KE8 - Received text files
  660.                KE9 - List of file names to be sent to the remote KERMIT,
  661.                      and Job Control procedure to catalog received files
  662.                      away
  663.                KEH - Directorized source library containing HELPFILE
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.                                                                  A.2
  681.  
  682.  
  683.  
  684.                One or two full duplex or half duplex asynchronous I/O ports
  685.           may be used for KERMIT.  If KE2 and KE4 are assigned to the same
  686.           device (port) then remote operation is assumed.  If they are
  687.           assigned to different ports then KERMIT is set up for local
  688.           operation.
  689.  
  690.                As files are received, the text is written to the disk
  691.           partition to which KE8 is assigned, and the name of the file is
  692.           written to KE9. When the user EXITs, several questions are asked
  693.           concerning the disposition of the files.  The file name list in
  694.           KE9 is then used as the basis for creating a Job Control
  695.           procedure to catalog all the received files to directorized
  696.           libraries.
  697.  
  698.                KE9 is also used to contain a list of file names to be
  699.           transmitted to the remote KERMIT.  This file will contain either
  700.           a single name, specified by the "SEND filename" command or the
  701.           names of all the files in a directory if the "SEND @usl" command
  702.           is used.
  703.  
  704.                For most applications, the disk resources of a BATxxx task
  705.           are adequate for KERMIT.  The procedure KERMIV which is provided
  706.           as a template uses SCA for keeping received files, SCB for the
  707.           received file list, and SC for the sending file list and Job
  708.           Control procedure.  KERMIV also provides the capability of
  709.           designating the logical device(s) to be used for KERMIT file
  710.           transfer input and output.
  711.  
  712.              __________________________________________
  713.           C. Control-A collision between KERMIT and TMP
  714.  
  715.                Many systems use Control-A as the TMP attention character.
  716.           It is also used by KERMIT as the start-of-packet character.  This
  717.           causes problems if the asynch port used for KERMIT transfers is
  718.           on the MAX IV break list.
  719.  
  720.                This is only a problem when KERMIT is operating in local
  721.           mode. When KERMIT is invoked in local mode, a non-standard binary
  722.           read is immediately issued to intercept any unsolicited packets
  723.           which could cause a BREAK.  However if the number of unsolicited
  724.           characters exceeds the size of the read (132 bytes) the read will
  725.           complete and the next control-A will cause a BREAK.  To avoid
  726.           this anomaly it is necessary to initiate the SEND and RECEIVE
  727.           operations at roughly the same time.  The user may want to
  728.           customize KERMIT by increasing the size of the incoming data
  729.           buffers, but must take note that only the first packet in the
  730.           buffer is interpreted.
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.                                                                  A.3
  749.  
  750.  
  751.  
  752.               _______________________________
  753.           D.  Warning about SEND @usl command
  754.  
  755.                This command causes the specified directory to be read and
  756.           the names of all active file entries to be extracted.  This logic
  757.           will only work correctly for 128 word-per-sector disks.  Systems
  758.           with sector sizes different from 128 words should avoid this
  759.           command.
  760.  
  761.               ________________________________________
  762.           E.  BATxxx task resources required by KERMIT
  763.  
  764.                The number of concurrent I/O operations and the number of
  765.           vacant logical file assignments for Batch tasks which will be
  766.           running KERMIT may have to be increased.  3 I/O operations and 15
  767.           vacant logfiles are adequate for KERMIT's use.
  768.  
  769.                The partitions assigned for scratch use for KERMIT must be
  770.           large enough to hold the data that KERMIT will temporarily store
  771.           there. The critical file is KE8 which holds the received text
  772.           files. Received files are written in compressed format so as to
  773.           conserve disk resources, but the user must still make sure that
  774.           KE8, or any other disk partitions are not overfilled.
  775.  
  776.               ________________________________
  777.           F.  Communications port conditioning
  778.  
  779.                The configuration (baud rate, frame size, parity, and stop
  780.           bits) of the I/O port used for KERMIT file transfers must be set
  781.           up to match the parameters of the remote KERMIT before the MAX IV
  782.           KERMIT is invoked.  Modification of those parameters is not
  783.           supported in this release of KERMIT.
  784.  
  785.               ___________________
  786.           G.  Future Enhancements
  787.  
  788.                This version of KERMIT implements only some of the basic
  789.           features of a KERMIT program.  Time permitting several additions
  790.           are planned. Those include:
  791.  
  792.                1)  SET LINE and CONNECT commands to allow going from
  793.                    local to remote operation after KERMIT is invoked
  794.                    and to support a dumb terminal emulation.
  795.  
  796.                2)  SERVER commands to simplify the transfer of files
  797.                    to KERMIT versions which support server commands.
  798.  
  799.                3)  TAKE command which allows command sequences to be
  800.                    stored in an external disk file and invoked from
  801.                    inside KERMIT.
  802.  
  803.                4)  Use of the SET command to modify the KERMIT I/O
  804.                    port parameters such as baud rate, parity, frame
  805.                    size, or stop bits.
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.                                                                  A.4
  820.  
  821.  
  822.  
  823.                5)  A STATISTICS feature which would summarize
  824.                    information about the current session and the
  825.                    current transaction, including bytes transferred,
  826.                    packets transferred, and effective transfer rate.
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880. 
  881.