home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / cmsoriginal / cmsv2.mss < prev    next >
Text File  |  2020-01-01  |  26KB  |  686 lines

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