home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / pdp11 / k11mit.mss < prev    next >
Text File  |  2020-01-01  |  82KB  |  1,859 lines

  1. @part(K11MIT,root="kuser")
  2. @comment{-at-NewChapter(PDP11)}
  3. @Chapter(PDP-11 Kermit)
  4. @label<-k11> @Index(PDP-11) @Index(RT-11) @Index(RSX-11) @Index(RSTS/E)
  5.      
  6. @begin<description,leftmargin +20,indent -20,spread 0>
  7. @i(Author:)@\Brian Nelson, University of Toledo, Ohio
  8.  
  9. @i(Documentation:)@\Brian Nelson
  10.  
  11. @i(Language:)@\Macro-11
  12.  
  13. @i(Version:)@\3.60
  14.  
  15. @i(Date:)@\June, 1989
  16.  
  17. @i(Systems Supported:)@\RSTS/E, RSX-11M/M+, P/OS, Micro-RSX, RT-11 and TSX+    
  18. @End(Description)
  19. @SubHeading(Kermit-11 Capabilities At A Glance:)
  20. @begin<format,leftmargin +2,above 1,below 1, FaceCode R>
  21. @tabclear()@tabset(3.5inches,4.0inches)
  22. @Index(capabilities)
  23.  
  24. Local operation:@\Yes
  25. Remote operation:@\Yes
  26. Transfer text files:@\Yes
  27. Transfer binary files:@\Yes
  28. Wildcard send:@\Yes
  29. File transfer interruption:@\Yes
  30. Filename collision avoidance:@\Yes
  31. Can time out:@\Yes
  32. 8th-bit prefixing:@\Yes
  33. Repeat count prefixing:@\Yes
  34. Alternate block checks:@\Yes
  35. LONG Packet protocol support:@\Yes
  36. Sliding Windows protocol support:@\No
  37. Terminal emulation:@\Yes
  38. Communication settings:@\Yes
  39. Transmit BREAK:@\Yes (depends on system)
  40. IBM mainframe communication:@\Yes
  41. Transaction logging:@\Yes
  42. Session logging:@\Yes
  43. Debug logging:@\Yes
  44. Packet logging:@\Yes
  45. Act as server:@\Yes
  46. Talk to server:@\Yes
  47. Advanced server functions:@\Yes
  48. Local file management:@\Yes
  49. Command/Init files:@\Yes
  50. File attributes packets:@\Yes
  51. Command macros:@\No
  52. Raw file transmit:@\Yes
  53. @End(Format)
  54. @NewPage()
  55. @Section(File Systems on the PDP-11)
  56. @SubSection(File Specifications)
  57. @Index(file specifications)
  58.  
  59. The general format of a file name is:
  60.  
  61. @q<NODE::DEVICE:[DIRECTORY]NAME.TYPE;VERSION>
  62.  
  63. 'Node' refers to the DECNET node name, for example, @q<FUBAR::>, if
  64. applicable.  'Device', if present, refers to the physical device or logical
  65. name where the file resides.
  66.  
  67. For RSTS/E, 'device' can be a physical device, such as @q<DB0:> or @q<DU1:>,
  68. or it can be a user or system logical name which may include both a physical
  69. device name and a directory name.  If the device name is a logical name, is it
  70. composed of 1 to 9 alphanumeric characters, including '@q<$>', as in
  71. @q<DISK$ONE:>, @q<LB:> and so on.  For instance, the DCL system command
  72. @Index(RSTS/E)
  73. @example<$ ASS/SYS DB1:[200,210] SRC$DIR>
  74.  would associate both the device @q<DB1:> and directory @q<[200,210]> with
  75. @q<SRC$DIR:>.  Explicitly given directories override directory names imbedded
  76. in a logical name.  Names longer than nine characters are truncated by the
  77. executive.
  78.  
  79. In the case of RSX-11M/M+ and RT-11, the device name can be either a physical
  80. name, such as @q<DU0:>, or a logical name which will translate to a physical
  81. device name, such as @q<LB:>.
  82.  
  83. On RSTS/E and RSX-11M/M+, the [directory] is a UIC (user identification code)
  84. or PPN (project,programmer) number of the format [NNN,MMM].  All users are
  85. assigned a UIC (or PPN) when accounts are created, this is the number you give
  86. to LOGIN to log into the system.  It is also your default UIC (or PPN).
  87. Micro-Rsx and P/OS may have directories in either UIC format or named
  88. directory format, such as @q<[1,2]> or @q<[KERMIT]>.  For P/OS, the default
  89. directory is @q<[USERFILES]>.  Directories are not used in RT-11.
  90.  
  91. The NAME field is the primary identifier for the file.  The name can be one to
  92. nine characters for RSX-11M/M+ and P/OS, and one to six characters for RSTS/E,
  93. RT-11 and TSX+.  The TYPE field is usually used to group files according to
  94. some convention.  For example, @q<XXX.FTN> refers to a Fortran-77 source file,
  95. @q<FOO.C> to a 'C' source file, and @q<K11POS.TSK> refers to a task image.
  96.  
  97. The version field is applicable ONLY to RSX type systems.  The default
  98. version is always the highest version number.
  99.  
  100. All systems mentioned support some sort of filename wildcarding, the
  101. flexibility of which varies by executive.  All support the use of '@q<*>' to
  102. represent either a fully wildcarded NAME or TYPE.  RSTS/E supports the use of
  103. '@q<?>' to match any single character, whereas the others use a '@q<%>' to
  104. match any single character.  The RSTS/E Kermit server will translate '@q<%>'
  105. to '@q<?>' internally for the GET and REMOTE DIR commands (see the section on
  106. Kermit-11 server operation).
  107.  
  108. Examples of wildcarded filenames:
  109.  
  110. @Begin(Description)
  111. @Index(Wildcard)
  112. @q<*.B2S>@\Match any file with a TYPE of B2S.
  113.  
  114. @q<K11%%%.MAC>@\match any file starting with K11, followed by one to three
  115. characters, with a TYPE of MAC.
  116.  
  117. @q<K11???.MAC>@\Same as above, but for RSTS/E only.
  118.  
  119. @q<XYZ.*;*>@\All versions of files with a NAME of XYZ with any TYPE (RSX-11M/M+
  120. and P/OS only).
  121. @End(description)
  122.  
  123. @SubSection[File Formats (Binary and Text)]
  124.  
  125. @Paragraph(RT-11 and TSX+)
  126. @Index(RT-11) @Index(TSX+)
  127.  
  128. RT-11 treats all files as a contiguous stream of characters.  There is no
  129. information stored in the directory to tell the system (or program) that a
  130. file is readable text (source program, runoff document,...)  or consists of
  131. binary data (executable program, object file, @q<.SYS> file,...).  An
  132. application program like Kermit-11 needs to know what type of file to expect,
  133. thus the presence of the SET FILE TYPE command (discussed later).  The only
  134. real convention is that text files are streams of seven bit data with each
  135. record terminated by a carriage return/line feed character sequence and that
  136. binary files normally follow a filename TYPE convention.  The TYPE (@q<.SAV>,
  137. @q<.SYS>, ...) is what Kermit-11 will look at to decide if a file should be
  138. sent as a text or binary file.
  139.  
  140. @Paragraph(RSTS/E, P/OS and RSX-11M/M+)
  141. @Index(RSTS/E) @index(P/OS) @index(RSX-11M)
  142.  
  143. These systems can provide for a large number of file attributes for each file
  144. by using either FCS11 (RSX-11M/M+) or RMS11 (all).  Text files are normally
  145. considered to be either STREAM format (FB$STM) or VARIABLE with implied
  146. carriage control (FB$VAR and FB$CR).  RSTS/E has historically defaulted to
  147. STREAM, whereas the RSX based systems use VARIABLE.  Kermit-11 follows those
  148. defaults when creating files unless told to do so otherwise by the presence of
  149. attribute data.  The conversion of the internal data representation to one
  150. that can be transmitted to another Kermit is transparent for these types of
  151. files.  Both the file attributes and the filename TYPE are examined by
  152. Kermit-11 to determine if a file needs to be sent as a text file (default) or
  153. a binary file.  Additionally, on RSTS/E Kermit checks the file protection
  154. code, as one of the bits in it is used to flag an executable file (bit 6).
  155.  
  156. In all cases, unless (at this time) Kermit-11 is talking to another Kermit-11,
  157. or if Kermit-11 can't tell if a file is consists of binary data, the command
  158. SET FILE TYPE FIXED must be used to force Kermit to either send or get a
  159. non-text file correctly.  When Kermit-11 is running in binary mode, all data
  160. is read from (or written to) the file without any translation or internal
  161. record control information.  Any attribute information in the file's directory
  162. entry is ignored and the data read (or written) in 512 byte unformatted
  163. blocks.  Thus it is indeed possible to transfer files like task images and
  164. object libraries.  Since Kermit-11 supports a subset of a protocol feature
  165. called 'attributes', two Kermit-11's connected together can also correctly
  166. transfer files other than simple text and unformatted binary files, such as
  167. RMS indexed or relative files.
  168.  
  169. @SubSection(Saving Files on the PDP-11 From Your Microcomputer)
  170. @Index(saving files)
  171.  
  172. You can send textual files to Kermit-11 without any special considerations as
  173. Kermit-11 defaults to creating normal text files.  However, if you are sending
  174. a binary file (perhaps an @q<.EXE>) from say, your Rainbow under MS-DOS, you
  175. would need to tell Kermit-11 to expect binary data.  This is done with the
  176. Kermit-11 command SET FILE TYPE FIXED.  This will force Kermit-11 to write the
  177. data out exactly as it comes, in 512 byte unformatted records.  Sending the
  178. same file back to the Rainbow would not require any special action since the
  179. file, as it sits on the PDP-11, has the proper information in the directory
  180. entry to tell Kermit-11 that the file is binary.  As a note, for RT-11 you
  181. would need to use a filetype that is normally considered 'binary' like
  182. @q<.SAV> or @q<.OBJ> (see above notes for RT-11).
  183. @Index(fixed file type)
  184.  
  185. Never try to do a wildcarded send with mixed binary and text files with the
  186. file type set to FIXED.  The result could be unusable as not all systems store
  187. text data in the same internal format.  For example, if Kermit-11 is forced
  188. into binary mode (via SET FIL TYP FIX) and is requested to send a file with
  189. implied carriage control (normal for RSX text files), it will actually send,
  190. for each line, two bytes representing the record length, followed by the data
  191. and then followed by a ASCII NUL to pad the record to an even length.  That is
  192. not incorrect, rather, it is EXACTLY how the data was stored on disk.
  193.  
  194. In general, avoid sending anything other than unformatted binary files and
  195. text file to unlike systems.  For example, requesting a RMS indexed file from
  196. the PDP-11 to be sent to a PC would case Kermit-11 to send it as a binary
  197. file, but the file attributes would be lost.  Sending such a file back to the
  198. PDP-11 would result in an unusable file unless you could reconstruct the
  199. attribute information.
  200.  
  201. @SubSection(Program Operation)
  202.  
  203. Kermit-11's prompt is normally "Kermit-11>".  This can be  changed  if
  204. need  be  via the SET PROMPT command.  Invoking Kermit-11 is very site
  205. dependent.
  206.  
  207. @Paragraph(RSTS/E)
  208. @Index(RSTS/E)
  209.  
  210. If Kermit-11 has a ccl definition, it would likely be invoked as "KER" or
  211. "KERMIT".  If not, try "RUN $KERMIT", as this is a likely place where
  212. Kermit-11 may have been put.  Otherwise consult your local support staff.
  213.  
  214. @Paragraph(RSX-11M/M+)
  215.  
  216. If Kermit-11 has been installed, it most likely will have a task name of
  217. @q<...KER> which means that typing "KER" should get things running.  If not,
  218. consult your local support staff.
  219.  
  220. @Paragraph(RT-11/TSX+)
  221. @Index(RT-11) @index(TSX+)
  222.  
  223. On version 5 of RT-11, programs can be run simply by typing the filename.
  224. Thus, if there is a file @q<SY:KERMIT.SAV>, simply type "KERMIT".  If this
  225. fails, contact your local support staff for assistance.
  226.  
  227. @Paragraph(P/OS)
  228. @Index(P/OS)
  229.  
  230. Kermit-11 is generally run from DCL on P/OS.  The program  is  invoked
  231. via  the DCL RUN command, as in RUN K11POS or RUN KERMIT, depending on
  232. what the task image name is.
  233.  
  234.  
  235. Note that for the case where  Kermit  is  installed  (for  RSTS/E  and
  236. RSX-11M/M+) that Kermit-11 can get command line arguments, as in:
  237. @Begin(example)
  238. @tabclear()@tabset(2.5inch)
  239. $ KER SERV@\@r(Kermit starts as a server.)
  240. > KER send fubar.txt@\@r(Kermit sends the file.)
  241. @End(example)
  242. Otherwise, the  program  is  run  interactively  from  the  Kermit-11>
  243. prompt:
  244. @Begin(example)
  245. @tabclear()@tabset(2.5inch)
  246. $ KERMIT
  247. Kermit-11 V3.54
  248. Kermit-11>SET BLO 3@\@r<Changes checksum type.>
  249. Kermit-11>SER@\@r<Enter Kermit server.>
  250. @End(example)
  251.  
  252. Note that whenever Kermit-11 starts up, it will always try to find a file
  253. called @q<KERMIT.INI> in your current directory.  This file can contain any
  254. valid Kermit command, though the usual use of this is to place various
  255. Kermit-11 SET commands in it.  If this file does NOT exist, it will try to
  256. find it in @q<LB:[1,2]KERMIT.INI> (excluding RT-11).  In addition to the
  257. @q<.INI> file, commands may be placed in a file and then executed via the
  258. Kermit-11 TAKE (or @@) command.
  259.  
  260. @Section(Local and Remote Operation)
  261. @Index(local operation) @Index(remote operation)
  262.  
  263. Kermit-11 by default assumes that all file transfers will occur over the
  264. terminal line that you are currently logged in on (@q<TI:>, @q<TT:>, @q<KB:>).
  265. This is known as REMOTE mode (the PDP-11 is the remote system).  This would be
  266. the desired case if you are running Kermit on a microcomputer such as a
  267. Rainbow and are currently logged into the PDP-11 through the micro.  However,
  268. if you wanted to dial out, say by an autodial modem, from the PDP-11 to
  269. another system, you need to tell Kermit-11 to use some other terminal line.
  270. This would be called LOCAL mode (the PDP-11 is the local system).  The line
  271. can be altered with the SET LINE command (see section on SET and CONNECT).  A
  272. SET LINE command is done implicitly if Kermit-11 finds itself running on a
  273. PRO/350, under either P/OS, RT-11 or TSX+.
  274.  
  275. Since support of parity varies by both interface type (DL11 vs DZ11) and by
  276. operating system, Kermit-11 makes NO attempt to find out what the current
  277. parity of it's line is.  Kermit-11 generates it's own parity which is set with
  278. the SET PARITY command.
  279.  
  280. There are a couple of things to  point  out  regarding  Kermit-11  and
  281. LOCAL mode (you did a SET LINE command):
  282. @Begin(itemize)
  283. The system manager may have lines other than your  own  protected
  284. (or  owned  by  the  system).   On  RSTS/E  lines  are often made
  285. unaccessible   unless   your   account   possesses   the   needed
  286. privilege(s).   On  RSX-11M/M+,  privilege  is  required to alter
  287. settings on any other terminal line.  You may  have  to  talk  to
  288. your system manager to get access to an outgoing terminal line.
  289.  
  290. Once connected to a modem through  another  line,  a  means  must
  291. exist  for  the  connection  to  be  broken  (if the host you are
  292. calling won't do it).  Given that your line has full  or  partial
  293. modem  control  (DZV11,  DZ11, DH11, DHU/V11) the RSX, RT-11/TSX+
  294. and RSTS/E Kermits have a HANGUP (or DISCONNECT)  command,  which
  295. instructs  the  system  to  disconnect the modem.  Unless this is
  296. done, you never get disconnected and could run up  a  tidy  phone
  297. bill.
  298. @End(itemize)
  299.  
  300. Kermit-11 has, as of v3.53, a rudimentary command line editor.  You can recall
  301. previous commands with the UP-Arrow key, and exit the command with the LEFT
  302. and RIGHT arrow keys.  The RUBOUT key, of course, deletes characters, while
  303. the Control-R key retypes the line.  Control-E moves to the end of the line
  304. and Control-H moves to the start of the line.
  305.  
  306. @Section(Kermit-11 Commands)
  307.  
  308. Kermit-11 has the following commands available:
  309. @Index(Kermit-11 Commands)
  310. @Begin(Format,spread 0)
  311. @tabclear()@tabset(1.25inches)
  312.  @@@\  Synonym for TAKE
  313.  BYE@\  Logout a remote server
  314.  CONNECT@\  Connect to a remote system
  315.  COPY@\  Local copy of a file(s)
  316.  CWD@\  Set new working directory
  317.  DELETE@\  Local delete of a file(s)
  318.  DIAL@\  Have a connected modem dial a number
  319.  DIRECT@\  Local directory display
  320.  DISCONNECT@\  Hangup a remote line
  321.  DISPLAY@\  Internal debugging
  322.  ERASE@\  Local delete of a file(s)
  323.  EXIT@\  Exit to system
  324.  FINISH@\  Stop a remote server without logging out
  325.  GET@\  Get a file(s) from a remote server
  326.  HANGUP@\  Hangup a remote line
  327.  HOST@\  Execute system command locally (where applicable)
  328.  LOCAL@\  Force interpretation of command to the local system
  329.  LOGFILE@\  Create a log file
  330.  QUIT@\  Same as EXIT
  331.  PRINT@\  Print a file locally (where applicable)
  332.  RECEIVE@\  Receive a file(s) from a remote kermit
  333.  REMOTE@\  Prefix for file management commands to a server
  334.  RENAME@\  Local rename of filename(s)
  335.  SEND@\  Send a file(s) to a remote Kermit
  336.  SERVER@\  start a Kermit server
  337.  SET@\  Change Kermit parameters
  338.  SHOW@\  Display Kermit parameters
  339.  TAKE@\  Execute indirect command file
  340.  TYPE@\  Local display of file on terminal
  341.  WHO@\  Local display of logged in users (RSTS/E only)
  342. @End(Format)
  343.  
  344. @Section(Commands for File Transfer)
  345.  
  346. Kermit-11 includes the standard repertoire of Kermit file transfer commands,
  347. including SEND, RECEIVE, and GET.
  348.  
  349. @Heading(The SEND Command)
  350. @Index(SEND Command)
  351. Syntax:  @q<SEND >@i(filespec)
  352.  
  353. The SEND command causes a file or file group to be sent from the PDP-11 to the
  354. other system.  If filespec contains wildcard characters then all matching
  355. files will be sent, in alphabetical order (according to the ASCII collating
  356. sequence) by name.  If filespec does not contain any wildcard characters, then
  357. the single file specified by filespec will be sent.
  358.  
  359. @subh<SEND Command General Operation>:
  360.  
  361. Files will be sent with their PDP-11 file name and type (for instance
  362. FOO.BAR).  Each file will be sent according to the record type and attributes
  363. recorded in its file descriptor.  Kermit-11 attempts to translate all formats
  364. of text file to a format usable on any system.  Note that there is no need to
  365. set the FILE TYPE parameter for sending files, since Kermit-11 always uses the
  366. information from the file directory entry and the filetype (extension) to
  367. determine how to send the file.
  368.  
  369. If communication line parity is being used (see SET PARITY), Kermit-11 will
  370. request that the other Kermit use a special kind of prefix notation for binary
  371. files.  This is an advanced feature, and not all Kermits have it; if the other
  372. Kermit does not agree to use this feature, binary files cannot be sent
  373. correctly.  This includes executable programs (like @q<.EXE> files, CP/M
  374. @q<.COM> files), relocatable object modules (@q<.OBJ> files), as well as any
  375. text file containing characters with the eighth bit on.
  376.  
  377. Kermit-11 will also ask the other Kermit whether it can handle a special
  378. prefix encoding for repeated characters.  If it can, then files with long
  379. strings of repeated characters will be transmitted very efficiently.  Columnar
  380. data, highly indented text, and binary files are the major beneficiaries of
  381. this technique.
  382.  
  383. If you're running Kermit-11 locally, for instance dialing out from a PDP-11 to
  384. another system using an autodialer, you should have already run Kermit on the
  385. remote system and issued either a RECEIVE or a SERVER command.  Once you give
  386. Kermit-11 the SEND command, the name of each file will be displayed on your
  387. screen as the transfer begins.  As the transfer continues, you will get a
  388. small display of the packet count along with the number of packets rejected.
  389. See the SET TERMINAL and SET UPDATE commands for more information.  You may
  390. also type Control-X or Control-Z to interrupt the current file or file group.
  391. Control-E will also abort the transfer by sending an 'error' packet to the
  392. other Kermit.
  393.  
  394. @heading(The RECEIVE command)
  395. @index(RECEIVE Command)
  396. Syntax:  @q<RECEIVE [>@i(filespec)@q<]>
  397.  
  398. The RECEIVE command tells Kermit-11 to receive a file or file group from the
  399. other system.  The name is taken from the incoming file header.
  400. If an incoming file has the same name as an existing  file,  Kermit-11
  401. will  by default create a new file.  On RT-11 and RSTS/E, the old file
  402. will be deleted by the executive.  On RSX-11M/M+ and P/OS, a new  file
  403. with  a  higher  version number will be created.  To avoid files being
  404. superceded, see the SET FILE [NO]SUPERCEDE command.
  405.  
  406.  
  407. @Index(Fixed File Type)
  408. Incoming files will all be stored with the prevailing file type, ASCII by
  409. default, which is appropriate for text files.  If you are asking Kermit-11 to
  410. receive binary files from a microcomputer or other 8-bit system, you must
  411. first type SET FILE TYPE FIXED.  Otherwise, an error may occur when receiving
  412. the file.  Please note that this does NOT apply to two Kermit-11 programs
  413. connected to each other.  In that case the sending Kermit-11 will tell the
  414. receiving Kermit-11 to switch to binary mode if need be.
  415. @Index(8th-bit Prefixing)
  416.  
  417. If parity is being used  on  the  communications  line,  then  8th-bit
  418. prefixing will be requested.  If the other side cannot do this, binary
  419. files cannot be transferred correctly.
  420.  
  421. If you are running Kermit-11 locally, you should already have issued a SEND
  422. command to the remote Kermit, and then escaped back to Kermit-11.  As files
  423. arrive, their names will be displayed on your screen.
  424.  
  425. If a file arrives that you don't really want, you can attempt to cancel it by
  426. typing Control-X; this sends a cancellation request to the remote Kermit.  If
  427. the remote Kermit understands this request (not all implementations of Kermit
  428. support this feature), it will comply; otherwise it will continue to send.  If
  429. a file group is being sent, you can request the entire group be cancelled by
  430. typing Control-Z.
  431.  
  432. Normally, one runs the remote Kermit as a SERVER, thus the RECEIVE command is
  433. never used, rather, the GET command, described next, is used.
  434.  
  435. @heading(The GET Command)
  436. @Index(GET Command)
  437. Syntax:  @q<GET [>@i(remote-filespec)@q<]>
  438.  
  439. The GET command requests a remote Kermit server to send the file or file group
  440. specified by @i<remote-filespec>.  This command can be used only when
  441. Kermit-11 is local, with a Kermit server on the other end of the line
  442. specified by SET LINE.  This means that you must have CONNECTed to the other
  443. system, logged in, run Kermit there, issued the SERVER command, and escaped
  444. back to the PDP-11.
  445.  
  446. The remote filespec is any string that can be a legal file specification for
  447. the remote system; it is not parsed or validated locally.  Any leading spaces
  448. before the remote filespec are stripped, and lower case characters are raised
  449. to upper case.
  450.  
  451. As files arrive, their names will be displayed on your screen.  As in the
  452. RECEIVE command, Control-X (@q<^X>) to request that the current incoming file
  453. be ancelled, @q<^Z> to request that the entire incoming batch be cancelled.
  454.  
  455. If the remote Kermit is not capable of server functions, then you will
  456. probably get an error message back from it like "Illegal packet type".
  457. In this case, you must connect  to  the  other  Kermit,  give  a  SEND
  458. command, escape back, and give a RECEIVE command.
  459.  
  460. @SubSection(Server Operation)
  461. @Index(Server Operation)
  462.  
  463. The SERVER command puts a remote Kermit-11 in "server mode", so that it
  464. receives all further commands in packets from the local Kermit.  The Kermit-11
  465. server is capable (as of this writing) of executing the following remote
  466. server commands: SEND, GET, FINISH, BYE, REMOTE DIRECTORY, REMOTE CWD, REMOTE
  467. SPACE, REMOTE DELETE, REMOTE TYPE, REMOTE HELP, REMOTE COPY, REMOTE RENAME,
  468. REMOTE WHO, REMOTE LOGIN and REMOTE HOST.
  469.  
  470. Any nonstandard parameters should be selected with SET commands before putting
  471. Kermit-11 into server mode, in particular the file type.  The Kermit-11 server
  472. can send all files in the correct manner automatically.  As noted before, if a
  473. Kermit-11 is talking to another Kermit-11, they will negotiate any 'binary'
  474. parameters automatically.  However, if this is NOT the case and you need to
  475. ask Kermit-11 to receive binary files you must issue the SET FILE TYPE FIX
  476. command before putting it into server mode, and then you must only send binary
  477. files.  You cannot send a mixture of text files and 8-bit binary files to a
  478. Kermit-11 server unless the files are not for use on the PDP-11.
  479.  
  480. @SubSection(Commands for Servers)
  481. @Index(SERVER commands)
  482.  
  483. When running in local mode, Kermit-11 allows you to give a wide range of
  484. commands to a remote Kermit server, with no guarantee the that the remote
  485. server can process them, since they are all optional features of the protocol.
  486. Commands for servers include the standard SEND, GET, BYE, FINISH commands, as
  487. well as the REMOTE command.
  488.  
  489. @heading(The BYE Command)
  490. @Index(BYE Command)
  491.  
  492. The BYE command tells a remote server to log out of the remote system.  In
  493. addition, some remote systems will also disconnect the line for you.  If this
  494. is not the case, the DISCONNECT command will (depending on your interface)
  495. cause the line to be dropped.  See DISCONNECT.
  496.  
  497. @heading(The FINISH Command)
  498. @Index(FINISH Command)
  499.  
  500. The FINISH command tells the remote Kermit server to exit without logging out
  501. of the remote system.  You can then CONNECT back to the Server operation
  502. system.
  503.  
  504. @heading(The REMOTE Command)
  505. @Index(REMOTE commands)
  506.  
  507. Send the specified command to the remote server.  If the server does not
  508. understand the command (all of these commands are optional features of the
  509. Kermit protocol), it will reply with a message like "Unknown Kermit server
  510. command".  If does understand, it will send the results back, and they will be
  511. displayed on the screen.  The REMOTE commands are:
  512.  
  513. @begin<description>
  514. REMOTE COPY @i<filespec newfilespec>@\
  515. Copy file.  The server is asked to make a copy of  the  specified
  516. file.   Both  filespecs  must  be  in  the correct format for the
  517. remote system.  Kermit-11 does not parse  or  validate  the  file
  518. specifications.   Any  leading  spaces will be stripped and lower
  519. case characters converted to upper case.  Note that this  command
  520. simply  provides  for copying a file within the server's system -
  521. it does not cause a file to be transferred.
  522.  
  523. REMOTE CWD @i<directory>@\Change Working Directory.  If no directory name is
  524. provided, the server will change to the default or home directory.  Kermit-11
  525. currently does not ask for a password.
  526.  
  527. REMOTE DELETE @i<filespec>@\
  528. Delete the specified file or files.  The names of the files  that
  529. are deleted will appear on your screen.
  530.  
  531. REMOTE DIRECTORY [@i<filespec>]@\ The names of the files that match the given
  532. file specification will be displayed on your screen, perhaps along with size
  533. and date information for each file.  If no file specification is given, all
  534. files from the current directory will be listed.
  535.  
  536. REMOTE HELP@\The remote server will send back a list of server  commands  that
  537. it can execute.
  538.  
  539. REMOTE HOST @i<command>@\Pass the given command to the server's  host
  540. command  processor, and  display the resulting output on your screen.  Not all
  541. Kermit servers can do this function.  In the case of Kermit-11, only the
  542. RSTS/E Kermit-11 server can execute the REMOTE HOST command.
  543.  
  544. REMOTE LOGIN @i<user password>@\ Ask a remote server to log into a different
  545. account or username.  The support for this command is rarely implemented as
  546. many systems layer login/logout support over the executive.  A Kermit-11
  547. server can only support this on RSTS/E, and at that only for version 9.0 or
  548. later.  Of the various DEC PDP-11 operating systems, only RSTS/E has the
  549. support for logging in and out built into the executive and accessible with
  550. directives.
  551.  
  552. REMOTE RENAME @i<oldfile newfile>@\ Change the name on the specified file (or
  553. files).  Both file specifications must be valid for the server's system.
  554.  
  555. REMOTE SPACE@\Display information about disk usage in the current directory.
  556.  
  557. REMOTE TYPE @i<filespec>@\Display the contents of the specified file on your
  558. screen.
  559.  
  560. REMOTE WHO@\Display current status of user's logged in.
  561. @end<description>
  562.  
  563. @Section(Commands for Local File Management)
  564. @Index(Local Commands)@Index(File Management)
  565.  
  566. These commands provide some local file management capability without having to
  567. leave the Kermit-11 program.  These commands are very similar to the REMOTE
  568. commands in function and syntax.  They are all executed locally, and are
  569. available when Kermit-11 is either local or remote.  The arguments to these
  570. commands are the same as the arguments expected from the user Kermit when
  571. Kermit-11 is processing a command in server mode.  Additionally, these
  572. commands can be prefixed by the LOCAL keyword.
  573.  
  574. @Begin(Format)
  575. COPY @i(filespec newfilespec)
  576. CWD @i(directory)
  577. DELETE @i(filespec)
  578. DIRECTORY [@i(filespec)]
  579. HELP
  580. HOST @i(command)
  581. RENAME @i(oldfile newfile)
  582. SPACE
  583. TYPE @i(filespec)
  584. WHO
  585. @End(Format)
  586.  
  587. @SubSection(The CONNECT Command)
  588. @Index(CONNECT Command)
  589.  
  590. The CONNECT command will allow you to connect in as a terminal over the line
  591. that was specified by the SET LINE command.  (Using the CONNECT command before
  592. using the SET LINE command will result in an error message.)  The terminal
  593. line must be one which is accessible to the user.
  594.  
  595. The distributed RSX-11M/M+ task has been built with the @q</PR:0> switch to
  596. enable the task to change other terminal settings.  Additionally, for
  597. RSX-11M/M+, the MCR command @q<SET /SLAVE=TT>@i<nn>@q<:> should be done before
  598. entering Kermit-11.
  599.  
  600. If you are running @q<K11POS.TSK> on a PRO/350, Kermit will set the line to
  601. @q<XK0:> and the speed to 9600 by default.
  602.  
  603. Please note that Kermit-11 CAN NOT change the speed of a DL11 type interface,
  604. nor can it change the speed of a PDT-150 modem port (use SPEED.SAV).
  605.  
  606. The following is an example of using a Racal-Vadic VA212 autodialing modem to
  607. log into a remote TOPS-20 system.  There is one point at which there is no
  608. echoing of the user input, this is following the typing of the local 'escape
  609. sequence', which by default is Control-@q<\> followed by a 'c'.  The
  610. control-@|backslash informs the terminal emulator that the next character is a
  611. command.  In this case, the command was 'C', which means to return to the
  612. local PDP-11 system.  Control-@q<\> followed by @q<?> would print a help
  613. message.  All the commands prior to the DIAL command were contained in the INI
  614. file, @q<KERMIT.INI>.
  615. @Begin(example)
  616. $ kermit
  617. Kermit-11 V3.46 Last edit: 21-Feb-1986
  618. Kermit-11>@ux[set modem vadic]
  619. Kermit-11>@ux[set pho num cu 9K12121234567]
  620. Kermit-11>@ux[set logfile 20.log]
  621. Kermit-11>@ux[set deb console]
  622. Kermit-11>@ux[set lin tt58:]
  623. Link: TT58: Speed: 9600, DTR not present
  624. Kermit-11>@ux[set dtr]
  625. Kermit-11>@ux[set spe 1200]
  626. Kermit-11>@ux[dial cu]
  627. Using: 9K12121234567
  628. Connection established, type CONNECT to access remote
  629. Kermit-11>@ux[connect]
  630.  
  631. enter class 4
  632. class 004 start
  633.  
  634. CU20B
  635. @@log xx.abcdef 
  636.  CU20B, TOPS-20 Monitor 5.1(5101)-2
  637.  Job 28, TTY32, 2-Apr-84 4:15:24PM
  638.  Previous login was 2-Apr-84 4:10:16PM
  639.     .
  640.     .
  641. @@logout
  642. [Confirm]
  643. Logged out Job 28, User XX.ABCDEF , TTY 32,
  644.   at  2-Apr-84 16:19:34,  Used 0:00:11 in 0:04:10
  645.  
  646. Kermit-11>@ux[disc]
  647. KERMIT link TT58: disconnected
  648. Kermit-11>@ux[exit]
  649.  
  650. $ logout
  651. @End(example)
  652.  
  653. @Section(The SET Command)
  654. @Index(SET Command)
  655. Syntax: @q<SET >@i<parameter keyword>
  656.  
  657. The SET command is used to set various parameters in Kermit.  The format of
  658. the SET command is:
  659.  
  660. @subHeading(SET ATTRIBUTES)
  661. @index<Attributes>@index<File Attributes>
  662. Syntax: @q<SET ATTRIBUTES {ON, OFF}>
  663.  
  664. Part of the Kermit protocol is the support of file attributes.  Connected
  665. Kermits that support this can send information to each other about file size,
  666. time/date of creation, RMS file headers and other useful things.  Due to
  667. potential problems with incompatible implementations this feature can be
  668. disabled.  In this case, the sending Kermit-11 will never try to send file
  669. attributes, even though the receiver may have indicated that it supports this.
  670.  
  671. @subHeading(SET BAUD)
  672. @Index(SET BAUD)
  673.  
  674. This is the same as SET SPEED.  See HELP SET SPEED
  675.  
  676. @subHeading(SET BINARY-TYPE)
  677.  
  678. Kermit-11 has a default list of filetypes that are scanned to decide if a file
  679. should be sent in binary mode in addition to checking file attributes for RSX,
  680. P/OS and RSTS/E.  The user can, however, override this list with the this
  681. command.  The default list is fairly inclusive, with types such as @q<.SAV> and
  682. @q<.TSK> forcing Kermit-11 into binary transmission.  See HELP SET FIL for the
  683. default list.  Examples:
  684. @begin<example>
  685. Kermit-11> @ux[set binary-type .sav]
  686. Kermit-11> @ux[set bin .exe]
  687. @End(example)
  688.  
  689. @subHeading(SET BLOCK-CHECK)
  690. Syntax: @q<SET BLOCK_CHECK {1, 2, 3}>
  691.  
  692. The SET BLOCKCHECK command is used to determine the block check sequence which
  693. will be used during transmission.  The block check sequence is used to detect
  694. transmission errors.  There are three types of block check available.  These
  695. are the single character checksum (default), the two character checksum, and
  696. the three character CRC (cyclic redundancy check).  This command does not
  697. ensure that the desired type of block check will be used, since both Kermit's
  698. involved in the transfer must agree on the block check type.  Kermit-11 will
  699. request that the type of block check set by this command be used for a
  700. transfer.  If the other Kermit has also had the same block check type
  701. requested, then the desired block check type will be used.  Otherwise, the
  702. single character checksum will be used.  The command should be given to BOTH
  703. Kermits since Kermit-11, when in server mode, has no say about what kind of
  704. checksum it wants to use.  (See Kermit protocol manual for more information.)
  705.  
  706. @subHeading(SET CONSOLE)
  707. Syntax: @q<SET CONSOLE {7, 8}>
  708.  
  709. The SET CONSOLE command is used under P/OS to control the passing of 8 bit
  710. data to the terminal during the connect command.  If you are getting
  711. multinational characters being printed, this is a very useful thing to set.
  712. The default is SET CON 7.
  713.  
  714. @subHeading(SET DEBUG)
  715. Syntax: @q<SET DEBUG {ALL, CONSOLE, CONNECT, FILE, PACKET, STATE}>
  716.  
  717. The SET DEBUG command is  used  to  specify  the  type  and  level  of
  718. debugging  to  a disk file .  This disk file must have been created by
  719. the SET LOGFILE command.
  720.  
  721. @subH(SET DEBUG ALL)
  722.  
  723. SET DEBUG ALL will turn on logging for CONSOLE,CONNECT,FILE,PACKET and STATE
  724. to the disk file specified by SET LOGFILE.  This command is the same as SET
  725. DEBUG ON.  The command format is:
  726.  
  727. @subH(SET DEBUG CONSOLE)
  728.  
  729. SET DEBUG CONSOLE will turn on logging for all i/o during a remote connect to
  730. the disk file specified by SET LOGFILE.  This command is the same as SET DEBUG
  731. CONNECT.
  732.  
  733. @subH(SET DEBUG CONNECT)
  734.  
  735. SET DEBUG CONNECT will turn on logging for all i/o during a remote connect to
  736. the disk file specified by SET LOGFILE.  This command is the same as SET DEBUG
  737. CONSOLE.
  738.  
  739. @subH(SET DEBUG FILE)
  740.  
  741. SET DEBUG FILE will log all file 'opens' and 'creates' to the file specified
  742. by SET LOGFILE.
  743.  
  744. @subH(SET DEBUG HELP)
  745.  
  746. SET DEBUG HELP gives the user a list of all qualifiers  which  can  be
  747. used with SET DEBUG.
  748.  
  749. @subh(SET DEBUG NONE)
  750.  
  751. SET DEBUG NONE 'turns off' all debugging.  This is the same as the SET
  752. DEBUG OFF command.
  753.  
  754. @subH(SET DEBUG OFF)
  755.  
  756. SET DEBUG OFF 'turns off' all debugging.  This is the same as the  SET
  757. DEBUG NONE command.
  758.  
  759. @subH(SET DEBUG ON)
  760.  
  761. SET DEBUG ON will 'turn on' logging for CONSOLE,CONNECT,FILE,PACKET and
  762. STATE to the disk file specified by SET LOGFILE.  This command is the
  763. same as SET DEBUG ALL.
  764.  
  765. @subH(SET DEBUG PACKET)
  766.  
  767. SET DEBUG PACKET will 'turn on' logging of all  receive  and  transmit
  768. packets to the disk file specified by SET LOGFILE.
  769.  
  770. @subH(SET DEBUG STATE)
  771.  
  772. SET DEBUG STATE will turn on logging of all internal Kermit-11 state
  773. transitions.
  774.  
  775. @Heading(SET DELAY)
  776. Syntax: @q<SET DELAY >@i<seconds>
  777.  
  778. The DELAY parameter is the number of seconds to wait before sending data after
  779. a SEND command is given.  This is used when Kermit-11 is running in remote
  780. mode to allow the user time to escape back to the other Kermit and give a
  781. RECEIVE command.
  782.  
  783. @Heading(SET DEFAULT)
  784. Syntax: @q<SET DEFAULT >@i<device>
  785.  
  786. The DEFAULT parameter allows you to specify a device and UIC (or PPN) for all
  787. subsequent file opens (for SENDING) and file creates (for RECEIVING).  It is
  788. disabled by typing SET HOME.  Example:
  789. @begin(example)
  790. Kermit-11>@ux<set default db2:[200,201]>
  791. @end(example)
  792. This is quite useful for Kermit-11 running on a DECNET  link,  as  you
  793. can  set  the  default  for  file operations to include node names and
  794. passwords as in:
  795. @Begin(example)
  796. Kermit-11>@ux<set def orion::sys$system:[fubar]>
  797. @End(example)
  798.  
  799. @Heading(SET DIAL)
  800.  
  801. Kermit-11 has knowledge built in to it of a number of the more common 'smart'
  802. autodial modems.  To find out if your modem is directly supported try the
  803. command SET MODEM ?.  If your modem is not in this list then you need the SET
  804. DIAL command to generate the data base used by Kermit to control the modem.
  805. Kermit uses this information to implement the DIAL command.  A command such as
  806. DIAL can only be done when Kermit knows both how to format commands to the
  807. modem, and what kind of text the modem will send back to it in response.  As
  808. an example, the VADIC VA212PA modem is awakened from an idle state by the
  809. character sequence 05 015 (in octal), which is a Control-E followed by a
  810. carriage return.  In response to this two-character string, the modem responds
  811. with:
  812. @begin<example>
  813. HELLO: I'M READY
  814. *
  815. @End(example)
  816.  
  817. Thus Kermit has to know that when it sends the wakeup sequence it needs to
  818. wait for the asterisk to be sent back by the modem.  At this point Kermit will
  819. know that the modem is in a state awaiting further commands, such as that to
  820. dial a phone number.
  821.  
  822. It is not possible for Kermit to have knowledge of all makes of modems.
  823. Instead Kermit supports a command, SET MODEM USER_DEFINED, which then allows
  824. you to use the SET DIAL command to inform Kermit how the modem works.  Once
  825. Kermit knows how to control the modem, you can use the DIAL command to
  826. initiate a call from Kermit.
  827.  
  828. The SET DIAL commands are:
  829. @Begin(Format)
  830. @tabclear()@tabset(3.0inch)
  831. SET DIAL WAKEUP@\@r<Define the wakeup string>
  832. SET DIAL PROMPT@\@r<Define the prompt the modem uses>
  833. SET DIAL INITIATE@\@r<Define a string to start dialing>
  834. SET DIAL CONFIRM@\@r<Define the string to confirm number>
  835. SET DIAL FORMAT@\@r<Define the number formatting string>
  836. SET DIAL SUCCESS@\@r<Define string(s) for call complete>
  837. SET DIAL INFO@\@r<Define string(s) for informative text>
  838. SET DIAL FAILURE@\@r<Define string(s) for call failure>
  839. SET DIAL CONFIRM@\@r<Define string for number confirmation>
  840. SET DIAL WAKE_RATE@\@r<Set pause time between wakeup characters>
  841. SET DIAL DIAL_RATE@\@r<Set pause time between number digits>
  842. SET DIAL DIAL_PAUSE@\@r<Define string for dial tone pause>
  843. @End(Format)
  844.  
  845. Suppose we had to tell Kermit about  the  Racal  Vadic  VA212PA  modem
  846. (though in reality Kermit already knows about that kind).  In checking
  847. the owners manual for it, we find that:
  848. @Begin(itemize)
  849. To wake the modem up, we type a control E followed by a  carriage
  850. return.
  851.  
  852. To dial a number, we type the letter D followed by a carriage return.  At this
  853. point, the modem prints a NUMBER?  prompt, we then type the desired number in.
  854. It reprints the number and then waits for a carriage return from us to confirm
  855. that its really the correct phone number.
  856.  
  857. When it completes dialing, it will print 'ON  LINE'  or  'ONLINE'
  858. for  a  successful call, otherwise it may display on the terminal
  859. 'BUSY', 'FAILED CALL', 'NO DIAL', 'VOICE' or 'TIME  OUT'.   While
  860. it  is waiting for its call to be answered, it may print the line
  861. 'RINGING' several times in order to tell you that it  is  working
  862. on it.
  863. @End(itemize)
  864. The Kermit commands required would be:
  865. @begin<example>
  866. Kermit-11>SET MODEM USER_DEFINED
  867. Kermit-11>SET DIAL WAKEUP \05\015
  868. Kermit-11>SET DIAL PROMPT *
  869. Kermit-11>SET DIAL INITIATE D\015
  870. Kermit-11>SET DIAL FORMAT %P%S\015
  871. Kermit-11>SET DIAL CONFIRM \015
  872. Kermit-11>SET DIAL SUCCESS ONLINE
  873. Kermit-11>SET DIAL SUCCESS ON LINE
  874. Kermit-11>SET DIAL INFO RINGING
  875. Kermit-11>SET DIAL FAILURE BUSY
  876. Kermit-11>SET DIAL FAILURE FAILED CALL
  877. Kermit-11>SET DIAL FAILURE NO DIAL
  878. Kermit-11>SET DIAL FAILURE VOICE
  879. Kermit-11>SET DIAL FAILURE TIME OUT
  880. Kermit-11>SET DIAL DIAL_PAUSE 9K
  881. Kermit-11>DIAL 14195551212
  882. @End(example)
  883.  
  884. The notation "@q<\05\015>" indicates the Control E followed by a carriage
  885. return; 05 is octal for control E, 015 is octal for carriage return.  An
  886. alternate notation for octal numbers can be used by placing the value inside
  887. of inequality characters, as in SET DIAL WAKE <05><015> though the former is
  888. preferred.
  889.  
  890. The notation "@q<%P%S\015>" indicates to Kermit that the phone number from the
  891. dial command is to be followed by a carriage return; the @q<%S> is simply a
  892. placeholder for the phone number.  The presence of the @q<%P> is to indicate
  893. where to insert the dial pause string, in this case we need to dial 9 and wait
  894. for a second dial tone.  The "K" is the Racal Vadic code to get the modem to
  895. pause.  If you are dialing on a direct line, the DIAL_PAUSE command is
  896. unneeded.  If for any reason you need to pass a "\" or "<" to your modem,
  897. simply prefix the character with another "\", as in "\\".
  898.  
  899. Many modems require only the WAKEUP, PROMPT, FORMAT and result strings.  The
  900. Digital DF112 is an example of this; its definition would look like:
  901. @Begin(example)
  902. Kermit-11>SET MODEM USER_DEFINED
  903. Kermit-11>SET DIAL WAKEUP \02
  904. Kermit-11>SET DIAL PROMPT READY
  905. Kermit-11>SET DIAL FORMAT %S#
  906. Kermit-11>SET DIAL SUCCESS ATTACHED
  907. Kermit-11>SET DIAL FAILURE BUSY
  908. Kermit-11>SET DIAL FAILURE DISCONNECTED
  909. Kermit-11>SET DIAL FAILURE ERROR
  910. Kermit-11>SET DIAL FAILURE NO ANSWER
  911. @End(example)
  912.  
  913. Some modems may be unable to accept data at the line speed; in this case we
  914. would need to use the SET DIAL WAKE_RATE and SET DIAL DIAL_RATE.  These two
  915. commands accept a delay time in milliseconds; the actual delay will not be
  916. precise as the PDP-11 line clock interrupts sixty times per second.
  917. Furthermore, on RSTS/E the finest granularity for timing is one second; thus
  918. setting delays would result in delays of one second increments.
  919.  
  920. In general, not all of the result fields need be specified except for the call
  921. completed strings; Kermit will time out after a while if it can't match a
  922. response with any definitions.
  923.  
  924. Further information can be found in the sections on SET MODEM, DIAL, REDIAL
  925. and SET PHONE.
  926.  
  927.  
  928. @Heading(SET DTR)
  929.  
  930. The SET DTR command is very similar to the DISCONNECT (or HANGUP) command.
  931. SET DTR, where supported, raises DTR for a predetermined amount of time,
  932. whereas the DISCONNECT (or HANGUP) command drops DTR.  The SET DTR is only
  933. functional on RSTS/E, which by default keeps DTR low until either RING
  934. INDICATOR or CARRIER DETECT goes high.  This is opposite of the behavior on
  935. RT11 and RSX11M/M+, both of which normally assert DTR.  The SET DTR command
  936. raises DTR for at least 30 seconds (depending on the version of RSTS/E) and is
  937. useful for making connections to front end switches (such as MICOM and
  938. GANDALF).  On RT11, SET DTR is identical to the HANGUP command; it simply
  939. drops DTR for two seconds.  In this case (RT11 and TSX+) this command is only
  940. supported on RT11 5.2 and TSX+ 6.0 with the XL/XC and CL drivers,
  941. respectively.  This command is a no-op on RSX11M/M+ and P/OS.  For further
  942. information on modem support, see the later section regarding such.
  943.  
  944.  
  945. @Heading(SET DUPLEX)
  946. Syntax: @q(SET DUPLEX {FULL, HALF})
  947.  
  948. The DUPLEX parameter controls whether an outgoing link (set via the SET LINE
  949. command) is a full duplex link (the default) or a half duplex link.  All it
  950. does for half duplex is to cause all characters typed after the CONNECT
  951. command to be echoed locally.
  952.  
  953. @Heading(SET END-OF-LINE)
  954. Syntax: @q(SET END-OF-LINE <octal ASCII value>)
  955.  
  956. The END-OF-LINE parameter sets the ASCII character which will be used as a
  957. line terminator for all packets SENT to the other KERMIT.  This is normally
  958. not needed for most versions of KERMIT.
  959.  
  960. @Heading(SET ESCAPE)
  961. @Index(SET ESCAPE)
  962. Syntax @q(SET ESCAPE )<octal ASCII value>)
  963.  
  964. This command will set the escape character for the CONNECT processing.  The
  965. command will take the octal value of the character to use as the escape
  966. character.  This is the character which is used to "escape" back to Kermit-11
  967. after using the CONNECT command.  It defaults to control (octal 34).  It is
  968. usually a good idea to set this character to something which is not used (or
  969. at least not used very much) on the system being to which Kermit-11 is
  970. CONNECTing.
  971.  
  972. @Heading(SET FILE)
  973. Syntax: @q<SET FILE {NOSUPERCEDE, SUPERCEDE, TYPE @i<file-type>}>
  974.  
  975. The SET FILE command allows you to set various file related parameters.
  976.  
  977. @Heading(SET FILE TYPE ASCII)
  978. @Index(SET FILE TYPE)
  979.  
  980. File type ASCII is for text files.  SET FILE TYPE TEXT is the same.
  981.  
  982. @subH(SET FILE TYPE AUTO)
  983.  
  984. Kermit-11 will normally try to decide if a file must be sent in binary mode
  985. based on the file attributes and filetype.  If, for instance, the directory
  986. entry for @q<FUBAR.TXT> showed it to be RMS (or FCS) fixed length records,
  987. Kermit-11 will switch to binary mode and send it verbatim.  If the receiving
  988. Kermit is Kermit-11, then the sending Kermit will send attribute data over
  989. also.  The file types shown in Table @ref<-k11ft> also will normally be sent
  990. as binary files unless you use the SET FILE TYPE NOAUTO command.
  991. @begin<table>
  992. @bar()
  993. @blankspace(1)
  994. @begin<format>
  995. @q<*.TSK>    RSX, IAS, and RSTS tasks
  996. @q<*.SAV>    RT11 and RSTS save images
  997. @q<*.OBJ>    Compiler and macro-11 output
  998. @q<*.STB>    TKB and LINK symbol tables
  999. @q<*.CRF>    TKB and LINK cross reference files
  1000. @q<*.TSD>    'Time shared DIBOL' for RT11
  1001. @q<*.BAC>    RSTS Basic-plus 'compiled' files
  1002. @q<*.OLB>    RSX, IAS, and RSTS object libraries
  1003. @q<*.MLB>    RSX, IAS, and RSTS macro libraries
  1004. @q<*.RTS>    RSTS/E run time systems
  1005. @q<*.EXE>    VMS executable
  1006. @End(Format)
  1007. @caption<Kermit-11 File Types>
  1008. @tag(-k11ft)
  1009. @bar()
  1010. @end(table)
  1011.  
  1012. @subH(SET FILE TYPE BINARY)
  1013. @Index(SET FILE TYPE)
  1014.  
  1015. File type BINARY is for non-text files.  Note that binary files which are
  1016. generated on a PDP-11 system cannot be transferred to another (non PDP-11)
  1017. system without losing file attributes.  This means that (for example), an
  1018. RSM11 indexed file cannot be transmitted with Kermit-11 at this time.  You can
  1019. not have parity set to anything but NONE to use binary file transfer (see HELP
  1020. SET PARITY) unless the other Kermit can process eight bit quoting.  Two
  1021. Kermit-11's connected to each other will use binary transmission automatically
  1022. via the Kermit attribute packets, preserving file attributes where it makes
  1023. sense (i.e. RSTS/E and RSX only).
  1024.  
  1025. @subH(SET FILE TYPE DECMULTINATIONAL)
  1026.  
  1027. PDP-11 Kermit normally strips the high bit of every character on both
  1028. transmission and reception of files (unless the SET FILE TYPE FIXED command
  1029. was given).  The SET FIL DEC command will cause Kermit-11 to leave all data
  1030. intact but still obey the host file system when reading or writing files.  In
  1031. other words, Kermit will write sequential implied carriage control files with
  1032. eight bit data if this command is used.
  1033.  
  1034. @subHeading(SET FILE TYPE FIXED)
  1035. @Index(SET FILE TYPE FIXED)
  1036.  
  1037. This is the same as SET FILE TYPE BINARY.
  1038.  
  1039. @subH(SET FILE TYPE NOAUTO)
  1040.  
  1041. SET FILE NOAUTO disables Kermit-11 from trying to base binary transmission
  1042. mode on file attributes or filetype.
  1043.  
  1044. @subH(SET FILE SUPERCEDE)
  1045. Syntax: @q<SET FILE {SUPERCEDE, NOSUPERCEDE}>
  1046.  
  1047. SET FILE [NO]SUPERCEDE allows Kermit-11 to accept or reject files received
  1048. (from either the RECEIVE or GET commands) on a per file basis.  The default is
  1049. SUPERCEDE.  By doing SET FILE NOSUPERCEDE Kermit-11 will always check to see
  1050. if the file to be created is already there (independent of version number) and
  1051. reject it to the sending server if it exists.  This presumes that the Kermit
  1052. sending the file understands the protocol to reject one file of a (possibly)
  1053. wildcarded group of files.  The main use of this is to resume getting a group
  1054. of files, as in @q<GET KER:K11*.*> or @q<GET KER:MS????.*> having lost the
  1055. connection after transferring some of the files.  If this is set, then any
  1056. files already transferred will not be transferred again.
  1057.  
  1058. @Heading(SET HOME)
  1059.  
  1060. SET HOME resets the default device and UIC (or PPN) to nothing, ie, all file
  1061. opens and creates use your default disk (@q<SY:>) and your UIC (or PPN).
  1062.  
  1063. @Heading(SET IBM-MODE)
  1064. Syntax: @q<SET IBM {ON, OFF}>
  1065.  
  1066. The SET IBM ON (or OFF) will instruct Kermit-11 to wait for an XON following
  1067. each packet sent to an IBM host in linemode.  Since the default for IBM mode
  1068. may not always be appropriate for your IBM compatible system, you can always
  1069. use the SET HANDSHAKE XON and SET DUPLEX HALF to avoid the parity setting
  1070. implied by using IBM mode.
  1071.  
  1072. @Heading(SET LINE)
  1073. @Index(SET LINE)
  1074. Syntax: @q<SET LINE >@i<device-designator>
  1075.  
  1076. The SET LINE command sets the terminal name up for use with the connect
  1077. command.  To use this you must have access to that device.  On many systems
  1078. terminal lines other than your own are protected from access, and may require
  1079. special procedures to access them.  The form of the device name is TTnnn:,
  1080. where 'nnn' is a decimal number for RSTS and an octal number for RSX-11M/M+.
  1081. For RT-11, the device name is simply the MT unit number shown by the SHO TER
  1082. command, as in '5' for DZ11 unit 0 line 4.  If the system is running RT-11
  1083. version 5 you can do a SET LIN XL:.  At worst case, Kermit-11 can use the
  1084. console port on RT-11.  For more information see the notes later on for RT-11
  1085. If you are running @q<K11POS.TSK> for P/OS on the PRO/350, Kermit-11 will set
  1086. the line to @q<XK0:> and the speed to 9600 baud when Kermit starts.  To
  1087. override the line or speed, set HELP SET LINE and HELP SET SPEED.  Examples:
  1088. @Begin(example)
  1089. Kermit-11>SET LINE TT55:        @r<(for RSTS and RSX-11M/M+)>
  1090. Kermit-11>SET LINE 5            @r<(for RT-11 and MT service)>
  1091. Kermit-11>SET LINE XK0:         @r<(for P/OS, done implicitly)>
  1092. Kermit-11>SET LINE XL:          @r<(for RT-11 and XL handler)>
  1093. @End(example)
  1094.  
  1095. See HELP CONNECT, HELP SET DUPLEX and HELP SET SPEED for more information.
  1096. Also, for TSX+, see notes regarding TSX later in these notes.  The RT-11 XL
  1097. handler has notes later on also.
  1098.  
  1099. @Heading(SET LOGFILE)
  1100. @Index(SET LOGFILE) @index(logfile)
  1101. Syntax: @q(SET LOGFILE )@i<filespec>
  1102.  
  1103. The SET LOGFILE command creates a debug dump file for you.  It must be used
  1104. BEFORE any SET DEBUG commands can be used.  See HELP DEBUG for further
  1105. information about debugging modes.
  1106.  
  1107. @Heading(SET MODEM)
  1108.  
  1109. The SET MODEM command defines the type of MODEM use for dialing out on the
  1110. line set with the SET LINE command, or, in the case of the PRO/350, the XC or
  1111. XK port.  There are only a few modems defined at this time, they are:
  1112. @Begin(description,spread 0)
  1113. VADIC@\Generic RACAL-VADIC autodial
  1114.  
  1115. VA212PA@\Stand alone VADIC VA212
  1116.  
  1117. VA212PAR@\Rack mounted VADIC VA212
  1118.  
  1119. VA4224@\Rack mounted VADIC VA4224 .v22bis
  1120.  
  1121. HAYES@\Hayes smartmodem
  1122.  
  1123. DF100@\DEC DF112
  1124.  
  1125. DF200@\DEC DF224
  1126.  
  1127. DF03@\DEC DF03
  1128.  
  1129. MICROCOM
  1130. @End(description)
  1131. The DIAL command is then used after the SET MODEM command.  For example, on a
  1132. PRO/350 running P/OS:
  1133. @Begin(example)
  1134. Kermit-11>@ux[set prompt PRO>]
  1135. PRO>@ux[set modem va212pa]
  1136. PRO>@ux[dial 5374411]
  1137. Modem in command mode
  1138. Modem dialing
  1139. Connection made, type CONNECT to access remote
  1140. PRO>@ux[con]
  1141. Enter class ? @ux[VX785A]
  1142. Class start
  1143. Username: @ux[BRIAN]
  1144. Password: @ux[     ]
  1145.  
  1146. ...@i<and so on>
  1147. @End(example)
  1148.  
  1149. @Heading(SET PACKET-LENGTH)
  1150. @Index(SET PACKET-LENGTH) @index(packet-length)
  1151. Syntax: @q(SET PACKET-LENGTH )@i<length>
  1152.  
  1153. You can alter the default  transmitted  packet  length  with  the  SET
  1154. PACKET-LENGTH  command.  This should not normally be needed unless the
  1155. line is very noisy, at which time you should probably give up anyway.
  1156.  
  1157. @Heading(SET PARITY)
  1158. @Index(parity) @Index(SET PARITY)
  1159. Syntax: @q(SET PARITY {EVEN, ODD, MARK, NONE, SPACE})
  1160.  
  1161. This is used with the SET LINE and CONNECT  commands  to  specify  the
  1162. type  of  parity  for the remote link.  It defaults to NONE and can be
  1163. any of ODD, EVEN, MARK or SPACE.
  1164.  
  1165. All parity generation is done via software, no special hardware is used.  The
  1166. use of software parity generation is restricted to 8 bit links only.  The
  1167. character format, if parity is set to anything but NONE, will be 7 bits of
  1168. data followed with high bit set or cleared to indicate the parity.  If you set
  1169. parity to anything but NONE (the default), Kermit-11 will be forced to request
  1170. 8bit prefixing from the other Kermit-11, which is a method by which Kermit can
  1171. 'prefix' eight bit characters with a shift code.  You MUST use parity (even if
  1172. MARK or SPACE) when using Kermit-11 with the IBM CMS Series/1 or 7171 3270
  1173. emulator, or in linemode through a 3705 front end.
  1174.  
  1175. @Heading(SET PAUSE)
  1176. Syntax: @q(SET PAUSE )@i<seconds>
  1177.  
  1178. PAUSE tells Kermit to wait the specified  number  of  seconds  between
  1179. each  packet being sent to the other Kermit.  This may be useful under
  1180. situations of heavy system load.  This may be  automatically  computer
  1181. by Kermit-11 in a future release as a function of line speed.
  1182.  
  1183. @Heading(SET PHONE)
  1184. Syntax: @q(SET PHONE {NUMBER, TONE, PULSE, BLIND})
  1185.  
  1186. The SET PHONE NUMBER command allows you to associate a phone number with a
  1187. symbolic name for later use with the DIAL command.  These definitions could be
  1188. placed in your @q<KERMIT.INI> file, and then referenced later.  Example:
  1189. @begin<example>
  1190. Kermit-11>@ux[set pho num work 5374411]
  1191. Kermit-11>@ux[set pho num market 16174671234]
  1192. Kermit-11>@ux[dial work]
  1193. @End(example)
  1194.  
  1195. The other two SET PHONE options, SET PHONE [TONE][PULSE] and SET PHONE BLIND
  1196. are not useful unless the appropiate dial formatting string and character
  1197. sequences for selecting PULSE or TONE, and BLIND dialing are present in the
  1198. modem definition macros in @q<K11DIA.MAC>.  The format effector for TONE/PULSE
  1199. is @q<%M> and the effector for BLIND is @q<%B>.  Currently (in 3.54) only the
  1200. VA4224 has entries for these options.
  1201.  
  1202. @Heading(SET POS)
  1203. Syntax: @q(SET POS {DTE, NODTE})
  1204.  
  1205. The SET POS command allows options SPECIFIC to P/OS to be altered.  The most
  1206. useful option is the SET POS [NO]DTE command.  This allows Kermit-11 to use
  1207. PRO/Communications version 2 for terminal emulation, if this product has been
  1208. installed on the PRO/350.  Of course, if this option is chosen, control is
  1209. returned to the PRO with the EXIT key (F10) rather than with Control \C.
  1210.  
  1211. @Heading(SET PROMPT)
  1212. @Index(SET PROMPT) @index(Prompt)
  1213. Syntax: @q(SET PROMPT )@i<prompt>
  1214.  
  1215. The SET PROMPT command is useful if you are using two Kermit-11's to talk to
  1216. each other.  By using the SET PROMPT command, you can change the prompt from
  1217. 'Kermit-11>' on either (or both) Kermit to something that would indicate which
  1218. system you are currently connected to.  Examples:
  1219. @Begin(example)
  1220. Kermit-11>@ux[set prompt Kermit-11/1170>]
  1221. Kermit-11>@ux[set prompt Fubar>]
  1222. Kermit-11>@ux[set prompt ProKermit-11>]
  1223. @End(example)
  1224.  
  1225. @Heading(SET RECEIVE)
  1226. @Index(SET RECEIVE)
  1227.  
  1228. Currently the SET RECEIVE and SET SEND basically work the same in that they
  1229. only alter the END-OF-LINE character and the START-OF-PACKET value, as in:
  1230. @Begin(example)
  1231. Kermit-11>@ux[set rec start 2]
  1232. Kermit-11>@ux[set rec end 12]
  1233. @End(example)
  1234. The command SET RECEIVE PACKET-LENGTH command is discussed below.
  1235.  
  1236. @subH(SET RECEIVE END-OF-LINE)
  1237. This instructs Kermit-11 to expect something other  than  the  default
  1238. carriage  return  (octal  15)  at the end of a packet.  Kermit-11 will
  1239. ignore packet terminators.  The SET SEND END command is of more use in
  1240. conditioning outgoing packets.
  1241.  
  1242. @subH(SET RECEIVE START-OF-PACKET)
  1243. The normal Kermit packet prefix is Control-A (ASCII 1); this command changes
  1244. the prefix Kermit-11 expects on incoming packets.  The only reasons this
  1245. should ever be changed would be: Some piece of equipment somewhere between the
  1246. two Kermit programs will not pass through a Control-A; or, some piece of of
  1247. equipment similarly placed is echoing its input.  In the latter case, the
  1248. recipient of such an echo can change the packet prefix for outbound packets to
  1249. be different from that of arriving packets so that the echoed packets will be
  1250. ignored.  The opposite Kermit must also be told to change the prefix for its
  1251. inbound packets and the prefix it uses on outgoing packets.
  1252.  
  1253. @heading(SET RECEIVE PACKET-LENGTH)
  1254. @Index(SET RECEIVE PACKET-LENGTH) @Index(receive packet-length)
  1255. @index(Long Packets)
  1256. Syntax: @q(SET RECEIVE PACKET-LENGTH )@i<length>
  1257.  
  1258. This command has two functions.  The first, and normal one, is to reduce
  1259. incoming packet lengths in the event that normal sized Kermit packets can not
  1260. be passed through the communications circuit.  There could be, perhaps, some
  1261. 'black box' somewhere in the link that has a very small buffer size; this
  1262. command could be used to reduce the size that the SENDING Kermit will use.
  1263.  
  1264. The other use is to enable a protocol extension to Kermit called 'Long
  1265. Packets'.  The actual protocol is documented elsewhere, let's just say that
  1266. this is a way for two Kermit's to use packet sizes far greater than the normal
  1267. ('Classic') packet size if 90 characters or so.  The main use of this feature
  1268. is in file transfer over links that introduce considerable delay, it is not
  1269. uncommon for packets to incur an one to two second delay.  The net result is a
  1270. VERY slow running Kermit with an effective speed of perhaps 300 to 600 baud
  1271. rather than 1200 or 2400 baud.  By making the packets longer, we raise the
  1272. effective speed of such a circuit.  The main restriction on the packet size
  1273. chosen is the link, a given circuit may not pass 500 character packets.  Also,
  1274. BOTH Kermits must support this extension to the protocol, they will always
  1275. negotiate it before any file transfer.  See the notes at the end of this
  1276. document for more information.
  1277.  
  1278. It is HIGHLY recommended that you use the  CRC  block  check,  as  the
  1279. default  type  one checksum could be inadequate for such long packets,
  1280. as in:
  1281. @Begin(example)
  1282. Kermit-11>SET BLO 3
  1283. @End(example)
  1284.  
  1285. @Heading(SET RECORD-FORMAT)
  1286. @Index(record-format) @Index(SET RECORD-FORMAT)
  1287. Syntax: @q(SET RECORD-FORMAT {STREAM, VARIABLE})
  1288.  
  1289. Kermit will, by default, create RMS11 variable length implied carriage control
  1290. records for text files.  You can override this and change it to create stream
  1291. ascii records with the SET RECORD-FORMAT STREAM command.  This is useful for
  1292. RSTS/E systems if you need file compatability with BASIC Plus.  This command
  1293. would be most useful in a @q<KERMIT.INI> file, which is executed by KERMIT
  1294. when Kermit starts.
  1295.  
  1296. @Heading(SET RETRY)
  1297. @Index(SET RETRY)
  1298. Syntax: (SET RETRY )@i<number>
  1299.  
  1300. SET RETRY value tells Kermit to try that many times on a NAK'ed packet
  1301. before giving up.  This should only be needed if the line is extremely
  1302. noisy or the PDP-11 host is running very  slowly  due  to  the  system
  1303. load.
  1304.  
  1305. @Heading(SET RSX)
  1306. @Index(SET RSX)
  1307.  
  1308. The SET RSX command is intended to deal with the  peculiarities  often
  1309. found  with  RSX systems.  There are currently three SET RSX commands,
  1310. as in:
  1311. @Begin(example)
  1312. Kermit-11>SET RSX FASTIO        @r<Default for packet reading,>
  1313.                                 @r(waits for <CR>.)
  1314. Kermit-11>SET RSX CHARIO        @r<Read one char at a time for>
  1315.                                 @r<packet reading.>
  1316. Kermit-11>SET RSX TC.DLU n      @r<Alters  the TC.DLU setting.>
  1317. Kermit-11>SET RSX CONNECT ALT   @r<Uses a new  (v2.33) connect>
  1318.                                 @r<driver which bypasses TTDRV>
  1319.                                 @r<flow control.>
  1320. Kermit-11>SET RSX CONNECT DEF   @r<Use old connect code (2.32)>
  1321. @End(example)
  1322. The SET RSX command is subject to change and the above options may be removed
  1323. in the future.  Note the the SET RSX CHARIO may be needed when transfering
  1324. files with parity enabled.  This command alters the method by which a packet
  1325. is read; instead of waiting for a carriage return, Kermit reads the typeahead
  1326. byte count and then issues a read for that many characters.  This is the same
  1327. method Kermit-11 ALWAYS uses under P/OS.
  1328.  
  1329. @Heading(SET RT-11 CREATE-SIZE)
  1330. @Index(SET RT-11 CREATE-SIZE)
  1331. Syntax: (SET RT-11 CREATE-SIZE )@i<number>
  1332.  
  1333. The SET RT-11 CREATE value command was added to assist those RT-11 users with
  1334. very small disks to be able to get files with sizes greater that half of the
  1335. available contiguous space available.  While this is NOT a problem going from
  1336. one Kermit-11 to another Kermit-11 since the PDP-11 Kermit supports a subset
  1337. of the protocol known as 'ATTRIBUTES', other Kermits may not support the
  1338. exchange of file sizes (most do not).  Thus if your largest contiguous space
  1339. is 300 blocks and you want to get a 250 block file, the command:
  1340. @Begin(example)
  1341. Kermit-11>@ux(set rt-11 cre 250)
  1342. @End(example)
  1343. would be needed, as RT-11 by default only allocates 50 percent of the
  1344. available space.
  1345.  
  1346. @Heading(SET RT-11 FLOW-CONTROL)
  1347. @Index(SET RT-11 FLOW-CONTROL)
  1348. Syntax: @q(SET RT-11 {FLOW-CONTROL, NOFLOW})
  1349.  
  1350. Note that for the connect command under RT-11 you will most likely need
  1351. xon/off flow control to be generated by Kermit-11.  This is enabled with the
  1352. SET RT-11 FLOW command.  This is by default NOFLOW since the modem the author
  1353. uses, a Vadic 212PA, can't handle XONs and XOFFs while in command mode.  The
  1354. solution here is to escape back to Kermit command mode after the remote system
  1355. has been logged into, and then type SET RT-11 FLOW.
  1356.  
  1357. The effect of SET RT-11 FLOW is for Kermit-11, when in connect mode, to send
  1358. an XOFF to the host every eight characters.  When the loop in the connect
  1359. module finds no more data in the input buffer, it sends up to 2 XON characters
  1360. (in case the first XON got lost) to tell the remote system to start sending
  1361. again.  The reason for doing so is that the RT-11 multiple terminal service is
  1362. very slow about handling input interrupts and does not do any of it's own flow
  1363. control when it's internal ring buffer gets full.  This has been tested at
  1364. line speeds up to 4800 baud without losing data.  This setting should not be
  1365. needed for use with the XC/XL handlers.
  1366.  
  1367. SET RT-11 FLOW has NO effect on packet transmission, since the Kermit packet
  1368. size is never mode than 96 characters, and the RT-11 input buffer is 134
  1369. characters in size.
  1370.  
  1371. The SET RT-11 [NO]FLOW command replaces the older SET RTFLOW [ON][OFF].
  1372.  
  1373. @Heading(SET RT-11 VOLUME-VERIFY)
  1374. Syntax: @q(SET RT-11 {VOLUME-VERIFY, NOVOLUME})
  1375.  
  1376. Normally RT-11 Kermit-11 will check the directory header of a disk to verify
  1377. that it most likely contains a valid RT-11 file structure before trying to
  1378. read the directory.  If for some reason your disk does not contain the
  1379. standard data at offset 760 in the header, Kermit-11 will reject the disk.
  1380. The SET RT-11 NOVOL command will instruct Kermit-11 to bypass that check.
  1381.  
  1382. @Heading(SET SEND)
  1383. @Index(SET SEND) @index(SEND)
  1384.  
  1385. The SET SEND command controls what Kermit-11 will be doing for outgoing
  1386. packets in that you may want to alter the packet terminator and/or the start
  1387. of packet character (by default, 15 octal and 1 octal respectively.  See HELP
  1388. SET RECEIVE for more information.
  1389.  
  1390. The only extra option for SET SEND is SET SEND [NO]XON.  If the command SET
  1391. SEND XON is give, then every packet sent will be prefixed with an XON
  1392. character.  This could be useful in situations where flow control is erratic.
  1393. The actual intent of this option was to try to circumvent a firmware bug in
  1394. the DHV11 when used under RSTS/E.
  1395.  
  1396. @Heading(SET SPEED)
  1397. @Index(SET SPEED) @Index(SET BAUD) @Index(baud)
  1398. Syntax: @q(SET SPEED )@i<speed>
  1399.  
  1400. SET SPEED value sets the line speed for the device specified via the SET LINE
  1401. command, and used for the CONNECT command.  Changing the speed of a terminal
  1402. line requires privilege for RSTS and RSX-11M/M+.  The SET SPEED command will
  1403. only function with a DH11, DHV11, DZ11 or DZV11 multiline interface.  Example:
  1404. @Begin(example)
  1405. Kermit-11>@ux[set speed 1200]
  1406. @End(example)
  1407. 1200 Baud would be a normal speed to use with a VA212PA or a DF03.
  1408.  
  1409. Please note that Kermit-11 CAN NOT change the speed of a DL11 type interface,
  1410. nor can it change the speed of a PDT-150 modem port.  For a PDT-150 modem
  1411. port, use a command of @q</M/S:>@i<nnnn> to change the speed to @i<nnnn> for
  1412. the @q<SPEED.SAV> program.
  1413.  
  1414. @Heading(SET TIMEOUT)
  1415. Syntax: @q(SET TIMEOUT )@i<seconds>
  1416.  
  1417. The timeout value tells Kermit how long to wait to get a packet from the other
  1418. Kermit.  If system loads are high, it may be desirable to increase this beyond
  1419. the default of 10 seconds.
  1420.  
  1421. @Heading(SET TERMINAL)
  1422. @Index(SET TERMINAL)
  1423. Syntax: @q(SET TERMINAL {TTY, VT100})
  1424.  
  1425. The SET TERMINAL command simply controls the way which Kermit-11 prints packet
  1426. counts while send or receiving a file (or group of files).  The simplest way
  1427. is the default, SET TER TTY.  Using SET TER VT100 will cause Kermit to display
  1428. headers for the numbers printed, at a possible cost in packet speed due to
  1429. screen control overhead.  On the PRO/350, VT100 is assumed.  On RSTS/E v9.0
  1430. and later, the executive is queried for the terminal type.
  1431.  
  1432. @Heading(SET UPDATE)
  1433. @Index(SET UPDATE)
  1434. Syntax: @q(SET {UPDATE @i<number>, NOUPDATE})
  1435.  
  1436. The SET UPDATE command controls the frequency at which the packet count
  1437. display is updated.  The default is 1, displaying each packet.  A SET UPD 0
  1438. will disable all packet count logs, whereas a SET UPD N will update the
  1439. display every N packets.  The SET NOUPDATE command is the same as SET UPDATE
  1440. 0.
  1441.  
  1442. @SubSection(The DIAL Command)  @Index(DIAL)
  1443.  
  1444. The DIAL command is new for version 3.29 of Kermit-11.  The DIAL command is
  1445. used to dial a number on an attached modem of known type (see SET MODEM).  To
  1446. find out the current known modems, use the SET MODEM ?  command.  The
  1447. following example shows a RACAL-VADIC VA212 modem connect to the @q<XK:> port
  1448. on a PRO/350 running P/OS version 2.
  1449. @Begin(example)
  1450. Kermit-11>set prompt PRO>
  1451. PRO>set modem va212pa
  1452. PRO>dial 5374401
  1453. Modem in command modem
  1454. Modem dialing
  1455. Connection failed, !BUSY
  1456. PRO>dial 5374411
  1457. Modem in command modem
  1458. Modem dialing
  1459. Connection made, type CONNECT to access remote
  1460. PRO>con
  1461. Enter class ? VX785A
  1462. Class start
  1463. Username: BRIAN
  1464. Password: ......................
  1465. @End(example)
  1466.  
  1467. See SET MODEM for more information.
  1468.  
  1469. @Section(System Manager's Notes)
  1470. @SubSection(Odds and Ends)
  1471.  
  1472. There are a few odds and ends that should be made aware to the system manager
  1473. of any PDP-11 system regarding Kermit-11.  They are as follows, grouped by
  1474. operating system.  Please note that installation instructions are in
  1475. @q<K11INS.DOC> and that additional information may be in Kermit-11's online
  1476. help command.
  1477.  
  1478. @heading(Restrictions)
  1479.  
  1480. Prior to version 2.21, Kermit-11 did not support 8-bit prefixing.  Prior to
  1481. version 2.23, Kermit-11 did not support repeat character encoding.
  1482.  
  1483. The PRO/RT-11 version of Kermit-11 will request 8-bit prefixing due to the
  1484. fact that the XC handler does not support 8BIT data.  For most Kermits this
  1485. should not be a problem.  The XC handler always strips bit 7 from the
  1486. character being sent, so the PRO/RT-11 version of Kermit will request
  1487. prefixing of such.  It does so internally by setting PARITY to SPACE (always
  1488. clear the high bit, bit seven).
  1489.  
  1490. Note that this implies that a SET PARITY SPACE command will force Kermit-11 to
  1491. request '8bit' prefixing in order to transfer binary files across a seven bit
  1492. link.
  1493.  
  1494. @heading(P/OS)
  1495. @Index(P/OS)
  1496.  
  1497. Kermit-11 will run on under P/OS on the Pro/350, the executable file is called
  1498. @q<K11POS.TSK>.  It does NOT run from a menu, the normal way to run it is via
  1499. the RUN command in DCL.  It will support the Kermit-11 attribute packets, thus
  1500. a PRO/350 connected to a PDP-11 host can transparently handle binary and other
  1501. types of files.  The P/OS Kermit-11 can be run either as a local Kermit or a
  1502. Kermit server.  This has been tested under P/OS version 2 connected to both a
  1503. PDP-11/23+ and PDP-11/70 RSTS/E host.
  1504.  
  1505. When Kermit-11 is started on the PRO, it will automatically do a @q<SET LINE
  1506. XK0:> and a SET SPEED 9600.  You can, of course, change the speed to whatever
  1507. you need with the SET SPEED command.  The line should be left as @q<XK0:>.
  1508.  
  1509. The top row function keys are mapped internally.  Kermit-11 maps F5 (break)
  1510. into a true BREAK (a space of 275 ms), F6 (interrupt) to Control-C, F10 to
  1511. Control-Z, F11 to escape (octal 33) and F12 to backspace (octal 10).  The
  1512. incoming escape sequence DECID is intercepted to allow Kermit-11 to send back
  1513. a device response of VT100.
  1514.  
  1515. @heading(RSTS/E)
  1516. @Index(RSTS/E)
  1517.  
  1518. Kermit-11 runs on version 7.2 or later of RSTS/E.  Due to options present in
  1519. version 8, binary file transfers will not be possible under version 7.2 of
  1520. RSTS/E.  This is due to the use of 8 bit mode for the terminal link to allow
  1521. all characters to be passed.  The so called '8BIT' terminal setting was new as
  1522. of version 8.0-06 of RSTS/E.
  1523.  
  1524. Any RSTS/E system running Kermit-11 will need the sysgen option for multiple
  1525. private delimiters in the terminal driver.  This special mode is needed since
  1526. the 'normal' RSTS/E binary terminal mode has a 'feature' that disables binary
  1527. mode whenever the terminal times out on a read.  Since timeouts are essential
  1528. to Kermit error recovery, binary mode can not be used for i/o.
  1529.  
  1530. Certain functions of Kermit-11 require that the system manager install Kermit
  1531. with temporary privileges, these commands are the SYSTEM, WHO and REMOTE HOST
  1532. commands.  Kermit-11 does NOT need these to operate correctly.
  1533.  
  1534. Kermit-11 can only be built (from source, not from HEX files) under RSTS/E
  1535. version 8.0 or later due to the use of RMS11 v2.0 and new assembler
  1536. directives.
  1537.  
  1538. Support for the server remote login is only available under RSTS/E 9.0 or
  1539. later.  Also, a REMOTE LOGIN command to a RSTS/E server will fail unless the
  1540. user has the WACNT privilege.  While the LOGIN program will skip the password
  1541. lookup if WACNT is present, Kermit will require a password.
  1542.  
  1543. @heading(RSX-11M/M+)
  1544. @Index(RSX-11M/M+)
  1545.  
  1546. Kermit-11 can not be installed non-checkpointable due to an apparent RMS11
  1547. bug.  In other words, don't try to install the task '/CKP=NO'.
  1548.  
  1549. To use the connect command effectively, typeahead support is needed in the
  1550. terminal driver.  For RSX-11M+, set the typeahead buffer size high, as in SET
  1551. /TYPEAHEAD=TT22:200.  Also, if your connect line is TT22: (as above), use the
  1552. mcr command SET/SLAVE=TT22:
  1553.  
  1554. Kermit-11 can only be built under RSX-11M version 4.1 or later, or under
  1555. RSX-11M Plus version 2.1 or later due to the use of RMS11 v2.0 and new
  1556. assembler directives.
  1557.  
  1558. There is a SET RSX command, see HELP SET RSX for further information.
  1559.  
  1560. As a side issue, please note that the file @q<K11POS.TSK> is quite usable
  1561. under RSX, the difference being that @q<K11RSX.TSK> has DECNET support and
  1562. RMS-11 overlayed in the task image (besides which, due to the lack author's
  1563. systems running RSX may not be up to date) linked into it, whereas K11POS has
  1564. NO Decnet support but IS linked to the RMS11 library RMSRES (v2), thus K11POS
  1565. saves disk space as well as supporting named directories, ala VMS style.
  1566.  
  1567. @heading(RT-11)
  1568. @Index(RT-11)
  1569.  
  1570. Kermit-11, as of version 2.20, has been tested under RT-11 version 5.0 under
  1571. the FB and XM monitors using a DZ11 line for the link, and also on a PDT-150
  1572. using the modem port for the link.  It has additionally been run under
  1573. Micro-11's and the PRO/350 using the XL and XC handlers respectively.
  1574.  
  1575. Kermit-11 requires .TWAIT support as well as multiple terminal support (unless
  1576. the XL/XC handler is used).  The use of multiple terminal support allows
  1577. Kermit-11 to use any type of interface sysgened, including the DZ11 and DZV11.
  1578. It is possible under version 5 of RT-11 to use the XL: handler instead of the
  1579. multiple terminal support.  The use of the XL: driver will result in much
  1580. faster file transfer at high baud rates.  Note that XL: must be set up at
  1581. system startup or at some time later to set the proper speed, CSR and vector.
  1582.  
  1583. For those users who do not have multiple terminal support and do not have the
  1584. XL handler, Kermit-11 will force the use of the console for data transfers.
  1585. This will require that Kermit-11 request eight bit prefixing from any other
  1586. Kermit wishing to send binary data files.  Additionally, you can force console
  1587. mode by doing a SET LINE TT:
  1588.  
  1589. Please note that the device name syntax for terminal lines follows the MT unit
  1590. numbers, thus if a SHO TER gave unit 5 for DZ11 line 0 the the device name
  1591. would be SET LINE 5.  If you use the XL handler, you would say SET LINE XL:.
  1592. To force the console to be used, you would SET LINE TT:.
  1593.  
  1594. Additionally, Kermit-11 for RT-11 looks for its help file, @q<K11HLP.HLP>,
  1595. on @q<DK:> first and then on @q<SY:> if the first one fails.
  1596.  
  1597. Full wildcarding is supported for RT-11, in the form *.type,  name.*,
  1598. *.* and the % character to match any single character.
  1599.  
  1600. Kermit-11 can only be built on RT-11 version 5.0 or later due to the use of
  1601. new assembler directives.
  1602.  
  1603. Please note that for the connect command under RT-11 and the use of the MT
  1604. service, you will most likely need xon/off flow control to be generated by
  1605. Kermit-11.  This is enabled with the SET RTFLOW ON command.  This is by
  1606. default OFF since the modem the author uses, a Vadic 212P, can't handle XONs
  1607. and XOFFs while in command mode.  The solution here is to escape back to
  1608. Kermit command mode after the remote system has been logged into, and then
  1609. type SET RTFLOW ON.
  1610.  
  1611. Due to overlaying constraints, the RT-11 Kermit-11 will not accept wildcards
  1612. for the RENAME and DELETE commands and the REMOTE server equivalents.
  1613.  
  1614. The executable files are @q<K11XM.SAV> for the XM system and PRO/350, and
  1615. K11RT4 for the FB system.
  1616.  
  1617. As a final (I hope) RT-11 note, see the RT-11 v5.1 Release Notes page 9-2 and
  1618. chapter 12.  The discussion relevant here regards the use of the XL/XC
  1619. handlers.
  1620.  
  1621. Note that the default XL: handler vector (DL-11, DLV-11) is 300 and the CSR is
  1622. 176500.  For the Micro-11, PDP-11 and LSI-11, when the DL11/DLV11 interface is
  1623. installed the field service representative will inform you what the CSR and
  1624. VECTOR are.  If they are NOT 176500 and 300, then to use the XL: handler you
  1625. will need, prior to running Kermit-11, to set them.  Suppose the DL vector is
  1626. 400 and the CSR is 176510.  Then the following DCL commands would set the
  1627. addresses for RT-11:
  1628. @Begin(example)
  1629. .SET XL CSR=176510
  1630. .SET XL VECTOR=400
  1631. @End(example)
  1632.  
  1633. You SHOULD NOT ever alter these settings for XC: on the PRO/3xx.  The ONLY
  1634. settings you can alter for the PRO/3xx is the speed, as in DCL command SET XC
  1635. SPEED=nnnn.  Kermit-11 CAN NOT alter the XC: speed itself.  As noted
  1636. previously in this document, Kermit-11 executes the Kermit-11 command SET LIN
  1637. XC: implicitly if it finds itself running on a PRO/3xx system.
  1638.  
  1639. Note that if your modem requires DTR to be present, you must use either an
  1640. interface that asserts it (as does the PDT and PRO communications port), force
  1641. it high internally to the modem, or build a cable to force it high.  See HELP
  1642. MODEM for more information.
  1643.  
  1644. @heading(TSX+)
  1645. @Index(TSX+)
  1646.  
  1647. While most of the above notes for RT-11 apply for TSX+, there are a few
  1648. differences of note.  The first, in that TSX+ is a timesharing system, allows
  1649. the Kermit user to log in normally from another system running Kermit (as in a
  1650. Rainbow) and give the TSX+ Kermit the SERVER command and commence file
  1651. transfer operations from the other system (ie, the Rainbow).  If you are
  1652. dialing INTO a TSX+ system, you need to give the TSX command:
  1653. @Begin(example)
  1654. .SET TT 8BIT
  1655. @End(example)
  1656. to be able to transfer data to your local (PC, other PDP-11,...)  system
  1657. without incurring the overhead of the Kermit protocol known as eight bit
  1658. prefixing.  If this is not possible, due to your local system requiring
  1659. parity, or some other intervening device adds parity, then you should give
  1660. Kermit the command SET PARITY SPACE, to let Kermit know that it can't send
  1661. binary data as-is.
  1662.  
  1663. To use Kermit-11 to dial out from the TSX+ system, the following commands are
  1664. needed.  Note that TSX+ commands will be preceeded by the normal RT-11 prompt,
  1665. the ever present DOT ('.'), whereas Kermit-11 commands will be prefixed by the
  1666. default Kermit-11 prompt, 'Kermit-11>':
  1667. @Begin(example)
  1668. .SET CL LINE=n          @r(Where 'n' is the unit number)
  1669. .SET CL NOLFOUT
  1670. .SET CL SPEED=n         @r(Where 'n' is the speed for that unit)
  1671. .ASS CL XL
  1672. Kermit-11>SET LIN XL:
  1673. Kermit-11>CONNECT
  1674. @End(example)
  1675. As of Kermit-11 version 3.44, you may use CL directly in the SET  LINE
  1676. command, as in:
  1677. @Begin(example)
  1678. .SET CL3 LINE=3
  1679. .R K11XM
  1680. Kermit-11>SET LIN CL3
  1681. Kermit-11>SET SPEED 1200
  1682. Kermit-11>CONNECT
  1683. @End(example)
  1684.  
  1685. A sample command file in actual use is:
  1686. @Begin(example)
  1687. SET CL3 LINE=3
  1688. SET CL3 NOLFOUT
  1689. SET CL3 TAB
  1690. SET CL3 FORM
  1691. SET CL3 SPEED=2400
  1692. ALLOCATE CL3:
  1693. R K11XM
  1694. DEALLOC CL3
  1695. SET CL3 LFOUT
  1696. SET CL3 LINE=0
  1697. SH CL
  1698. @End(example)
  1699.  
  1700. If you are running PRO/TSX+, then Kermit will make the assignment of LINE 3 to
  1701. either CL0 or CL1 if you are running Kermit from the console, ie, LINE 1.  The
  1702. speed will default to the last SET SPEED or the speed set at system boot.
  1703.  
  1704. Lastly, TSX+ needs PLAS support to use @q<K11XM.SAV>, see the installation
  1705. notes for further data.
  1706.  
  1707. @heading(RSTS/E version 9.x)
  1708. @Index(RSTS/E version 9.x)
  1709.  
  1710. RSTS/E does not control modems signals in the manner that RSX or VMS does.
  1711. VMS always asserts DTR whereas RSTS/E will not assert DTR until the terminal
  1712. driver can see RCD (also known as DCD) which is pin 8 (eight) for the RS232
  1713. connection.  To connect directly to a modem (like a VADIC 212, sorry, no DEC
  1714. modems here) we must do one of two things:
  1715. @Begin(enumerate)
  1716. Force the modem (via strapping options or whatever) to assert  RCD
  1717. (DCD)  pin  8,  thus RSTS/E will see carrier and raise DTR (pin 20 for
  1718. RS232)
  1719.  
  1720. Set  the  terminal  to  LOCAL  (RSTS/E   V9   syntax   'SET   TER
  1721. TTxx:/NODIAL/PERM')  and break pin 20 (DTR) and connect pin 20 to 8 on
  1722. the modem side.  This will cause the modem to be able to dial out  and
  1723. allow  RSTS/E  to connect to it.  You will also need to have the modem
  1724. assert RCD, pin 8.  Keep in mind that the Kermit-11 command DISCONNECT
  1725. (or  HANGUP)  will  not  function if a line is set to NODIAL (INIT SET
  1726. syntax 'LOCAL').  This has been tested on a Racal Vadic VA212.
  1727.  
  1728. Break pin 8 (RCD) and loop DTR (pin 20) on the  CPU  side  to  RCD
  1729. (pin 8) on the CPU side.  Then use the command SET DTR in Kermit-11 to
  1730. get RSTS to raise DTR and thus loop it's DTR signal back to RCD.   See
  1731. the next note regarding this.
  1732. @End(enumerate)
  1733.  
  1734. For those of you who have port switches such as the Gandalf type, there is one
  1735. additional problem.  For Gandalf, suppose you want to connect a DZ11 line to
  1736. to an AMTB2.  You will have a problem, in that the Gandalf AMTB2 wants to see
  1737. RCD (DCD) asserted to make a connection.  What you may need to do is this:
  1738.  
  1739. Make a cable for the DZ11 to AMTB2 port as follows:
  1740. @Begin(example)
  1741.         CPU side                        AMTB2 side
  1742.                         20--|
  1743.                         8---|-----------8
  1744.                         7---------------7
  1745.                         3---------------2
  1746.                         2---------------3
  1747. @End(example)
  1748. Note that 20 is tied to 8 on the CPU side.  Also, 2 is swapped for 3.
  1749.  
  1750. Then, the Kermit-11 command SET DTR, which forces RSTS to raise DTR for 30
  1751. seconds, will cause the DTR signal to loop back to the RCD (DCD) signal and
  1752. thus tell RSTS that there is carrier detect which will raise DTR (the chicken
  1753. or egg question) and get things rolling.  The Kermit-11 HANGUP (or DISCONNECT)
  1754. command will drop DTR and force the modem to break the connection.
  1755.  
  1756. @heading(RSX and Modems)
  1757. @Index(RSX) @index(modems)
  1758.  
  1759. While the author's experience on RSX is limited, the following notes may be of
  1760. use.  Dialing out on a LOCAL line will often require that the modem assert
  1761. internally DTR.  If a line is set REMOTE on RSX, the driver will assert DTR
  1762. and RTS.  For a modem, like a VA212PAR strapped at the factory defaults, this
  1763. will cause the modem to assert DSR and RCD.  On the VADIC in particular, the
  1764. modem will drop RCD during a DIAL command unless the modem is configured to
  1765. assert RCD continuously.  For dialing out, ideally the modem should be able to
  1766. assert RCD via an option or internally settable strap or switch.  If this is
  1767. not possible, an alternative is to break line 8 (RCD) and jumper DTR (20) to
  1768. RCD (8) on the CPU side.  This will force RSX to always see carrier detect and
  1769. allow a dial sequence to complete.  The Kermit-11 command DISCONNECT (or
  1770. HANGUP) will still disconnect the modem as the modem will drop from the line
  1771. when it sees DTR go low (assuming the modem is not strapped to assert DTR
  1772. internally).
  1773.  
  1774. @Section(Typical Kermit-11 Transfer Rates)
  1775. @Index(transfer rates)
  1776.  
  1777. Some sample timings for Kermit-11 and long packet support.  The packet size in
  1778. the RSTS/E to P/OS was 500 bytes, the size from RSTS/E to RSTS/E was 700
  1779. bytes.  These sizes are somewhat arbitrary, they depend more on the system's
  1780. buffering capabilities than anything else.
  1781.  
  1782. Host buffering capabilities:
  1783.  
  1784. @Begin(Format)
  1785. @tabclear()@tabset(3.0inch)
  1786. P/OS@\500 (estimated)
  1787. RSTS/E 9.0 or later@\up to 7000, given sufficient system pool
  1788. RSX-11M+@\255 (I/D space CPU only)
  1789. RSX-11M@\34
  1790. RT-11@\134 (could be larger with mod to XC/XL)
  1791. @End(Format)
  1792.  
  1793. As it can be seen, large packets make sense only for RSTS/E, P/OS and RSX-11M+
  1794. if one wishes to avoid XON/XOFF overhead at high speeds.  It should be
  1795. possible to run larger packets on M+ and RT-11 at lower speeds.
  1796.  
  1797. File transferred: @q<K11POS.TSK>, size 102,400 bytes (200 disk blocks).  Actual
  1798. data packet characters AFTER prefixing was 120,857.
  1799. @Begin(Format)
  1800. Time    Speed   Data rate       Comments
  1801. seconds baud
  1802.  
  1803. 1436    1200    84/sec          @r(11/44 to PRO/350, 'Classic' Kermit)
  1804.                                 @r(local phone call)
  1805. 1237    1200    97/sec          @r(11/44 to PRO/350, 500 Char packets)
  1806.                                 @r(local phone call)
  1807.  
  1808. 2915    1200    41/sen          @r(11/44 to PRO/350, 'Classic' Kermit)
  1809.                                 @r(local call, 1 second ACK delay.)
  1810. 1492    1200    81/sec          @r(11/44 to PRO/350, 500 Char packets)
  1811.                                 @r(local call, 1 second ACK delay.)
  1812.  
  1813. 304     9600    397/sec         @r(11/44 to 11/44, 'Classic' Kermit,)
  1814.                                 @r(connected locally via Gandalf switch.)
  1815. 245     9600    493/sec         @r(11/44 to 11/44, 700 char packets,)
  1816.                                 @r(connected locally via Gandalf switch.)
  1817. @End(Format)
  1818. The last two timings are much lower than the line speed due to the fact the
  1819. the PDP 11/44 is running 100% busy trying to keep up with character interrupts
  1820. using a normal terminal driver.  A special purpose driver, such as the XK
  1821. driver found on P/OS, would have lower overhead and allow somewhat faster data
  1822. rates.@index(long packets)
  1823.  
  1824. Long packets were chosen for Kermit-11 due to the lack of suitable interrupt
  1825. driven i/o (at this time) under one of the operating systems, RSTS/E.  The
  1826. Sliding Windows would likely function better in those situations where the
  1827. circuit delay is much higher, or when the circuit can not accommodate large
  1828. packet sizes.
  1829.  
  1830. @Section(Common Problems)
  1831. @index(common problems)
  1832. @heading(Connection Fails)
  1833.  
  1834. Check modem control signals.  RSX needs TC.DLU set to two to talk to a dial
  1835. out modem, otherwise you will need to strap or jumper signals in the modem to
  1836. have carrier detect set high.  RSTS/E also should have the modem assert
  1837. carrier detect.  If not, see the previous notes about modems.  If all else
  1838. fails, put a breakout box in the line and observe what signals are present.
  1839.  
  1840. @heading(File Transfer Fails.)
  1841. @index(Failure, file transfer)
  1842.  
  1843. If the file transfer aborts on retries immediately, there may be a parity
  1844. problem.  If the problem shows up on binary files, try a SET PAR SPACE command
  1845. to Kermit; that will force eight bit data to be prefixed into seven bits.  If
  1846. you instead get a retry about once every 10 seconds, the other Kermit is not
  1847. responding and your Kermit is timing out.  Check to see if your connection is
  1848. still present, and try the SET PARITY command.
  1849.  
  1850. If you are sending binary data between unlike Kermits, you will most likely
  1851. have to give the proper command to each to prepare them for the binary data;
  1852. this is the SET FILE command; for Kermit-11 it's SET FIL BIN (or SET FIL TYP
  1853. FIX); for VMS Kermit it's SET FIL TYP FIX.
  1854.  
  1855. If your Kermit's packets are being echoed back, try a SET SEND START value
  1856. command for your Kermit, and a SET REC START samevalue for the other Kermit.
  1857. This will force Kermit to ignore any echoed packets as they won't have the
  1858. default start of packet character (a CONTROL A, octal 1).
  1859.