home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / lilith / m2kermdoc.txt < prev    next >
Text File  |  2020-01-01  |  28KB  |  699 lines

  1. Modula-2 Kermit
  2.  
  3. Users-Manual
  4.  
  5.  
  6. Program & Documentation: Matthias Aebi, Inistitut fuer Informatik, University
  7. of Zuerich
  8.  
  9. Language: Modula-2
  10. Version: 1.0 (Lilith implementation)
  11. Date:  March 1986 
  12.  
  13. 1. M2-KERMIT CAPABILITIES AT A GLANCE
  14.  
  15.     Local operation:    Yes
  16.     Remote operation:    No
  17.     Transfers text files:    Yes
  18.     Transfers binary files:    Yes
  19.     Wildcard send:    Yes
  20.     User interruption:    Yes
  21.     Filename collision avoidance:    Yes
  22.     Can time out:    Yes
  23.     8th-bit prefixing:    No
  24.     Repeat count prefixing:    No
  25.     Alternate block checks:    No
  26.     Terminal emulation:    Yes
  27.     Communication settings:    Yes
  28.     Transmit BREAK:    No
  29.     Transaction logging:    No
  30.     Session logging:    No
  31.     Raw transmit:    No
  32.     Act as server:    Yes
  33.     Talk to server:    Yes
  34.     Advanced server functions:    No
  35.     Advanced commands for servers:    No
  36.     Local file management:    Yes
  37.     Handle file attributes:    No
  38.     Command/init files:    No
  39.     Command macros:    No
  40.  
  41.  
  42. M2-Kermit is a program that implements the Kermit file transfer protocol mainly
  43. for the Lilith workstation. It is entirely written in Modula-2. Therefore it
  44. should be no problem to adabt it for other systems that have a Modula-2
  45. compiler. In fact this has been done already for a CP/M computer. This section
  46. will describe the things you should know about Medos, the operating system of
  47. the Lilith, in order to make effective use of Kermit, and then it will describe
  48. breefly how to use the M2-Kermit program. For more information refer to the
  49. 'Kermit Users Guide' and the article 'Kermit, a simple file transfer protocol',
  50. both available from Columbia University. This manual is based on the MS-DOS
  51. Kermit users manual.
  52.  
  53. 2. THE MEDOS FILE SYSTEM
  54.  
  55. The feature of the Medos file system of greatest interest to Kermit users is
  56. the form of the file specifications.
  57.  
  58. Medos file specifications are normally of the form
  59.  
  60.  DEVICE.NAME.TYPE
  61.  
  62. If DEVICE is omitted, DK is assumed. The Medos filesystem is non-hierarchical
  63. and therefore no pathnames are possible. You will never have to specify the
  64. devicename because the current implementation of M2-Kermit will always use the
  65. system-disk (DK) as its working device. So NAME.TYPE is normally sufficient to
  66. specify a file, and only this information is sent along by M2-Kermit with an
  67. outgoing file.
  68.  
  69. The NAME and TYPE fields may contain upper- and lowercase letters, digits, but
  70. no special characters. There may be no imbedded or trailing spaces. Other
  71. characters may not be included; there is no mechanism for "quoting" otherwise
  72. illegal characters in filenames. The fields of the file specification are set
  73. off from one another by the punctuation indicated above. Upper- and lowercase
  74. characters are treated as different by Medos but not by M2-Kermit.
  75.  
  76. The NAME field is the primary identifier for the file. The TYPE, also called
  77. the extension or suffix, is an indicator which, by convention, tells what kind
  78. of file we have. For instance FOO.MOD is the source of a Modula-2 program named
  79. FOO; FOO.OBJ might be the executable program produced by compiling FOO.MOD.
  80.  
  81. Medos allows a group of files to be specified in a single file specification by
  82. including the special "wildcard" characters, "*" and "%". A "*" matches any
  83. string of characters from the current position to the end of the field,
  84. including no characters at all; a "%" matches any single character.  Here are
  85. some examples:
  86.  
  87.  *.MOD    All files of type MOD (all Modula-2 source files) on the system-disk. 
  88.  
  89.  FOO.*    Files of all types with name FOO. 
  90.  
  91.  F*.*    All files whose names start with F. 
  92.  
  93.  F%X*.*    All files whose names start with F and contain X in the third position,
  94.         followed by zero or more characters.
  95.  
  96.  %.*    All files whose names are exactly one character long.
  97.  
  98. Wildcard notation is used on many computer systems in similar ways, and it is
  99. the mechanism most commonly used to instruct Kermit to send a group of files.
  100.  
  101. M2-Kermit users should bear in mind that other systems may use different
  102. wildcard characters. For instance MS-DOS uses "?" instead of "%" as the single
  103. character wildcard; when using M2-Kermit to request a wildcard file group from
  104. a MS-DOS server, the M2-Kermit "%" must be replaced by the MS-DOS "?".
  105.  
  106. Non-Medos systems may well be confused by nonstandard ASCII files from
  107. M2-Kermit. Files produced by Lara for example, may need to be converted to
  108. conventional ASCII format prior to transmission by commonly available
  109. "exporter" programs. Spreadsheet or database files usually need special
  110. formatting to be meaningful to non-Medos recipients (though they can be
  111. transmitted between Lilith systems with M2-Kermit).
  112.  
  113. 3. PROGRAM OPERATION 
  114.  
  115. M2-Kermit can be run interactively from Medos like any other program. To run
  116. M2-Kermit, invoke the program from Medos command level by typing M2Kermit. When
  117. you see the command's prompt,
  118.  
  119.  M2-Kermit>
  120.  
  121. you may type Kermit commands repeatedly until you are ready to exit the
  122. program, for example:
  123.  
  124. *M2Kermit
  125.  
  126. Modula-2 Kermit, Version 1.0 / Lilith
  127.  
  128. For a list of commands type 'Help'
  129.  
  130. M2-Kermit>send foo.* 
  131.  
  132. (informational messages about the files being sent)
  133.  
  134. M2-Kermit>get bar.* 
  135.  
  136. (informational messages about the files being received)
  137.  
  138. M2-Kermit>exit
  139. *
  140.  
  141. During interactive operation, you may edit the command you're currently typing.
  142. To erase the character most recently typed press the DEL key. In addition, you
  143. may use the help ("?") feature freely while typing M2-Kermit commands. A
  144. question mark typed at almost any point in a command produces a brief
  145. description of what is expected or possible at that point.
  146.  
  147. 4. M2-KERMIT COMMANDS
  148.  
  149. Modula-2 Kermit implements a subset of the commands of "ideal" Kermit. Here's a
  150. brief summary:
  151.  
  152.     BYE    to remote server.
  153.     CONNECT    as terminal to remote system.  
  154.     DELETE    local files. 
  155.     DIRECTORY    listing of local files.  
  156.     EXIT    from M2-Kermit. 
  157.     FINISH    Shut down remote server.  
  158.     GET    remote files from server.  
  159.     HELP    about M2-Kermit.  
  160.     LOGOUT    remote server.  
  161.     QUIT    from M2-Kermit 
  162.     RECEIVE    files from remote Kermit. 
  163.     SEND    files to remote Kermit. 
  164.     SERVER    mode of remote operation.  
  165.     SET    various parameters.  
  166.     SHOW    various parameters.  
  167.     TYPE    display a local file. 
  168.     VERSION    display M2-Kermit program version number.
  169.  
  170. 4.1. COMMANDS FOR FILE TRANSFER
  171.  
  172. The file transfer commands are SEND, GET, and RECEIVE. 
  173.  
  174. 4.1.1. THE SEND COMMAND
  175.  
  176. Syntax: SEND filespec1 [filespec2]
  177.  
  178. The SEND command causes a file or file group to be sent from the local system
  179. to the Kermit on the remote system. The remote Kermit may be running in either
  180. server or interactive mode; in the latter case, you should already have given
  181. it a RECEIVE command and escaped back to your machine.
  182.  
  183. filespec1 may not contain a device designator but the wildcard characters "*"
  184. and/or "%". If filespec1 contains wildcard characters then all matching files
  185. will be sent, in the same order that M2-Kermit would show them in a directory
  186. listing. If filespec1 specifies a single file, you may direct M2-Kermit to send
  187. that file with a different name, given in filespec2. For instance, in the
  188. command
  189.  
  190. M2-Kermit>send foo.bar framus.widget
  191.  
  192. filespec2 begins with the first nonblank character after filespec1 and ends
  193. with the carriage return; thus it may contain blanks or other unusual
  194. characters that may be appropriate on the target machine. Lower case letters in
  195. filespec2 are raised to upper case for transmission. This feature may be
  196. disabled. See SET command.
  197.  
  198. If a file can't be opened for read access, standard Medos error message will be
  199. displayed at the screen. For example:
  200.  
  201. FOO.MOD not supported
  202.  
  203. Files will be sent with their filename and filetype (for instance FOO.TXT, no
  204. devicename). Each file is sent as is, with no conversions done on the data.
  205.  
  206. Once you give M2-Kermit the SEND command, the name of each file will be
  207. displayed on your screen as the transfer begins; packet, retry, and other
  208. counts will be displayed along with informational messages during the transfer.
  209. If the file is successfully transferred, you will see "Send successful",
  210. otherwise there will be an error message.
  211.  
  212. To abort while a file transfer is in progress press the ESC key. This will
  213. cause M2-Kermit to return to command level after sending an Error packet to the
  214. remote Kermit in an attempt to bring it back to server or interactive command
  215. level.
  216.  
  217. Press CR to simulate a timeout: resend the current packet, or NAK the expected
  218. one.
  219.  
  220. 4.1.2. THE RECEIVE COMMAND
  221.  
  222. Syntax: RECEIVE [filespec]
  223.  
  224. The RECEIVE command tells M2-Kermit to receive a file or file group from the
  225. other system.  M2-Kermit passively waits for the file to arrive; this command
  226. is not to be used when talking to a Kermit server (use GET for that). You
  227. should already have issued a SEND command to the remote Kermit and escaped back
  228. to M2-Kermit before issuing the RECEIVE command.
  229.  
  230. If the optional filespec is provided, store the incoming file under that name.
  231. The filespec may not include a device designator. The incoming file is stored
  232. on the system-device. If no name was specified, the name from the incoming file
  233. header packet is used; if that name is not a legal Medos file name, M2-Kermit
  234. will delete excessive characters from it, and will change illegal characters to
  235. the letter X.
  236.  
  237. If the optional filespec was provided, but more than one file arrives, the
  238. first file will be stored under the given filespec, and the remainder will be
  239. stored under their own names.
  240.  
  241. If an incoming file does not arrive in its entirety, M2-Kermit will discard it;
  242. it will not appear in your directory.
  243.  
  244. The same single-character commands are available as during SEND:
  245.  
  246. ESC aborts a file transfer in progress and returns to command level after
  247. sending an Error packet to the remote Kermit in an attempt to bring it back to
  248. server or interactive command level.
  249.  
  250. CR simulates a timeout: resend the current packet, or NAK the expected one. 
  251.  
  252. If the incoming file has the same name as a file that already exists, and
  253. WARNING is set ON, M2-Kermit will change the incoming name (and inform you how
  254. it renamed it) so as not to obliterate the pre-existing file. If WARNING is
  255. OFF, the original file will be overwritten.
  256.  
  257. 4.4. THE GET COMMAND
  258.  
  259. Syntax: GET  [filespec] remote-filespec
  260.  
  261. The GET command requests a remote Kermit server to send the file or file group
  262. specified by remote-filespec. This command can be used only when M2-Kermit has
  263. a Kermit server active on the other end of the connection. This means that you
  264. must have CONNECTed to the other system, logged in, run Kermit there, issued
  265. the SERVER command, and escaped back (e.g. ^\ C) to the local M2-Kermit. If the
  266. remote Kermit does not have a SERVER command, then you should use SEND and
  267. RECEIVE as described above.
  268.  
  269. If you provide the optional filespec the incoming file will be stored under
  270. that name.
  271.  
  272. The local file name may not contain a device field. If more than one file
  273. arrives, only the first will be renamed.
  274.  
  275. The remote filespec is any string that can be a legal file specification for
  276. the remote system; it is not parsed or validated locally. It can contain
  277. whatever wildcard or file-group notation (including blanks) is valid on the
  278. remote system. As files arrive, their names will be displayed on your screen,
  279. along with packet traffic statistics and status messages. You may type ESC to
  280. return immediately to the M2-Kermit> prompt, exactly as described for the
  281. RECEIVE command.
  282.  
  283. 4.2. COMMANDS FOR TERMINAL CONNECTION
  284.  
  285. The CONNECT command connects your Lilith as a terminal to the remote system, so
  286. that you can start up Kermit there. The BYE, FINISH, and LOGOUT commands allow
  287. you to shut down a remote Kermit server:
  288.  
  289. 4.2.1. THE BYE COMMAND
  290.  
  291. When communicating with a remote Kermit server, use the BYE command to shut
  292. down the server, log out its job, and exit locally from M2-Kermit to Medos.
  293.  
  294. 4.2.2. THE FINISH COMMAND
  295.  
  296. Like BYE, FINISH shuts down the remote server. However, FINISH does not log out
  297. the server's job. You are left at M2-Kermit prompt level so that you can
  298. connect back to the job on the remote system.
  299.  
  300. 4.2.3. THE LOGOUT COMMAND
  301.  
  302. The LOGOUT command is identical to the BYE command, except you will remain at
  303. M2-Kermit prompt level, rather than exit to Medos, so that you can establish
  304. another connection.
  305.  
  306. 4.2.4. THE CONNECT COMMAND
  307.  
  308. Establish an interactive terminal connection to the system connected to the
  309. currently selected communications port (on the Lilith there is only one port)
  310. using full duplex (remote) echoing and no parity unless otherwise specified in
  311. previous SET commands. Get back to M2-Kermit by typing the escape character
  312. followed by the letter C. On most systems the escape character is Control-\ by
  313. default.
  314.  
  315. You can use the SET ESCAPE command to define a different escape character and
  316. SET BAUD to change the baud rate, and SET PORT to switch between ports (SET
  317. PORT has no effect on a Lilith). For more information refer to the SET command
  318. description.
  319.  
  320. 4.3. COMMANDS FOR FILE MANAGEMENT
  321.  
  322. M2-Kermit offers three commands for managing local files. 
  323.  
  324. 4.3.1. THE DELETE COMMAND 
  325.  
  326. Syntax: DELETE filespec
  327.  
  328. Deletes the specified file or files. As in Medos, the names of the deleted
  329. files are listed, and you are prompted for yes or no for each single file.
  330. Upper- and lower-case characters are treated equal.  Wildcards are allowed.
  331.  
  332. 4.3.2.  THE DIRECTORY COMMAND 
  333.  
  334. Syntax: DIRECTORY [filespec]
  335.  
  336. Lists the names of files that match the given file specification. If no
  337. filespec is given, the command is equivalent to DIR *. Upper- and lower-case
  338. characters are treated equal.
  339.  
  340. 4.3.3. THE TYPE COMMAND 
  341.  
  342. Syntax: TYPE filespec
  343.  
  344. Displays the specified local file on the screen. Do not try to display a binary
  345. file because this may lead to a system crash. The display of a file may be
  346. stopped and resumed by pressing any key.  ESC aborts the command.
  347.  
  348. 4.4. THE SERVER COMMAND
  349.  
  350. M2-Kermit is capable of acting as a Kermit server, providing file transfer for
  351. users coming in through one of the communication ports. The current version of
  352. M2-Kermit can send files (the user on the other end types the GET command),
  353. receive files (the user types SEND), and terminate, giving control back to the
  354. console (user types BYE).
  355.  
  356. To put M2-Kermit into server mode, first issue any desired SET commands to
  357. select and configure the desired port, and then type the SERVER command.
  358. M2-Kermit will await all further instructions from the user Kermit on the other
  359. end of the connection, which may be hardwired or connected through an
  360. autoanswer modem. For example:
  361.  
  362.  M2-Kermit>set baud 1200
  363.  M2-Kermit>set timer on
  364.  M2-Kermit>set warning on
  365.  M2-Kermit>server
  366.  
  367. 4.5. THE SET COMMAND
  368.  
  369. Syntax: SET parameter value
  370.  
  371. Establish or modify various parameters for file transfer or terminal
  372. connection. You can examine their values with the SHOW command. The following
  373. SET commands are available in M2-Kermit:
  374.  
  375. BAUD    Communications port line speed   
  376. CHECK-TYPE    Level of error checking for file transfer  
  377. DEBUG    Display packet contents during file transfer  
  378. END-OF-LINE    Packet terminator   
  379. ESCAPE    Escape character for CONNECT
  380. FILE-TYPE    Specify the type of file to be transmitted (Text or Binary)
  381. LOCAL-ECHO    Specify which host does the echoing during CONNECT
  382. NAME-CONVERSION    Specify whether filenames should be 'normalized' or not
  383. PACKET-LENTH    Maximum length of a Kermit packet
  384. PADCHAR    Use this character for padding
  385. PADDING    How many padding characters should be sent
  386. PARITY    Character parity to use   
  387. PORT    Select a communications port
  388. PREFIX    Specify prefix character for 8-th bit prefixing
  389. PROMPT    Change the "M2-Kermit>" prompt to something else
  390. RETRIES    Maximum number of retries before abort
  391. SET QUOTE    Specify character for prefixing (quoting) control characters
  392. START-OF-PACKET    Strart each packet with this character (nomally ASCII 01)
  393. TIMEOUT    Timeout after how many seconds
  394. TIMER    Enable/disable timeouts during file transfer
  395. WARNING    Specify how to handle filename collisions 
  396.  
  397. The SET commands are now described in greater detail.
  398.  
  399. 4.5.1. THE SET BAUD COMMAND
  400.  
  401. Syntax: SET BAUD rate
  402.  
  403. Set the speed of the communications port to 300, 600, 1200, 2400, 4800, 9600
  404. bit/s. M2-Kermit initializes the communication port baud rate to 9600 bit/s.
  405.  
  406. 4.5.2. THE SET CHECK-TYPE COMMAND
  407.  
  408. Syntax: SET CHECK-TYPE 1 or 2 or 3
  409.  
  410. Set the block check type to level 1 to 3. Check type 1 is a one byte checksum.
  411. This is currently the only level of block checking supported by M2-Kermit and
  412. therefore default.
  413.  
  414. 4.5.3. THE SET DEBUG COMMAND
  415.  
  416. Syntax: SET DEBUG ON or OFF
  417.  
  418. ON Display the Kermit packet traffic on your screen during file transfer. 
  419.  
  420. OFF Don't display debugging information (this is the default). If debugging was
  421. in effect, turn it off.
  422.  
  423. Be careful not to select debugging mode when transmitting binary files. The
  424. Screen I/O Module will not like characters with high bit on. Therefore do not
  425. set DEBUG ON while transferring binary data.
  426.  
  427. 4.5.4. THE SET END-OF-LINE COMMAND
  428.  
  429. Syntax: SET END-OF-LINE number
  430.  
  431. If the remote system needs packets to be terminated by anything other than
  432. carriage return, specify the decimal value of the desired ASCII character.
  433.  
  434. 4.5.5. THE SET ESCAPE COMMAND
  435.  
  436. Syntax: SET ESCAPE character
  437.  
  438. Specify the control character you want to use to "escape" from remote
  439. connections back to M2-Kermit. The default is normally ^\ (Control-Backslash).
  440. The character is entered literally, and should normally be chosen from the
  441. ASCII control range.
  442.  
  443. 4.5.6. THE SET FILE-TYPE COMMAND
  444.  
  445. Syntax: SET FILE-TYPE BINARY or TEXT
  446.  
  447. If you specify the file type to be a text file, Kermit will automatically
  448. convert between the different end of line representations on different computer
  449. systems. Besides this it will also strip the high bit of each character which
  450. is necessary because this bit is used for parity information. If you specify a
  451. file to be binary, it will be sent or received without any changes.
  452.  
  453. 4.5.7. THE SET LOCAL-ECHO COMMAND
  454.  
  455. Syntax: SET LOCAL-ECHO ON or OFF
  456.  
  457. Specify how characters are echoed during terminal emulation. ON specifies that
  458. characters are to be echoed by M2-Kermit (because neither the remote computer
  459. nor the communications circuitry has been requested to echo), and is
  460. appropriate for half-duplex connections. LOCAL-ECHO is OFF by default, for
  461. full-duplex, remote echo operation.
  462.  
  463. 4.5.8. THE SET NAME-CONVERSION COMMAND
  464.  
  465. Syntax: SET NAME-CONVERSION ON or OFF
  466.  
  467. Because different computer systems have different rules for filenames, Kermit
  468. normally converts these names to a standard representation which means there
  469. are no special characters and only uppercase letters. If you transfer files
  470. between the two computers using the same operating system, they have the same
  471. filename rules anyway. In this case you may specify NAME-CONVERSION off to
  472. transmit the filenames without any changes.
  473.  
  474. 4.5.9. THE SET PACKET-LENGTH COMMAND
  475.  
  476. Syntax: SET PACKET-LENGTH value
  477.  
  478. The maximal packetsize for a Kermit packet is normally 94 including the
  479. checksum bytes (always one for M2-Kermit). If you use a communications line
  480. without frequent distortions this will give you a minimum of overhead for
  481. packet frames. If the line you have to use isn't very reliable you may use
  482. shorter packets to reduce the overhead for retransmitting packets which have
  483. been corrupted. Normally, M2-Kermit uses whatever length the other Kermit
  484. requests.
  485.  
  486. 4.5.10. THE SET PADCHAR COMMAND
  487.  
  488. Syntax: SET PADCHAR value
  489.  
  490. Use the specified character for interpacket padding. Some hosts may require
  491. some padding characters (normally NUL) before a packet. Specify the decimal
  492. value of the desired ASCII character.
  493.  
  494. 4.5.11. THE SET PADDING COMMAND
  495.  
  496. Syntax: SET PADDING value
  497.  
  498. Specify the number of padding characters to be sent between packets. This is
  499. may be useful if the remote system is slow and needs some extra time to handle
  500. each packet sent to it. PADDING is normally zero.
  501.  
  502. 4.5.12. THE SET PARITY COMMAND
  503.  
  504. Syntax: SET PARITY keyword
  505.  
  506. Specify the character parity to be used. The choices for SET PARITY are NONE
  507. (the default), ODD, EVEN, MARK, and SPACE. NONE means no parity processing is
  508. done, and the 8th bit of each character can be used for data when transmitting
  509. binary files.
  510.  
  511. You will need to SET PARITY to ODD, EVEN, MARK, or possibly SPACE when
  512. communicating with a system, or over a network, or through modems,
  513. concentrators, multiplexers, or front ends that require or impose character
  514. parity on the communication line. For instance, GTE Telenet requires MARK
  515. parity. If you neglect to SET PARITY when the communications equipment requires
  516. it, the symptom may be that terminal emulation works partially, and file
  517. transfer does not work at all.
  518.  
  519. If you have set parity to ODD, EVEN, MARK, or SPACE, then M2-Kermit will
  520. request that binary files will be transferred using 8th-bit-prefixing. If the
  521. other side knows how to do 8th-bit-prefixing (this is an optional feature of
  522. the Kermit protocol, and not all implementations of Kermit have it), then
  523. binary files can be transmitted successfully. If NONE is specified, 8th-bit-
  524. prefixing will not be requested. Note that there is no advantage to using
  525. parity; it only slows Kermit file transfer down. The SET PARITY command is
  526. provided only to allow Kermit to adapt to hardware that insists upon using
  527. parity. M2-Kermit does currently not allow 8-bit prefixing. Therefore if you
  528. want to transmit binary files you must set PARITY to NONE or the transmission
  529. will not work correctly. M2-Kermit is not yet able to handle 8-th bit
  530. prefixing.
  531.  
  532. 4.5.13. THE SET PORT COMMAND
  533.  
  534. Syntax: SET PORT number 
  535.  
  536. On machines with more than one communications port, select the port to use for
  537. file transfer and CONNECT. This command lets you use a different asynchronous
  538. adapter, or switch between two or more simultaneous remote sessions. Subsequent
  539. SET BAUD, PARITY and LOCAL-ECHO commands will apply to this port only. SET PORT
  540. has currently no effect for the Lilith which has only one port.
  541.  
  542. 4.5.14. THE SET PREFIX COMMAND
  543.  
  544. Syntax: SET PREFIX character
  545.  
  546. Use the indicated printable character for 8th-bit prefixing. This has an effect
  547. only if you try to transmit a binary file over a 7 bit data path, i.e. a line
  548. which needs parity. Because M2-Kermit is not able to handle 8-th prefixing SET
  549. PREFIX has currently no effect.
  550.  
  551. 4.5.15. THE SET PROMPT COMMAND
  552.  
  553. Syntax: SET PROMPT character-string
  554.  
  555. Change the prompt string (Kermit-M2) to the given character-string.
  556.  
  557. 4.5.16. THE SET QUOTE COMMAND
  558.  
  559. Syntax: SET QUOTE character
  560.  
  561. Use the indicated printable character for prefixing (quoting) control
  562. characters and other prefix characters. The only reason to change this would be
  563. for sending a very long file that contains very many "#" characters (the normal
  564. control prefix) as data.
  565.  
  566. 4.5.17. THE SET RETRIES COMMAND
  567.  
  568. Syntax: SET RETRIES value
  569.  
  570. Set the number of retries before a command is to be aborted. This is set to 13
  571. by default.
  572.  
  573. 4.5.18. THE SET START-OF-PACKET COMMAND
  574.  
  575. Syntax: SET START-OF-PACKET value
  576.  
  577. Mark the beginning of outbound packets with some control character other than
  578. Control-A. This will be necessary only if the remote host or the communication
  579. channel involved cannot accept a Control-A as data.
  580.  
  581. 4.5.19. THE SET TIMEOUT COMMAND
  582.  
  583. Syntax: SET TIMEOUT value
  584.  
  585. Change M2-Kermit's normal timeout interval; this command is effective only if
  586. TIMER is set to be ON; it is normally ON so that M2-Kermit can control
  587. timeouts. The timeout interval is specified in seconds.
  588.  
  589. 4.5.20. THE SET TIMER COMMAND
  590.  
  591. Syntax: SET TIMER ON or OFF
  592.  
  593. Enable or disable the timer that is used during file transfer to break the
  594. deadlock that occurs when an expected packet does not arrive. By default, the
  595. timer is ON. If M2-Kermit is used in conjunction with a mainframe that is doing
  596. its own timeouts it should be set OFF. During a file transfer, it is sufficient
  597. for one side to do the timing out and the mainframe is usually better equipped
  598. to adjust timeout intervals based on system load or other conditions. The timer
  599. should be set ON if you are communicating with a mainframe that cannot do
  600. timeouts, such as IBM VM/CMS Kermit.
  601.  
  602. 4.5.21. THE SET WARNING COMMAND
  603.  
  604. Syntax: SET WARNING ON or OFF
  605.  
  606. Specify what to do when an incoming file has the same name as an existing file.
  607. If ON, Kermit will warn you when an incoming file has the same name as an
  608. existing file, and automatically rename the incoming file (as indicated in the
  609. warning message) so as not to destroy (overwrite) the pre-existing one. If OFF,
  610. the pre-existing file is destroyed, even if the incoming file does not arrive
  611. completely.
  612.  
  613. The new name is formed by appending '.V' and a version number to the name until
  614. a unique name is found. For instance, ABC.TXT becomes ABC.TXT.V1, then
  615. ABC.TXT.V2, ABC.TXT.V3, ..., ABC.TXT.V10, ABC.TXT.V11, etc. 
  616.  
  617. 4.6. THE SHOW COMMAND
  618.  
  619. Syntax: SHOW
  620.  
  621. Most parameters that may be altered with SET commands are displayed by the SHOW
  622. command.
  623.  
  624. 4.7 TERMINAL EMULATION
  625.  
  626. When you issue the CONNECT command, your Lilth acts as a terminal connected to
  627. a remote computer through the serial I/O port. The characters you type are sent
  628. out the port, and characters that arrive at the port are displayed on your
  629. screen. If you have SET LOCAL-ECHO ON, then M2-Kermit will display characters
  630. on the screen as you type them. If LOCAL-ECHO is OFF, then XON/XOFF flow
  631. control will be done. If you have SET PARITY to anything other than NONE,
  632. M2-Kermit will add the appropriate parity to each outbound character, and strip
  633. any parity from incoming ones. While CONNECTed, you can also communicate with
  634. an autodialer or "smart modem" to control the communications line, hang it up,
  635. and the like; for instance, typing +++ to a Hayes-like modem will allow you to
  636. follow that by dialing or hangup commands.
  637.  
  638. The terminal currently emulated by M2-Kermit is only a dumb terminal without
  639. any screen control features.
  640.  
  641. The escape character is used to regain the attention of M2-Kermit. When you
  642. type the escape character, M2-Kermit waits for you to follow it with a single
  643. character command. For instance, the single-character-command "?" produces a
  644. list of available single character commands, such as this:
  645.  
  646. ?    Help -- prints the available single-character commands. 
  647. C    Close the connection and return to M2-Kermit prompt level. 
  648. S    Show the status of the connection. 
  649. 0    (the digit zero) Transmit a NUL (ASCII 0). 
  650. ^\    (or whatever you have set the escape character to be) Typing the escape
  651.          character twice sends one copy of it to the connected host.
  652.  
  653. The escape character can be changed to something other than Control-Backslash
  654. by using the SET ESCAPE command.
  655.  
  656. 5. WHAT'S MISSING
  657.  
  658. M2-Kermit has plenty of room for improvement. Features that may be improved or
  659. added include:
  660.  
  661. %    A built-in facility for sending files "raw" to the remote system,
  662.         obeying current settings for parity, flow control, handshake, and so
  663.         forth.  This might include a script interpretation facility to allow
  664.         remote sessions to be conducted automatically.
  665.  
  666. %    Additional functionality when running in server mode -- help, directory
  667.         listings, file deletion, listing files, execution of local commands,
  668.         etc. 
  669.  
  670. %    Possibility to use remote commands when talking to servers -- REMOTE
  671.         RENAME, HELP, DIR, COPY, STATUS, WHO, etc.
  672.  
  673. %    Allowance for file specifications, including device names, in all
  674.         commands.
  675.  
  676. %    Transaction file logging.
  677.  
  678. %    Improved command parsing; for instance, accept default values for
  679.         omitted trailing fields.
  680.  
  681. %    Support for Kermit file attribute packets.
  682.  
  683. %    8-th bit prefixing
  684.  
  685. %    Repeat count prefixing
  686.  
  687. %    Alternate block checks
  688.  
  689. %    More sophisticated terminal emulation
  690.  
  691. %    Session logging
  692.  
  693. %    Allowance for command / init files
  694.  
  695. %    Command macros
  696.  
  697. %    Use of pulldown-menus and windows
  698.  
  699.