home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / cmsoriginal / cmsv2doc.txt < prev    next >
Text File  |  2020-01-01  |  27KB  |  674 lines

  1. IBM VM/CMS KERMIT   (Chapter from Kermit User Guide)                   Page 106
  2.  
  3.  
  4. 8. IBM VM/CMS KERMIT
  5.  
  6. Program:    Daphne  Tzoar,  Columbia University; contributions from Bob Shields
  7.             (U. of Maryland), Victor Lee (Queens U.), Gary Bjerke (U.  of Texas
  8.             at Austin), Greg Small (UC Berkeley)
  9. Language:   CMS Assembler
  10. Documentation:
  11.             Daphne Tzoar, Columbia University
  12. Version:    2.01
  13. Date:       May 1985
  14.  
  15.  
  16. CMS Kermit Capabilities At A Glance:
  17.  
  18.   Local operation:                   No
  19.   Remote operation:                  Yes
  20.   Transfers text files:              Yes
  21.   Transfers binary files:            Yes (fixed format)
  22.   Wildcard send:                     Yes
  23.   ^X/^Y interruption:                Yes
  24.   Filename collision avoidance:      Yes
  25.   Can time out:                      No
  26.   8th-bit prefixing:                 Yes
  27.   Repeat count prefixing:            Yes
  28.   Alternate block checks:            Yes
  29.   Terminal emulation:                No
  30.   Communication settings:            No
  31.   Transmit BREAK:                    No
  32.   Transaction logging:               Yes
  33.   Session logging:                   No
  34.   Raw transmit:                      No
  35.   Act as server:                     Yes
  36.   Talk to server:                    No
  37.   Advanced server functions:         No
  38.   Advanced commands for servers:     No
  39.   Local file management:             Yes
  40.   Handle Attribute Packets:          No
  41.   Command/init files:                Yes
  42.   Command macros:                    No
  43.  
  44. Kermit-CMS is a program that implements the KERMIT file transfer  protocol  for
  45. IBM 370-series mainframes (System/370, 303x, 43xx, 308x, etc.) under the VM/CMS
  46. operating system.  It is written in IBM 370 assembly language.    This  program
  47. runs only over ASCII (asynchronous) lines attached to a 3705-style front end or
  48. a Series/1 running the Yale ASCII Terminal Communication System.   The  program
  49. should  also  work  on the IBM 7171 ASCII Device Control Unit and the 4994, al-
  50. though this has not been verified as of this writing.    For  more  details  on
  51. this, see the section SET SERIES1.
  52.  
  53. These  systems have several peculiarities that users should be aware of.  These
  54. are half duplex systems; the communication line must "turn around"  before  any
  55. data  can be sent to it.  The fact that a packet has been received from the IBM
  56. system is no guarantee that it is ready for a reply.  Thus any  Kermit  talking
  57. to  this system must wait for the line turnaround character (XON) before trans-
  58. mitting the next character.  It is up to the user to tell the other Kermit that
  59. it is talking to an IBM mainframe.
  60. IBM VM/CMS KERMIT                                                      Page 107
  61.  
  62.  
  63. Also,  a  program  running  under  VM/CMS  is unable to interrupt a read on its
  64. "console".  This means that the CMS version of Kermit cannot timeout.  The only
  65. way  to  "timeout" CMS Kermit is from the other side:  typing a carriage return
  66. to the local Kermit causing it to retransmit its last packet, or  an  automatic
  67. timeout as provided by most other Kermits.
  68.  
  69.  
  70. 8.1. The VM/CMS File System
  71.  
  72. The  features  of  the CMS file system of greatest interest to Kermit users are
  73. the format of file specifications and the concept of records.
  74.  
  75.  
  76. 8.1.1. File Specifications
  77.  
  78. The VM/CMS file specification is in the form 
  79.  
  80.   FILENAME FILETYPE FILEMODE
  81.  
  82. (often abbreviated FN FT FM).  FILENAME and FILETYPE are at most  8  characters
  83. in  length  each.   The name field is the primary identifier for the file.  The
  84. type is an indicator which, by convention, tells what kind  of  file  we  have.
  85. For  instance  TEST  FORTRAN  is  the  source  of a FORTRAN program named TEST.
  86. MODULE is the normal suffix for executable programs.  Although  some  operating
  87. systems  consider  the FILETYPE optional, VM/CMS requires a valid type.  There-
  88. fore, Kermit-CMS supplies a default type of "X" if one is not provided  by  the
  89. remote system.
  90.  
  91. The  FILEMODE,  which consists of a letter and a number, is similar to a device
  92. specification on microcomputer systems: FN FT FM would translate to FM:FN.FT in
  93. CP/M or MS-DOS.  If FILEMODE is omitted from a file specification when sending,
  94. a FM of "*" is used.  In this case, the users disks are  scanned  according  to
  95. the  search order and the first occurrence of the file is the one that is sent.
  96. If FILEMODE is omitted from a file spec when receiving, a default  of  "A1"  is
  97. used.
  98.  
  99. To  provide  compatibility  with most other operating systems, Kermit-CMS sends
  100. only the FILENAME and FILETYPE.  It also converts the intervening  blank  to  a
  101. period.
  102.  
  103. The  FN  and  FT  may contain, in any order, uppercase letters, digits, and the
  104. special characters "$" (dollar sign), "#" (pound  sign),  "@"  (at  sign),  "+"
  105. (plus), "-" (dash), ":" (colon), and "_" (underscore).  Other characters may be
  106. not be included.  If an invalid character is found in the FN or FT field, it is
  107. replaced by the letter "X".
  108.  
  109. VM/CMS  allows  a group of files to be specified in a single file specification
  110. by including the special "wildcard" characters, "*" and "%".  A "*" matches any
  111. string of characters from the current position to the end of the field, includ-
  112. ing no characters at all; a "%" matches any single character.   Here  are  some
  113. examples:
  114.  
  115.   * COBOL A
  116.           All files of type COBOL (all COBOL source files) on the A disk.
  117.  
  118.   F* *    All files whose names start with F.
  119. IBM VM/CMS KERMIT                                                      Page 108
  120.  
  121.  
  122.   % * B   All files on the B disk whose FN is exactly one character long.
  123.  
  124.  
  125. 8.1.2. File Formats
  126.  
  127. Several differences exist between VM/CMS files and those of most other  operat-
  128. ing  systems.    One  distinction is that CMS encodes its data using the EBCDIC
  129. character set.  The operating system, VM, translates  all  incoming  characters
  130. from ASCII to EBCDIC.  Kermit-CMS then translates the data it reads back to AS-
  131. CII (characters not representable in ASCII are replaced by a null).    This  is
  132. done in order to correctly calculate the checksum, the method used to guarantee
  133. error-free transfer.  When Kermit-CMS sends packets, it converts all data  back
  134. to  EBCDIC.    Note that the translate tables used by Kermit must correspond to
  135. the ones used by the system (VM).  The ASCII  to  EBCDIC  translations  can  be
  136. found in the Appendix.
  137.  
  138. Another  difference  is  that  VM/CMS  stores files as records rather than byte
  139. streams.  VM/CMS Kermit has to worry about  assembling  incoming  data  packets
  140. into records and appending carriage return-linefeed to outgoing records.
  141.  
  142.  
  143. 8.2. Program Operation
  144.  
  145. Kermit-CMS  can  be invoked at the command line or from an exec.  Commands con-
  146. sist of one or more fields, separated by spaces.   Each  field  must  be  eight
  147. characters or less.  Fields longer than the maximum length are truncated.
  148.  
  149. Upon  initial  startup, the program looks for two special initialization files,
  150. SYSTEM KERMINI and (USERID) KERMINI (that is, the userid of the person  running
  151. CMS-Kermit.)    These  files  can  be placed on any disk.  The purpose of these
  152. files is to allow Kermit to be customized for a particular  system  and  for  a
  153. user's  specific  settings  without  changing the source code.  The file SYSTEM
  154. KERMINI should be placed on a publicly accessible disk by a systems programmer.
  155. The file would contain commands that all users would need to issue in order for
  156. Kermit to run on the system, such as commands to modify the ASCII-to-EBCDIC and
  157. EBCDIC-to-ASCII  tables  used  by  Kermit-CMS.  The file (USERID) KERMINI would
  158. contain commands that the user generally  issues  every  time  Kermit  is  run.
  159. Kermit-CMS executes any commands found in these files as though they were typed
  160. at the terminal.  Here is a sample init file:
  161.  
  162.   * Asterisk in column one is a comment.
  163.   set debug on
  164.  
  165.   set warning on
  166.   set block 3
  167.  
  168. Three CP SET parameters MSG, IMSG and WNG are always set OFF during the  actual
  169. file transfer (and restored afterwards) to prevent CP from interrupting any I/O
  170. in progress.
  171. IBM VM/CMS KERMIT                                                      Page 109
  172.  
  173.  
  174. Interactive Operation:
  175.  
  176. To run  Kermit-CMS  interactively,  invoke  the  program  from  CMS  by  typing
  177. "KERMIT".  When you see the command's prompt, 
  178.  
  179.   KERMIT-CMS>.
  180.  
  181. you  may  type  Kermit  commands  repeatedly  until  you  are ready to exit the
  182. program, for example:
  183.  
  184.   .KERMIT
  185.  
  186.   Kermit CMS Version 2.01
  187.   Enter ? for a list of valid commands
  188.  
  189.   KERMIT-CMS>.send foo *
  190.  
  191.     Files with fn FOO are sent
  192.  
  193.   KERMIT-CMS>.receive test spss
  194.  
  195.     File is received and called TEST SPSS A1
  196.  
  197.   KERMIT-CMS>.exit
  198.  
  199. During interactive mode, you may  use  the  help  ("?")  feature  while  typing
  200. Kermit-CMS  commands.   A question mark typed at almost any point in a command,
  201. followed by a carriage return, produces a brief description of what is expected
  202. or possible at that point.
  203.  
  204.  
  205. Command Line Invocation:
  206.  
  207. Kermit-CMS  may  also be invoked with command line arguments from CMS.  For in-
  208. stance:
  209.  
  210.   .KERMIT send test fortran
  211.  
  212. or
  213.  
  214.   .KERMIT set debug on # set file binary # server
  215.  
  216. Kermit will exit and return to CMS after completing the  specified  command  or
  217. commands.   Note that several commands may be given on the command line as long
  218. as they are separated by the linend character, which  is  pound  sign  in  this
  219. case.  The command line may contain up to 130 characters.
  220.  
  221.  
  222. Exec Operation:
  223.  
  224. Like  other  CMS  programs,  Kermit-CMS may be invoked from a CMS EXEC.  Kermit
  225. will not run under CMSBATCH or disconnected since the user  does  not  actually
  226. have  a  console.   Commands can be passed using TAKE files and/or command line
  227. arguments.  For example, to start up Kermit-CMS and have it act  as  a  server,
  228. include the line:
  229. IBM VM/CMS KERMIT                                                      Page 110
  230.  
  231.  
  232.   KERMIT server
  233.  
  234. To  pass more than one command, they must be stacked in the order in which they
  235. are to be executed.  To start up a Kermit-CMS server  with  a  three  character
  236. CRC, include:
  237.  
  238.   &STACK set block 3 
  239.   &STACK server 
  240.   KERMIT
  241.  
  242. Prompts and messages will still be displayed on the screen.
  243.  
  244.  
  245. 8.3. Kermit-CMS Commands
  246.  
  247. Here's a brief summary of CMS Kermit commands:
  248.  
  249.           CMS  executes a CMS command.
  250.            CP  executes a CP command.
  251.          EXIT  from Kermit-CMS.
  252.          HELP  about Kermit-CMS.
  253.          QUIT  from Kermit-CMS
  254.       RECEIVE  files from other Kermit.
  255.          SEND  files to other Kermit.
  256.        SERVER  mode of remote operation.
  257.           SET  various parameters.
  258.          SHOW  various parameters.
  259.        STATUS  inquiry.
  260.          TAKE  commands from file.
  261.         TDUMP  dumps the contents of a particular table.
  262.  
  263. The  remainder  of  this section concentrates on the commands that have special
  264. form or meaning for CMS Kermit.
  265.  
  266.  
  267.                                THE SEND COMMAND
  268.  
  269. Syntax:  SEND filespec
  270.  
  271. The SEND command causes a file or file group to be sent from the CMS system  to
  272. the Kermit on the remote system.  filespec takes the form:  
  273.  
  274.   filename filetype [filemode]
  275.  
  276. filespec  may contain the wildcard characters "*" or "%".  If filespec contains
  277. wildcard characters then all matching files will be sent.  If, however, a  file
  278. exists  by  the  same name on more than one disk, only the first one CMS Kermit
  279. encounters, according to the disk search order, is sent.
  280.  
  281. Although the file transfer cannot be cancelled from the CMS side, Kermit-CMS is
  282. capable of responding to "cancel file" or "cancel batch" signals from the local
  283. Kermit; these are typically entered by typing Control-X and  Control-Z  respec-
  284. tively.
  285. IBM VM/CMS KERMIT                                                      Page 111
  286.  
  287.  
  288.                               THE RECEIVE COMMAND
  289.  
  290. Syntax: RECEIVE [filespec]
  291.  
  292. The  RECEIVE  command tells Kermit-CMS to receive a file or file group from the
  293. other system.  You should then issue a SEND command to the remote Kermit.
  294.  
  295. The format of the filespec is:  
  296.  
  297.   filename filetype [filemode]
  298.  
  299. If the optional filespec is not  included,  Kermit-CMS  will  use  the  name(s)
  300. provided  by  the  other  Kermit.    If that name is not a legal CMS file name,
  301. Kermit-CMS will delete excessive characters from it, and  will  change  illegal
  302. characters to the letter X.
  303.  
  304. Use  the file specification to indicate that the incoming file should be stored
  305. under a different name.  The filespec may include a filemode to  designate  the
  306. destination  disk.  If none is provided, the file will be saved with fm A1.  If
  307. you want to use the same name  but  a  different  filemode,  specify  =  =  FM.
  308. Wildcards may not be used in any field.
  309.  
  310. If the optional filespec is provided, but more than one file arrives, the first
  311. file will be stored under the given filespec, and the remainder will be  stored
  312. under  their  own  names on the A disk.  If, however, = = FM is used, all files
  313. will be placed onto the specified disk.
  314.  
  315. When receiving files, if the record format is fixed, any record longer than the
  316. logical record length will be split up to as many records as necessary.  If the
  317. record format is variable, the record length can be as high as 64K.  For  send-
  318. ing  files,  the maximum record length is 64K.  See the SET LRECL and SET RECFM
  319. commands.
  320.  
  321. If an error occurs during the file  transfer,  as  much  of  the  file  as  was
  322. received  is  saved on disk.  If the sending of a file is cancelled by the user
  323. of the remote system, Kermit-CMS will discard whatever had arrived.
  324.  
  325. If the incoming file has the same name as a file that already exists, and WARN-
  326. ING  is  OFF,  the  original  file  will be overwritten.  If WARNING is set ON,
  327. Kermit-CMS will change the incoming name so as not to obliterate the pre-exist-
  328. ing file.  It attempts to rename the file by replacing the first character with
  329. a dollar sign ($).  If a file by that name exists, it also replaces the  second
  330. character  with  a dollar sign.  It continues in this manner for all characters
  331. of the filename and filetype.  If the file  cannot  be  renamed,  the  transfer
  332. fails.
  333.  
  334.  
  335.                                THE TAKE COMMAND
  336.  
  337. Syntax: TAKE filespec
  338.  
  339. Execute  Kermit commands from the specified file, where filespec has the format
  340. fn ft [fm].  The command file may include TAKE commands.
  341. IBM VM/CMS KERMIT                                                      Page 112
  342.  
  343.  
  344.                               THE SERVER COMMAND
  345.  
  346. Kermit-CMS is capable of acting as a server.  The user connects to the CMS sys-
  347. tem once to set various options and to start the server.  From then on, he need
  348. not connect to the CMS system again.  The current  version  of  Kermit-CMS  can
  349. send  files  (the  user  on the other end types the GET command, using either a
  350. space or a period as the delimiter between filename, filetype,  and  filemode),
  351. receive  files  (the user types SEND), and terminate by either returning to CMS
  352. (user types FINISH) or logging the user out (user types BYE).
  353.  
  354. To put Kermit-CMS into server mode, first issue any  desired  SET  commands  to
  355. select various options and then type the SERVER command.  Kermit-CMS will await
  356. all further instructions from the user Kermit on the other end of  the  connec-
  357. tion.  For example:
  358.  
  359.   KERMIT-CMS>.set warning on
  360.   KERMIT-CMS>.set debug on
  361.   KERMIT-CMS>.set block 3
  362.   KERMIT-CMS>.server
  363.  
  364.  
  365.                                 THE SET COMMAND
  366.  
  367. Syntax: SET parameter [value]
  368.  
  369. Establish  or  modify  various  parameters  for file transfer.  You can examine
  370. their values with the SHOW command.  The following SET commands  are  available
  371. in Kermit-CMS:
  372.  
  373.                 ATOE  Modify ASCII-to-EBCDIC table used by Kermit-CMS
  374.                BLOCK  Level of error checking for file transfer
  375.                DEBUG  Log packets sent and received during file transfer
  376.          END-OF-LINE  Packet terminator
  377.                 ETOA  Modify EBCDIC-to-ASCII table used by Kermit-CMS
  378.                 FILE  Type of incoming or outgoing file
  379.                LRECL  Logical Record length for incoming file
  380.          PACKET-SIZE  Maximum receive packet size
  381.                QUOTE  Use to quote outgoing control characters
  382.                RECFM  Record format for incoming files
  383.              SERIES1  Indicate if coming in via a Series/1
  384.              WARNING  Specify how to handle filename collisions
  385.  
  386.  
  387. SET ATOE
  388.  
  389. Syntax: SET ATOE num1 num2
  390.  
  391. This  command  allows you to modify the ASCII-to-EBCDIC translate table used by
  392. Kermit-CMS to conform to your system.  Specify the offset of  the  ASCII  value
  393. within  the  table  and  the  new  value for that location.  Both num1 and num2
  394. should be between 0 and 255 (decimal).  Note that the table is twice as long as
  395. necessary  because  the translate instruction expects a table that contains 256
  396. characters.
  397. IBM VM/CMS KERMIT                                                      Page 113
  398.  
  399.  
  400. SET BLOCK
  401.  
  402. SYNTAX: SET BLOCK number
  403.  
  404. Determine the type of block check used during file transfer.  Valid options for
  405. number  are: 1 (for a one character checksum), 2 (for a two character checksum)
  406. and 3 (for a three character CRC).
  407.  
  408.  
  409. SET DEBUG
  410.  
  411. Syntax: SET DEBUG ON or OFF
  412.  
  413. ON      Keep a journal of all packets sent and received in the file KER LOG A1.
  414.         If the file already exists, it is overwritten.
  415.  
  416. OFF     Stop logging the packets.
  417.  
  418.  
  419. SET END-OF-LINE
  420.  
  421. Syntax: SET END-OF-LINE number
  422.  
  423. If the remote system needs packets to be terminated by anything other than car-
  424. riage return, specify the decimal value of the desired ASCII character.  number
  425. must be between 0 and 31 (decimal).
  426.  
  427.  
  428. SET ETOA
  429.  
  430. Syntax: SET ETOA num1 num2
  431.  
  432. This  command  allows you to modify the EBCDIC-to-ASCII translate table used by
  433. Kermit-CMS to conform to your system.  Specify the offset of the  EBCDIC  value
  434. within the table and the new ASCII value for that location.  Both num1 and num2
  435. should be between 0 and 255 (decimal).
  436.  
  437.  
  438. SET FILE
  439.  
  440. Syntax: SET FILE BINARY or TEXT
  441.  
  442. BINARY  Tells CMS Kermit to treat each character as a string of bits and not to
  443.         perform  translation on the data.  Also, no carriage-return is added to
  444.         the end of outgoing records.  Incoming bytes are added to  the  end  of
  445.         the  current  record  which  is written out when the specified LRECL is
  446.         reached.
  447.  
  448. TEXT    Tells CMS Kermit that the file is  plain  text.    ASCII-to-EBCDIC  and
  449.         EBCDIC-to-ASCII  translation  is  performed  on  the  data.    Carriage
  450.         return-linefeed are appended to outgoing records and are used to deter-
  451.         mine the end of incoming records.
  452. IBM VM/CMS KERMIT                                                      Page 114
  453.  
  454.  
  455. SET LRECL
  456.  
  457. Syntax: SET LRECL number
  458.  
  459. Set  the  logical  record length for incoming files to a number from 1 to 65536
  460. (64K).  This variable is used only for fixed format files.  The default is 80.
  461.  
  462.  
  463. SET PACKET-SIZE
  464.  
  465. Syntax: SET PACKET-SIZE number
  466.  
  467. Use the specified number as the maximum length for incoming packets.  The valid
  468. range is 26-94, where 94 is the default.
  469.  
  470.  
  471. SET QUOTE
  472.  
  473. Syntax: SET QUOTE char
  474.  
  475. Use  the  indicated printable character for prefixing (quoting) control charac-
  476. ters and other prefix characters.  The only reason to change this would be  for
  477. sending  a  very  long  file that contains very many "#" characters (the normal
  478. control prefix) as data.  It must be a single character in  the  range:  33-62,
  479. 96, or 123-126 (decimal).
  480.  
  481.  
  482. SET RECFM
  483.  
  484. Syntax: SET RECFM option
  485.  
  486. Set  the  record  format  to use for incoming files.  Valid options are "F" for
  487. fixed format or "V" for variable format.  The default is variable.
  488.  
  489.  
  490. SET SERIES1
  491.  
  492. Syntax: SET SERIES1 ON or OFF
  493.  
  494. Kermit-CMS automatically determines whether you are connected  via  a  Series/1
  495. emulation controller or a TTY line.  This command is provided though so you can
  496. override Kermit-CMS.  When  you  SET  SERIES1  ON,  Kermit  disables  the  3270
  497. protocol  conversion  function by putting the Series/1 into "transparent mode";
  498. this allows Kermit packets to pass through the Series/1 intact.
  499.  
  500.  
  501. SET WARNING
  502.  
  503. Syntax: SET WARNING ON or OFF
  504.  
  505. ON      If an incoming file has the same  name  as  an  existing  file  on  the
  506.         specified  disk,  Kermit will attempt to rename the incoming file so as
  507.         not to destroy (overwrite) the pre-existing one.
  508.  
  509. OFF     Upon a filename collision, the existing file will be  replaced  by  the
  510.         incoming file.
  511. IBM VM/CMS KERMIT                                                      Page 115
  512.  
  513.  
  514.                                THE SHOW COMMAND
  515.  
  516. Syntax: SHOW option
  517.  
  518. Use  to  display  the values of all parameters that can be changed with the SET
  519. command, except for ATOE and ETOA (see the TDUMP command).   option  can  be  a
  520. particular parameter or the keyword "ALL".
  521.  
  522.  
  523.                               THE STATUS COMMAND
  524.  
  525. Syntax: STATUS
  526.  
  527. Returns  the  status of the previous command.  The response will either display
  528. the message "Kermit completed successfully", or the last error encountered.
  529.  
  530.  
  531.                                THE TDUMP COMMAND
  532.  
  533. Syntax: TDUMP table-name
  534.  
  535. Display the contents of table-name since it can be modified using the SET  com-
  536. mand.  The ATOE and ETOA tables can presently be 'dumped'.
  537.  
  538.  
  539.                               CP AND CMS COMMANDS
  540.  
  541. Syntax: CP text of command 
  542. CMS text of command
  543.  
  544. Although Kermit-CMS does not provide explicit commands for managing local files
  545. or interacting with the operating system, it is possible to do so.  You can is-
  546. sue any CP or CMS command, though each word will be truncated to eight  charac-
  547. ters.  You can list, type, rename or delete files, send messages and so on.  At
  548. this time, though, you cannot run another program from Kermit-CMS.
  549.  
  550.  
  551. 8.4. Before Connecting to the Mainframe
  552.  
  553. When connecting to the CMS system as a TTY  device  ("line  at  a  time"  mode)
  554. several flags must first be set on the micro version of Kermit.  You should set
  555. the LOCAL-ECHO flag to ON (this is used to indicate half-duplex).  This is  the
  556. norm  but  not  true  in  every  case; if each character appears twice, set the
  557. LOCAL-ECHO flag OFF.  HANDSHAKE should be set to XON and FLOW-CONTROL should be
  558. set  to  NONE.    The parity should be set according to the system's specifica-
  559. tions.  On some micro versions of Kermit, all of the above is done in one  step
  560. using the DO IBM macro (or SET IBM ON).  Set the baud rate to correspond to the
  561. line speed.
  562.  
  563. When connecting to the CMS system through the Series/1 terminal emulation  con-
  564. troller ("full-screen" mode), certain flags must be set on the micro version of
  565. Kermit.  You should set the LOCAL-ECHO flag to OFF (this is  used  to  indicate
  566. full-duplex).  HANDSHAKE should be set to OFF and FLOW-CONTROL should be set to
  567. XON/XOFF.  For most systems, the PARITY should be set to EVEN.   Set  the  baud
  568. rate  to  correspond  to  the  line  speed.   Immediately after issuing a SEND,
  569. RECEIVE or SERVER command to Kermit-CMS, the screen will be cleared.   This  is
  570. IBM VM/CMS KERMIT                                                      Page 116
  571.  
  572.  
  573. to  make sure the terminal is not stuck in a MORE or HOLDING state before pack-
  574. ets are sent via the full-screen I/O operation.  After  the  file  transfer  is
  575. complete,  and  you  re-connect  to  Kermit-CMS,  you should enter the Series/1
  576. "Master Reset" sequence (probably "CTRL-G") so that the screen is refreshed.
  577.  
  578.  
  579. 8.5. How to build an executable version of Kermit-CMS
  580.  
  581. Kermit-CMS is composed of three assembly language source  files  that  are  as-
  582. sembled  separately  and then linked together.  They are:  KERMIT, NEXTFST, and
  583. WILD.  To create a runnable version:
  584.  
  585.    1. GLOBAL the necessary MACLIBs.  For SP, the MACLIBs used  are  DMSSP,
  586.       CMSLIB and TSOMAC.
  587.  
  588.    2. Make  sure  the source files are named as listed above and are saved
  589.       on disk in fixed format with a logical record length of 80.
  590.  
  591.    3. Assemble the three source files.
  592.  
  593.    4. Load the files into memory via: LOAD KERMIT
  594.  
  595.    5. Create a runnable version called KERMIT MODULE via: GENMOD KERMIT
  596.  
  597.    6. If your site's ASCII/EBCDIC translation table does  not  conform  to
  598.       the  one  listed  in the appendix (which in turn conforms to the one
  599.       given in the IBM System/370 Reference Summary), then enter  the  ap-
  600.       propriate  SET  ATOE/ETOA commands in the SYSTEM KERMINI file.  Note
  601.       that if the ASCII/EBCDIC translation is not invertible, Kermit  will
  602.       not and cannot work.
  603.  
  604. To run CMS Kermit, simply type "KERMIT" to the CMS system prompt.
  605.  
  606.  
  607. 8.6. What's New
  608.  
  609. Below is a list of the more important additions in Version 2.01 of CMS Kermit:
  610.  
  611.    1. Add  prefixing  of the "8th bit".  This allows CMS Kermit to send or
  612.       receive fixed format  binary  data,  such  as  microcomputer  binary
  613.       files.
  614.  
  615.    2. The maximum record length allowed has been increased to 64K for both
  616.       incoming and outgoing files.
  617.  
  618.    3. Repeat count prefixing has been added to speed up transmission.   In
  619.       addition, Kermit-CMS now packs as much data as possible into an out-
  620.       going packet rather than one packet  per  record  (it  makes  a  big
  621.       difference).
  622.  
  623.    4. Support for two character checksum and three character CRC.
  624.  
  625.    5. If  filetype  is not supplied by the remote Kermit, use a default of
  626.       "X" rather than failing.  Also allow the option to rename an  incom-
  627.       ing file upon filename collision.
  628. IBM VM/CMS KERMIT                                                      Page 117
  629.  
  630.  
  631.    6. Add  debugging  mode to log packets and to acknowledge the attention
  632.       if the user types a BREAK.  Add a SHOW ALL command.
  633.  
  634.    7. Allow input to command parser from command line.  Multiple  commands
  635.       should  be  separated  by  the linend character.  After execution of
  636.       these commands, Kermit returns control to CMS.
  637.  
  638.    8. Add support for Series/1 front end.
  639.  
  640.    9. Add server support.
  641.  
  642.   10. Upon startup, read commands from two init files: SYSTEM KERMINI  and
  643.       (USERID)  KERMINI (that is the userid of the person running Kermit).
  644.       Lines with an asterisk as the first character are comments.  Add the
  645.       TAKE command.  The LRECL for these files must be 130 or less.
  646.  
  647.   11. Implement skip file or file group when sending or receiving (in this
  648.       case, discard incoming file).
  649.  
  650.   12. Allow system manager to change ASCII/EBCDIC  translation  tables  to
  651.       conform  to  the various specifications of different systems.  Also,
  652.       bypass user translate tables when sending and receiving data.
  653.  
  654.  
  655. 8.7. What's Missing
  656.  
  657. Work on Kermit-CMS will continue.  Features that need to be improved  or  added
  658. include:
  659.  
  660.    - Allow  timeouts  so CMS Kermit does not wait forever if a packet does
  661.      not arrive in a timely fashion.
  662.  
  663.    - Allow any binary file to be sent  and  received  properly,  not  only
  664.      fixed format binary files.
  665.  
  666.    - Better keyword parsing, which is rather crude at this time.
  667.  
  668.    - Support of the more advanced server functions.
  669.  
  670.    - Addition of a RUN command.
  671.  
  672.    - Ability  to  SET LINE, so that Kermit-CMS can be used as a local Ker-
  673.      mit, connecting to a remote host over another communication port.
  674.