home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / ibmtsoqueens / ts2kerdoc.txt < prev   
Text File  |  2020-01-01  |  23KB  |  634 lines

  1. IBM MVS/TSO KERMIT
  2. ==================
  3.  
  4. Programmer: Fritz Buetikofer, Help desk member at the University of
  5. &Documentation:                                  Bern (Switzerland).
  6. Language:   PASCAL/VS
  7.             Adaptation from the CMS-version of Victor Lee (Queens University)
  8. Version:    2.3
  9. Date:       September 1987
  10.  
  11.  
  12. TSO Kermit Capabilities At A Glance:
  13.  
  14.       Local operation:                   No
  15.       Remote operation:                  Yes
  16.       Transfers text files:              Yes
  17.       Transfers binary files:            Yes
  18.       Wildcard send:                     Yes
  19.       ^X/^Y interruption:                No
  20.       Filename collision avoidance:      Yes
  21.       Can time out:                      No
  22.       8th-bit prefixing:                 Yes
  23.       Repeat count prefixing:            Yes (RECEIVE only)
  24.       Alternate block checks:            Yes
  25.       Terminal emulation:                No
  26.       Communication settings:            No
  27.       Transmit BREAK:                    No
  28.       Transaction logging:               Yes
  29.       Session logging:                   No
  30.       Raw transmit:                      No
  31.       Act as server:                     Yes
  32.       Talk to server:                    Yes (only from startup file)
  33.       Advanced server functions:         Yes
  34.       Advanced commands for servers:     No
  35.       Local file management:             Yes
  36.       Command/init files:                Yes
  37.       Command macros:                    No
  38.       Handle Attribute Packets:          Yes (puts them in the LOG-file)
  39.       Extended-length packets:           Yes (Maximum size is 1K)
  40.       Sliding windows:                   No
  41.  
  42. Kermit-TSO is a program that implements the KERMIT file transfer
  43. protocol for IBM 370-series mainframes (System/370, 303x, 308x, etc.)
  44. under the MVS/TSO operating system.
  45. It is written in IBM PASCAL/VS language. This Program runs only over
  46. ASCII (asynchronous) lines attached to a 3705-style front end.
  47.  
  48. Actually Kermit-TSO is unable to interrupt a read on its "console".
  49. This means that the TSO version of Kermit cannot timeout. The only way
  50. to "timeout" TSO Kermit is from the other side:  typing a carriage
  51. return to the local Kermit causing it to retransmit its last packet,
  52. or an automatic timeout as provided by most other Kermits.
  53.  
  54.  
  55. The File System under MVS
  56. =========================
  57.  
  58. The features of the TSO file system of greatest interest to Kermit
  59. users are the format of file specifications and the concept of records.
  60.  
  61.  
  62. File Specifications
  63. -------------------
  64.  
  65. The MVS/TSO file specification is in the form
  66.  
  67.   a) sequential files:
  68.          'USERID.FILENAME.FILETYPE'
  69.           or NAME.FILETYPE          (short form)
  70.  
  71.   a) partitioned files (PDS):
  72.          'USERID.FILENAME.FILETYPE(MEMBER)'
  73.          or NAME.FILETYPE(MEMBER)   (short form)
  74.  
  75. FILENAME, FILETYPE and MEMBER are at most 8 characters in length each.
  76. The name field is the primary identifier for the file. The type is an
  77. an indicator which, by convention, tells what kind of file we have. For
  78. instance TEST.FORT is the source of a FORTRAN program named TEST. LOAD
  79. is the normal suffix for executable programs. MVS/TSO considers the
  80. FILETYPE parameter optional.
  81.  
  82. The USERID parameter is the normal userid under which the user logs on
  83. to MVS/TSO. If USERID is omitted from a file specification when sending,
  84. the short form of the file specification is used (that means, the file
  85. is cataloged under the userid of the KERMIT user).
  86.  
  87. To provide compatibility with most other operating systems, Kermit-TSO
  88. sends only the FILENAME and FILETYPE; for members of a partitioned data-
  89. set, the MEMBERNAME and FILETYPE are sent.
  90.  
  91. The FILENAME, FILETYPE and MEMBER may contain, in any order, uppercase
  92. letters, digits, and the special characters "$" (dollar sign),
  93. "@" (at sign) and "#" (hash).
  94.  
  95.  
  96. File Formats
  97. ------------
  98.  
  99. Several differences exist between MVS/TSO files and those of most other
  100. operating systems. One distinction is that MVS encodes its data using
  101. the EBCDIC character set. The operating system, MVS, translates all
  102. incoming characters from ASCII to EBCDIC. Kermit-TSO then translates the
  103. data it reads back to ASCII (characters not representable in ASCII are
  104. replaced by a null). This is done in order to correctly calculate the
  105. checksum, the method used to guarantee error-free transfer. When
  106. Kermit-TSO sends packets, it converts all data back to EBCDIC. Note that
  107. the translate tables used by Kermit must correspond to the ones used by
  108. the system (MVS/VTAM).
  109.  
  110. Another difference is that MVS/TSO stores files as records rather than
  111. byte character streams. MVS/TSO Kermit has to worry about assembling
  112. incoming data packets into records and appending carriage return
  113. linefeed to outgoing records.
  114.  
  115.  
  116. Program Operation
  117. =================
  118.  
  119. Kermit-TSO can be invoked at the command line or from a CLIST. Invoke
  120. the program under TSO by typing "KERMIT". When you see the command's
  121. prompt,
  122.  
  123.   KERMIT-TSO>
  124.  
  125. you may type Kermit commands repeatedly until you are ready to exit the
  126. program, for example:
  127.  
  128.   Welcome to KERMIT under MVS/XA-TSO V2.3
  129.  
  130.   KERMIT-TSO> send foo*.fort
  131.   KERMIT-TSO> receive test.spss
  132.   KERMIT-TSO> exit
  133.   End of Kermit
  134.  
  135.  
  136. Kermit-TSO Commands
  137. ===================
  138.  
  139. Here's a brief summary of all TSO KERMIT commands:
  140.  
  141.        DELETE  a specific file.
  142.           DIR  shows user directory.
  143.          DISK  space occupied by user.
  144.            DO  execute Kermit commands from a profile member
  145.           END  stop Kermit-TSO.
  146.          EXIT  from Kermit-TSO.
  147.        FINISH  finish server-mode of the micro
  148.          HELP  about Kermit-TSO.
  149.        LOGOUT  from Kermit-TSO and system.
  150.       MEMBERS  displays memberlist of a PDS.
  151.          QUIT  from Kermit-TSO.
  152.       RECEIVE  files from other Kermit.
  153.          SEND  files to other Kermit.
  154.        SERVER  mode of remote operation.
  155.           SET  various parameters.
  156.          SHOW  Kermit settings.
  157.        STATUS  same as SHOW.
  158.          TAKE  execute Kermit commands from a file
  159.           TSO  executes a TSO command.
  160.          TYPE  a specific file.
  161.           WHO  is logged on.
  162.  
  163.  
  164. Diagramm with KERMIT commands and syntax:
  165.  
  166. KERMIT ---------------------------------------------------------------------+
  167.        |                                                                    |
  168.        |-- DElete --- <local-filespec> -------------------------------------+
  169.        |                                                                    |
  170.        |-- DIRectory -------------------------------------------------------+
  171.        |             |-- <userid> ------------------------------------------+
  172.        |                                                                    |
  173.        |-- DISk ------------------------------------------------------------+
  174.        |                                                                    |
  175.        |-- DO ------- <membername> -----------------------------------------+
  176.        |                                                                    |
  177.        |-- FInish ----------------------------------------------------------+
  178.        |                                                                    |
  179.        |-- Help ------------------------------------------------------------+
  180.        |                                                                    |
  181.        |-- LOGout ----------------------------------------------------------+
  182.        |                                                                    |
  183.        |-- MEmbers -- <local-filespec> -------------------------------------+
  184.        |                                                                    |
  185.        |-- QUit or EXit or ENd ---------------------------------------------+
  186.        |                                                                    |
  187.        |-- RECeive ---------------------------------------------------------+
  188.        |             |------------------- <local-filespec> -----------------+
  189.        |                                                                    |
  190.        |-- SENd <local-filespec> -------------------------------------------+
  191.        |             |----<as> ---------- <local-filespec> -----------------+
  192.        |                                                                    |
  193.        |-- SERver ----------------------------------------------------------+
  194.        |                                                                    |
  195.        |-- SET -------------------------------------------------------------+
  196.        |             |-- <DEbug> ------- <ON | OR> -------------------------+
  197.        |             |-- <TExtmode> ---- <ON | OFF> ------------------------+
  198.        |             |-- <REcfm> ------- <FB | VB> -------------------------+
  199.        |             |-- <INcomplete> -- <KEEP | DELETE>--------------------+
  200.        |             |                                                      |
  201.        |             |-- <CHecktype> ---|                                   |
  202.        |             |-- <EOLchar> -----|                                   |
  203.        |             |-- <DElay> -------|-- <decimal number> ---------------+
  204.        |             |-- <PACketsize> --|                                   |
  205.        |             |-- <SOHchar> -----|                                   |
  206.        |             |                                                      |
  207.        |             |-- <CNtrlquote> --|                                   |
  208.        |             |-- <BIt8quote> ---|-- <EBCDIC Char> ------------------+
  209.        |             |-- <Repchar> -----|                                   |
  210.        |             |                                                      |
  211.        |             |-- <ATOE> --------|                                   |
  212.        |             |-- <ETOA> --------|-- <n1> -- <n2> -------------------+
  213.        |                                                                    |
  214.        |-- STatus ----------------------------------------------------------+
  215.        |                                                                    |
  216.        |-- TAke ----- <local-filespec> -------------------------------------+
  217.        |                                                                    |
  218.        |-- TYpe ----- <local-filespec> -------------------------------------+
  219.        |                                                                    |
  220.        |-- VErsion ---------------------------------------------------------+
  221.        |                                                                    |
  222.        |-- WHo -------------------------------------------------------------+->
  223.  
  224.  
  225.  
  226.                              THE DELETE COMMAND
  227.  
  228. Syntax: DELETE filespec
  229.  
  230. The DELETE command causes a file to be deleted from the catalog of the
  231. user (actually, no wildcards in the filespec are allowed).
  232.  
  233.  
  234.  
  235.                               THE DIR COMMAND
  236.  
  237. Syntax: DIR [userid]
  238.  
  239. The DIR command causes a list of all cataloged files of a specific user
  240. to be displayed at the screen.
  241.  
  242.  
  243.  
  244.                                THE DISK COMMAND
  245.  
  246. Syntax: DISK
  247.  
  248. The DISK command displays the actual size of disk-space occupied by
  249. the user.
  250.  
  251.  
  252.  
  253.                                THE DO COMMAND
  254.  
  255. Syntax: DO membername
  256.  
  257. Execute Kermit commands from the file KERMIT.PROFILE, where membername
  258. should be an existing member. The command file should not include
  259. other DO or TAKE commands!
  260.  
  261.  
  262.  
  263.                         THE END, EXIT and QUIT COMMAND
  264.  
  265. Syntax: END or EXIT or QUIT
  266.  
  267. These commands stop the Kermit-TSO program, the user returns back to
  268. the TSO prompt 'READY' to proceed work.
  269.  
  270.  
  271.  
  272.                              THE FINISH COMMAND
  273.  
  274. Syntax: FINISH
  275.  
  276. The FINISH command sends a FINISH-packet to the server of the micro.
  277. This command has only an effect if used from within a startup-file.
  278.  
  279.  
  280.  
  281.                             THE LOGOUT COMMAND
  282.  
  283. Syntax: LOGOUT
  284.  
  285. The LOGOUT command stops the Kermit-TSO program. Additionnaly the user
  286. is logged off from the host.
  287.  
  288.  
  289.                             THE MEMBERS COMMAND
  290.  
  291. Syntax: MEMBERS filespec
  292.  
  293. The MEMBERS command displays the memberlist of a partitionned file.
  294.  
  295.  
  296.                               THE RECEIVE COMMAND
  297.  
  298. Syntax: RECEIVE [filespec]
  299.  
  300. The RECEIVE command tells Kermit-TSO to receive a file or file group
  301. from the other system. You should then issue a SEND command to the
  302. remote Kermit.
  303.  
  304. If the optional filespec is not included,  Kermit-TSO will use the
  305. name(s) provided by the other Kermit. If that name is not a legal TSO
  306. file name, Kermit-TSO will try to write the incoming data to the file
  307. KERMIT.TEMP.
  308.  
  309. If the optional filespec is provided, but more than one file arrives,
  310. the first file will be stored under the given filespec, and the
  311. remainder will be stored under their own names (sent by the other
  312. Kermit).
  313.  
  314. When receiving files, any record longer than the logical record length
  315. will be split up to as many records as necessary.
  316.  
  317. Actually the following two record formats are supported:
  318.   1) Fixed format records, with a record length of 80. This format is
  319.      used for language sources and OS job control.
  320.   2) Variable records, with a record length of 255 bytes. This format
  321.      is the default, and is used for normal text files.
  322.  
  323. If an error occurs during the file transfer, as much of the file as
  324. was received is saved. If the sending of a file is cancelled by the
  325. user of the remote system, Kermit-TSO will discard whatever had arrived.
  326.  
  327. If the incoming file has the same name as a file that already exists,
  328. Kermit-TSO will change the incoming name so as not to obliterate the
  329. pre-existing file. It attempts to rename the file by replacing the
  330. last character of the FILENAME or MEMBER (for PDS files) with the
  331. next-following character in the alphabetical order. It continues in this
  332. manner, until a filename for a non-existant file is found.
  333.  
  334.  
  335.                                THE SEND COMMAND
  336.  
  337. Syntax:  SEND filespec [[AS] local-filespec]
  338.  
  339. The SEND command causes a file or file group to be sent from the TSO
  340. system to the Kermit on the remote system.
  341. In filespec you may put ONE wildcard '*' anywhere in the filename, file-
  342. type or membername if present. Do not put a wildcard in the userid.
  343.  
  344. Although the file transfer cannot be cancelled from the TSO side,
  345. Kermit-TSO is capable of responding to "cancel file" or "cancel batch"
  346. signals from the local Kermit; these are typically entered by typing
  347. Control-X and  Control-Z respectively.
  348.  
  349.  
  350.                               THE SERVER COMMAND
  351.  
  352. Kermit-TSO is capable of acting as a server. The user connects to the
  353. TSO system once to set various options and to start the server. From
  354. then on, he need not connect to the TSO system again. The current
  355. version of Kermit-TSO can send files (the user on the other end types
  356. the GET command, using the TSO filename conventions), receive files
  357. (the user types SEND), several advanced server functions as user
  358. directory, typing or deleting files and other, and terminate by either
  359. returning to TSO (user types FINISH) or logging the user out
  360. (user types BYE).
  361.  
  362. To put Kermit-TSO into server mode, first issue any desired SET command
  363. to select various options and then type the SERVER command. Kermit-TSO
  364. will await all further instructions from the user Kermit on the other
  365. end of the connection. For example:
  366.  
  367.   KERMIT-TSO> set debug on
  368.   KERMIT-TSO> server
  369.  
  370.  
  371.  
  372.                                 THE SET COMMAND
  373.  
  374. Syntax: SET parameter value
  375.  
  376. Establish or modify various parameters for file transfer. You can
  377. examine their values with the SHOW command.
  378.  
  379. The following SET commands are available in Kermit-TSO:
  380.  
  381.             ATOE  Modify ASCII -> EBCDIC translation table
  382.       BIT8-QUOTE  Character for 8th bit quoting
  383.        CHECKTYPE  Type of block check to be used
  384.      CNTRL-QUOTE  Character for control character quoting
  385.            DEBUG  Log packets sent and received during file transfer
  386.            DELAY  Delay until first SEND INIT packet is sent
  387.          EOLCHAR  Packet terminator
  388.             ETOA  Modify EBCDIC -> ASCII translation table
  389.       INCOMPLETE  Disposition of file for aborted transfer
  390.       PACKETSIZE  Maximum receive packet size
  391.            RECFM  Record format for incoming files
  392.       REPEATCHAR  Character for compression indication
  393.          SOHCHAR  Start of Packet character
  394.         TEXTMODE  Translation for text files
  395.  
  396.  
  397. SET ATOE
  398.  
  399. Syntax: SET ATOE n1 n2
  400.  
  401. This command allows you to modify the ASCII -> EBCDIC translation table
  402. which is used to determine the resulting character and checksum on the
  403. micro side. The numbers n1 and n2 should lie in the range 0..255.
  404.  
  405.  
  406. SET BIT8-QUOTE
  407.  
  408. Syntax: SET BIT8-QUOTE x
  409.  
  410. This command allows you to modify the character, which is used for
  411. 8th bit quoting. Initially this character is set to '&'. Running in
  412. server mode, Kermit-TSO uses the 8th-bit quoting character of the micro.
  413.  
  414.  
  415. SET CHECKTYPE
  416.  
  417. Syntax: SET CHECKTYPE n
  418.  
  419. This command allows you to specify the block check type to be used for
  420. ensuring a safe tranfer of the data. The allowed types are:
  421.     1 - single character checksum, 2 - two char checksum
  422.  or 3 - three char CRC.
  423.  
  424.  
  425. SET CNTRL-QUOTE
  426.  
  427. SYNTAX: SET CNTRL-QUOTE x
  428.  
  429. Use the indicated printable character for prefixing (quoting) control
  430. characters and other prefix characters.  The only reason to change
  431. this would be for sending a very long file that contains very many "#"
  432. characters (the normal control prefix) as data. It must be a single
  433. character in the range: 33-62, 96, 123-126 (decimal).
  434.  
  435.  
  436. SET DEBUG
  437.  
  438. Syntax: SET DEBUG ON / OFF
  439.  
  440. ON      Keep a journal of all packets sent and received in the file
  441.         KERMIT.DEBUG. If the file already exists, it is overwritten.
  442.  
  443. OFF     Stop logging the packets.
  444.  
  445.  
  446. SET DELAY
  447.  
  448. Syntax: SET DELAY nn
  449.  
  450. This command allows you to modify the delay time (in seconds), between
  451. issuing the SEND command on TSO side, and when the first 'SEND-INIT'
  452. packet. 'nn' must be between 5 and 60 (decimal); the default is 6.
  453.  
  454.  
  455. SET EOLCHAR
  456.  
  457. Syntax: SET EOLCHAR nn
  458.  
  459. If the remote system needs packets to be terminated by anything other
  460. than carriage return, specify the decimal value of the desired ASCII
  461. character. 'nn' must be between 0 and 18 (decimal).
  462.  
  463.  
  464. SET ETOA
  465.  
  466. Syntax: SET ETOA n1 n2
  467.  
  468. This command allows you to modify the ASCII -> EBCDIC translation table
  469. which is used to determine the resulting character and checksum on the
  470. micro side. The numbers n1 and n2 should lie in the range 0..255.
  471.  
  472.  
  473. SET INCOMPLETE
  474.  
  475. Syntax: SET INCOMPLETE KEEP / DELETE
  476.  
  477. If the remote system aborts a filetransfer the INCOMPLETE options speci-
  478. fies what should be done with the incomplete file: whether it is kept
  479. or deleted.
  480.  
  481.  
  482. SET PACKETSIZE
  483.  
  484. Syntax: SET PACKETSIZE nn
  485.  
  486. Use the specified number as the maximum length for incoming packets.
  487. The valid range is 26-94-1000, where 94 is the default. Packets with
  488. a size of greater than 94 are packets according to the extended length
  489. protocol.
  490.  
  491.  
  492. SET RECFM
  493.  
  494. Syntax: SET RECFM FB / VB
  495.  
  496. Set the record format to use for incoming files.  Valid options are "FB"
  497. for fixed format (as used for job control files) or "VB" for variable
  498. format (as used for text or data files). The default is variable.
  499.  
  500.  
  501. SET REPEATCHAR
  502.  
  503. Syntax: SET REPEATCHAR x
  504.  
  505. This command allows you to modify the character, which is used for
  506. character compression on the micro side. Initially this character is
  507. set to '~' (tilde). Running in server mode, Kermit-TSO  uses the
  508. repeat character of the micro.
  509.  
  510.  
  511. SET SOHCHAR
  512.  
  513. Syntax: SET SOHCHAR nn
  514.  
  515. If the normal start-of-packet character <Ctrl-A> should not get through
  516. the communications line, you may change this character to any other
  517. suitable character. Specify the decimal value of the desired ASCII
  518. character. 'nn' must be between 0 and 18 (decimal).
  519.  
  520.  
  521. SET TEXTMODE
  522.  
  523. Syntax: SET TEXTMODE ON / OFF
  524.  
  525. ON   Tells TSO Kermit that the file is plain text. ASCII-to-EBCDIC and
  526.      EBCDIC-to-ASCII translation is performed on the data. Carriage
  527.      return-linefeed are appended to outgoing records and are used to
  528.      determine the end of incoming records.
  529.  
  530. OFF  Tells TSO Kermit to treat each character as a string of bits and
  531.      not to perform translation on the data. Also, no carriage-return
  532.      is added to the end of outgoing records.
  533.  
  534.  
  535.  
  536.  
  537.                                THE SHOW COMMAND
  538.  
  539. Syntax: SHOW
  540.  
  541. Use to display the values of all parameters that can be changed with
  542. the SET command.
  543.  
  544.  
  545.  
  546.                             THE STATUS COMMAND
  547.  
  548. Syntax: STATUS
  549.  
  550. Returns the status of the previous command. The response will either
  551. display the message "Kermit completed successfully", or the last error
  552. encountered.
  553.  
  554.  
  555.  
  556.                               THE TAKE COMMAND
  557.  
  558. Syntax: TAKE filespec
  559.  
  560. Execute Kermit commands from the specified file, where filespec has
  561. the normal TSO filename conventions. The command file should not
  562. include other TAKE or DO commands.
  563.  
  564.  
  565.  
  566.                               THE TSO COMMAND
  567.  
  568. Syntax: TSO commandstring
  569.  
  570. Although Kermit-TSO does provide only few commands for managing local
  571. files (list directory, type and delete files), it is possible to
  572. interact with the operating system. You can issue any TSO command.
  573. At this time, though, you cannot run another program or clist from
  574. within Kermit-TSO.
  575.  
  576.  
  577.  
  578.                               THE TYPE COMMAND
  579.  
  580. Syntax: TYPE filespec
  581.  
  582. The TYPE command causes a file or file group to be sent from the TSO
  583. system to the Kermit on the remote system and typed there on the screen.
  584.  
  585. (actually no wildcards in the filespec are allowed )
  586.  
  587. Although the file transfer cannot be cancelled from the TSO side,
  588. Kermit-TSO is capable of responding to "cancel file" or "cancel batch"
  589. signals from the local Kermit; these are typically entered by typing
  590. Control-X and  Control-Z respectively.
  591.  
  592.  
  593.  
  594.                                 THE WHO COMMAND
  595.  
  596. Syntax: WHO
  597.  
  598. The WHO command displays a list of the actual users logged on at the
  599. host system.
  600.  
  601.  
  602.  
  603. The KERMIT startup file
  604. =======================
  605.  
  606. When starting KERMIT, the file called 'KERMIT.SETUP' is executed if
  607. it exists. The KERMIT clist checks for the presence of the command
  608. file. If he finds it, he passes an additional argument to the program,
  609. which causes KERMIT to execute all commands in this startup file.
  610. When sending more than one file from within the startup-file, you have
  611. to set the micro-Kermit into server mode.
  612.  
  613. Example:
  614.    +-KERMIT.SETUP--------------------+
  615.    | SEND FILE1.TEXT                 |
  616.    | SEND KERMIT.INSTALL(*)          |
  617.    | FINISH                          |
  618.    +---------------------------------+
  619.  
  620.  
  621.  
  622.  
  623. Before Connecting to the Mainframe
  624. ==================================
  625.  
  626. When connecting to the TSO system as a TTY device ("line at a time"
  627. mode) several flags must first be set on the micro version of Kermit.
  628. You should set the LOCAL-ECHO flag to OFF (this is used to indicate
  629. full-duplex).
  630. HANDSHAKE should be set to XON and FLOW-CONTROL should be set to NONE.
  631. The parity should be set according to the system's specifications.
  632. Set the baud rate to correspond to the line speed and set the parity
  633. as needed for the used line.
  634.