home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / pick / picdoc.rno < prev    next >
Text File  |  2020-01-01  |  78KB  |  1,434 lines

  1.  
  2.     UR103
  3. 001 .HEADING
  4. 002 'L'               1    INTRODUCTION'L'
  5. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  6. 004                                                               1.3
  7. 005 -----------------------------------------------------------------
  8. 006 |  Local operation:                    No                       |
  9. 007 |  Remote operation:                   Yes                      |
  10. 008 |  Transfers text files:               Yes                      |
  11. 009 |  Transfers binary files:             No                       |
  12. 010 |  Wildcard send:                      Yes                      |
  13. 011 |  File transfer interuption:          Yes                      |
  14. 012 |  Filename collision avoidance:       No                       |
  15. 013 |  Can time out:                       Yes (non-Reality)        |
  16. 014 |  8th-bit prefixing:                  Yes                      |
  17. 015 |  Repeat count compression:           Yes                      |
  18. 016 |  Alternate block check types:        No                       |
  19. 017 |  Terminal emulation:                 No                       |
  20. 018 |  Communication settings:             No                       |
  21. 019 |  Transmit BREAK:                     No                       |
  22. 020 |  IBM mainframe communication:        No                       |
  23. 021 |  Transaction logging:                No                       |
  24. 022 |  Debug logging:                      Yes                      |
  25. 023 |  Session logging (raw download):     No                       |
  26. 024 |  Raw upload:                         No                       |
  27. 025 |  Act as server:                      No                       |
  28. 026 |  Talk to server:                     No                       |
  29. 027 |  Advanced server functions:          No                       |
  30. 028 |  Local file management:              No                       |
  31. 029 |  Command/init files:                 Yes                      |
  32. 030 |  Command macros:                     No                       |
  33. 031 |  Extended-length packets:            No                       |
  34. 032 |  Local area networks:                No                       |
  35. 033 |  MS-Windows compatibility:           No                       |
  36. 034 |  Attribute packets:                  No                       |
  37. 035 |  Sliding windows:                    No                       |
  38. 036 -----------------------------------------------------------------
  39. 037 .SP.CENTER
  40. 038 Figure A. DATA/KERMIT capabilities at a glance
  41.  
  42.     UL306
  43. 001 .HEADING
  44. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  45. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  46. 004 3.6   REALITY User Modes
  47. 005 .SKIP
  48. 006 -----------------------------------------------------------------
  49. 007 | User Modes are used in the REALITY version to speed I/O and   |
  50. 008 | to referenct the print spoolers queue table.                  |
  51. 009 -----------------------------------------------------------------
  52. 010 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  53. 011  The User Modes DK1 and DK2 will have to be MLOADed; check to see
  54. 012 that your installation does not already use frames 498 and 499 before
  55. 013 proceeding. The current version of DK1 will require a patch
  56. 014 to operate correctly with the SP-SEND function; Figure B shows the
  57. 015 use of the debugger to make this change. It is best to change the DK1
  58. 016 source variable BEGQTAB
  59. 017 to the DDDDD result of the operations of Figure B and reassemble
  60. 018 the mode befor MLOADing. This will insure that the correct code will
  61. 019 be restored if frame 499 must be reloaded in the future.
  62. 020  Packet input is done in this user mode in order to reduce to a
  63. 021 minimum the CPU time between characters. Notice that there is no
  64. 022 zero of parity bits on the characters. This means that
  65. 023 the sender should have 8-bit word length or 7-bit with space
  66. 024 parity, otherwise the MARK character (usually X'01') will not be
  67. 025 recognized. The Send-init packet received by DK1 must terminate
  68. 026 with a X'0D' somewhere but the EOL field may redefine the
  69. 027 termination character for subsequent packets.
  70.  
  71.     UL204
  72. 001 .HEADING
  73. 002 'L'     2   USER'S GUIDE'L'
  74. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  75. 004 2.4   The SET Command
  76. 005 .SKIP
  77. 006 -----------------------------------------------------------------
  78. 007 | The SET command is used to change some working parameters of  |
  79. 008 | DATA/KERMIT. With a "?", a list of argument types is shown.   |
  80. 009 -----------------------------------------------------------------
  81. 010 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  82. 011  Per the KERMIT PROTOCOL MANUAL, the SET command can be used to
  83. 012 change the working parameters from the defaults employed when DATA/KERMIT
  84. 013 is initially started. Each parameter may have subparameters as
  85. 014 defined in the 'PARAMS' item in the M/DICT for the DK account.
  86. 015 When DATA/KERMIT begins operation, it reads the 'PARAMS' item into
  87. 016 the COMMON area of the process converting the data to its own
  88. 017 "internal" format.
  89. 018  These values in the COMMON area may be changed conversationally
  90. 019 with the SET command to the extent defined in PARAMS attributes 2 and 8.
  91. 020 SHOW ALL (See next topic.) may be used to list the SETtable parameters.
  92. 021 General format is:
  93. 022 .SKIP.NOFILL
  94. 023      DATA/KERMIT>SET [ parameter{ subparameter} value ]<CR>
  95. 024                      [ ?                              ]
  96. 025                  ------------------------------------------
  97. 026 .SKIP.FILL.JUSTIFY
  98. 027  The query character in place of a parameter will make a list
  99. 028 of all SETtable parameters with an argument requirement type in
  100. 029 lower case; see Figure A.
  101. 030 The example list has been compressed into one column for display in
  102. 031 this manual.
  103.  
  104.     UR205
  105. 001 .HEADING
  106. 002 'L'               2   USER'S GUIDE'L'
  107. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  108. 004                                                               2.5
  109. 005 -----------------------------------------------------------------
  110. 006 |                                                               |
  111. 007 |  DATA/KERMIT>SHOW ALL<CR>                                     |
  112. 008 |                                                               |
  113. 009 |  CTRL-PREFIXING=#                DATAFILE=                    |
  114. 010 |  DEBUGGING=OFF                   DELAY=10                     |
  115. 011 |  EIGHT-BIT-PREFIXING=&           END-OF-LINE=13               |
  116. 012 |  LINE=1                          MARKER=1                     |
  117. 013 |  PACKET-LENGTH=80                PADDING=0                    |
  118. 014 |  PAD-CHARACTER=00                PROMPT STRING=DATA/KERMIT    |
  119. 015 |  PROMPT CHARACTER=>              REPEAT-COUNT-PROCESSING=~    |
  120. 016 |  RETRY=5                         TIMEOUT=45                   |
  121. 017 |                                                               |
  122. 018 |                                                               |
  123. 019 |  DATA/KERMIT>                                                 |
  124. 020 |                                                               |
  125. 021 -----------------------------------------------------------------
  126. 022 .SKIP 1.CENTER
  127. 023 Figure A. SHOW command usage
  128.  
  129.     UL102
  130. 001 .HEADING
  131. 002 'L'     1    INTRODUCTION'L'
  132. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  133. 004 1.2   Overview
  134. 005 .SP
  135. 006 -----------------------------------------------------------------
  136. 007 | DATA/KERMIT is a data communications program which provides   |
  137. 008 | some measure of file structure reconciliation between PICK    |
  138. 009 | systems and more traditional file systems.                    |
  139. 010 -----------------------------------------------------------------
  140. 011 .SP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  141. 012  DATA/KERMIT is an implementation of the KERMIT data commun-ications
  142. 013 protocol originally developed and distributed by the Columbia University
  143. 014 Center for Computing Activities. Version 0.3 has been
  144. 015 successfully used on the
  145. 016 Microdata (now McDonald Douglas) REALITY systems under 4.2E,
  146. 017 Ultimate coprocessor in the DEC MicroVAX II under R10*182P,
  147. 018 PC/XT compatibles under PICK R83*2.0 and PC/AT under
  148. 019 PICK R83*2.2.
  149. 020 Alternate statements in the source must be enabled or commented out
  150. 021 at installation time; there are only a few such program units listed
  151. 022 in Figure A.
  152. 023 DATA/KERMIT is very much still in the development stage
  153. 024 and a great deal of work will be necessary in order
  154. 025 to bring it up to the expectations of the KERMIT user community.
  155. 026 It will transfer error-free data however, and has been used with
  156. 027 KERMIT implementations as shown in Figure B.
  157. 028  This chapter and the next assume that DATA/KERMIT has been
  158. 029 installed and tested on your system. For installation see chapter
  159. 030 3 ^^PROGRAMMER'S REFERENCE.\\
  160. 031  The PICK Operating System (REALITY was the original imple-mentation.)
  161. 032 has only one file type in the data space of the system. Files have a
  162. 033 hashed single-key structure with variable length fields (ATTRIBUTES)
  163. 034 and records (ITEMS). Sequential files of the traditional stucture are not
  164. 035 used but are emulated by items in which each (physical) attribute
  165. 036 is treated as a line of text (or any data).
  166. 037 DATA/KERMIT resolves these incompatibilities syntactually by the use
  167. 038 of a parameter called DATAFILE. File naming may also be conventional
  168. 039 or NORMALized in the Kermit sense.
  169.  
  170.     UR307
  171. 001 .HEADING
  172. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  173. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  174. 004                                                               3.7
  175. 005 -----------------------------------------------------------------
  176. 006 | Entry:                                                        |
  177. 007 |   DICT        := "DICT" for a dictionary level or             |
  178. 008 |                  "" for the data portion                      |
  179. 009 |   FILENAME    := file name                                    |
  180. 010 |   FV          := file variable containing pointer after       |
  181. 011 |                  a successful open                            |
  182. 012 -----------------------------------------------------------------
  183. 013 .SKIP.CENTER
  184. 014 Figure A. Subroutine OPENFILE Interface
  185. 015 .SKIP
  186. 016 -----------------------------------------------------------------
  187. 017 | Entry:                                                        |
  188. 018 |   C         := crt column for message     } Both C and R zero |
  189. 019 |   R         := crt row for message        } means next line.  |
  190. 020 |   F         := file variable of message file                  |
  191. 021 |   ID        := is message item-id                             |
  192. 022 |   RESP      := multi-valued message filler segments           |
  193. 023 |                                                               |
  194. 024 | Exit:                                                         |
  195. 025 |   RESP      := user's response if paused for input            |
  196. 026 -----------------------------------------------------------------
  197. 027 .SKIP.CENTER
  198. 028 Figure B. Subroutine PERR Interface
  199. 029 .SKIP
  200. 030 -----------------------------------------------------------------
  201. 031 | Entry:                                                        |
  202. 032 |   N   := string of hexadecimal characters                     |
  203. 033 |                                                               |
  204. 034 | Exit:                                                         |
  205. 035 |   N   := decimal number                                       |
  206. 036 -----------------------------------------------------------------
  207. 037 .SKIP.CENTER
  208. 038 Figure C. Subroutine BXTD Interface
  209. 039 .SKIP
  210. 040 -----------------------------------------------------------------
  211. 041 | Entry:                                                        |
  212. 042 |   CHRSTR   := don't care                                      |
  213. 043 |                                                               |
  214. 044 | Exit:                                                         |
  215. 045 |   CHRSTR   := dynamic array as below                          |
  216. 046 |               <1,1> erase screen home cursor                  |
  217. 047 |               <1,2> erase to end of page                      |
  218. 048 |               <1,3> erase to end of line                      |
  219. 049 |               <2,1> cursor up                                 |
  220. 050 |               <2,2> cursor down                               |
  221. 051 |               <2,3> cursor left                               |
  222. 052 |               <2,4> cursor right                              |
  223. 053 |               <4>   p1,p2,p3... for TERM verb                 |
  224. 054 -----------------------------------------------------------------
  225. 055 .SKIP.CENTER
  226. 056 Figure D. Subroutine GTRMCHR Interface
  227.  
  228.     UL205
  229. 001 .HEADING
  230. 002 'L'     2   USER'S GUIDE'L'
  231. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  232. 004 2.5   The SHOW Command
  233. 005 .SKIP
  234. 006 -----------------------------------------------------------------
  235. 007 | The SHOW command displays a set of parameters as specified by |
  236. 008 | the 'PARAMS' item in the M/DICT for the DK account. SHOW ALL  |
  237. 009 | is used to display all parameter values.                      |
  238. 010 -----------------------------------------------------------------
  239. 011 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  240. 012  Each parameter may individually be displayed with the SHOW
  241. 013 command. The general format is:
  242. 014 .NOFILL.SKIP
  243. 015      DATA/KERMIT>SHOW [ parameter {subparameter} ]<CR>
  244. 016                       [ ALL                      ]
  245. 017                  -------------------------------------
  246. 018 .SKIP.FILL.JUSTIFY
  247. 019  If the subparameter is omitted and the parameter selected has
  248. 020 subparameters, all subparameters with their current values are
  249. 021 shown.
  250. 022  The SHOW ALL form will display all parameters defined in 'PARAMS'.
  251. 023 Figure A shows parameters in a two column format; format will vary
  252. 024 with terminal width set in the processes' TERM parameters.
  253.  
  254.     UR206
  255. 001 .HEADING
  256. 002 'L'               2   USER'S GUIDE'L'
  257. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  258. 004                                                               2.6
  259. 005 -----------------------------------------------------------------
  260. 006 |                                                               |
  261. 007 |   DATA/KERMIT>SEND DOC UL203 UL204 UL205<CR>                  |
  262. 008 |               ------------------------------                  |
  263. 009 |                                                               |
  264. 010 |                                                               |
  265. 011 -----------------------------------------------------------------
  266. 012 .SKIP 1.CENTER
  267. 013 Figure A. SENDing an item list
  268. 014 .SKIP 2
  269. 015 -----------------------------------------------------------------
  270. 016 |                                                               |
  271. 017 |   DATA/KERMIT>SEND DOC *<CR>                                  |
  272. 018 |               --------------                                  |
  273. 019 |                                                               |
  274. 020 -----------------------------------------------------------------
  275. 021 .SKIP 1.CENTER
  276. 022 Figure B. Wildcard SEND
  277.  
  278.     UREADME
  279. 001  This manual can be printed front and back to save space and
  280. 002 facilitate the concept of a single topic contained on facing
  281. 003 pages. To produce the manual this way
  282. 004 set PAGE DEPTH for the PRINTER at 61 with the TERM verb for
  283. 005 proper bottom margin
  284. 006 and then RUNOFF two print files:
  285. 007 one with a SAVE-LIST of item-ids of the format 'URctt'
  286. 008 and one of the format 'ULctt'
  287. 009 each in sorted order. "\c" is the chapter number and
  288. 010 "tt" is the topic. This will produce a set of Right
  289. 011 and Left facing pages respectively.
  290. 012 Physically print these jobs at 6 LPI/10 CPI on 8 1/2 x 11 inch paper with
  291. 013 the first printer column
  292. 014 adjacent to the left perforation and
  293. 015 top of form set on the third print line of the form.
  294. 016 Spine-side margins will be set to accomodate a binding or three-hole
  295. 017 punching. After printing turn the paper over and print reverse sides;
  296. 018 each print file will begin and end with a form feed.
  297. 019 The example below assumes that 'RIGHT' and 'LEFT' have been
  298. 020 defined in the dictionary of DK's DOC file pointed to by
  299. 021 Q-pointer DKD. Remember to set SP-ASSIGNments if multiple
  300. 022 copies are desired. The DICT for DKD has definitions
  301. 023 for Ultimate-, PICK-, and Microdata- LEFT and RIGHT.
  302. 024 .SKIP.NOFILL.NOJUSTIFY
  303. 025    :SSELECT DKD IF [ RIGHT ]<CR>
  304. 026                    [ LEFT  ]
  305. 027     ----------------------------
  306. 028    nnn ITEMS SELECTED.
  307. 029    >RUNOFF DKD (P)<CR>
  308. 030     ------------------
  309.  
  310.     UL103
  311. 001 .HEADING
  312. 002 'L'     1    INTRODUCTION'L'
  313. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  314. 004 1.3   Capabilities
  315. 005 .SP
  316. 006 -----------------------------------------------------------------
  317. 007 | Many capabilities are available in DATA/KERMIT and more are   |
  318. 008 | always in the testing stage.                                  |
  319. 009 -----------------------------------------------------------------
  320. 010 .SP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  321. 011  The capabilities of DATA/KERMIT 0.3 are summarized in Figure A.
  322. 012 Lack of local operation (i.e. being able to act as a terminal
  323. 013 to a remote system) is the glaring deficiency. The difficulty
  324. 014 in implementing local operation characterizes the dearth of
  325. 015 system-level programming facilities in most PICK system implementations.
  326. 016 Each system is different, the best probably being the ADDS Mentor
  327. 017 system, which provides a PROTOCOL and CONVERSE verb as well as
  328. 018 the ability to assign (or not) a terminal port to a process.
  329. 019  Many of the features marked "No" in the list are in fact in work
  330. 020 and subroutines in the PR file may be found which address these
  331. 021 shortcomings. In particular, binary file transfers, alternate
  332. 022 block checks, server operation, and attribute packets are all
  333. 023 "in work."
  334. 024 They are marked "No" simply because sufficient testing has not
  335. 025 been done to insure reliablity. Only inspection of the source
  336. 026 code will reveal if work has been done on any given feature.
  337. 027  Refer to the topic on the HELP item in DK's M/DICT and the topic
  338. 028 on the PARAMS item for details of how to test a given feature or
  339. 029 interface new code to that extant.
  340.  
  341.     UR0
  342. 001 .HEADING
  343. 002
  344. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.SKIP 20.CENTER
  345. 004 DATA/KERMIT UTILITY MANUAL
  346. 005 .SKIP 2.CENTER
  347. 006 Second Edition
  348. 007 .SKIP 5.CENTER
  349. 008 JOE FISHER -- Computer Consultant
  350. 009 .SKIP.CENTER
  351. 010 5709 Coventry Lane
  352. 011 .CENTER
  353. 012 Austin, Texas 78723-3541
  354. 013 .CENTER
  355. 014 512 928-4113
  356. 015 .SKIP 2.CENTER
  357. 016 Revised 8 August 1989
  358. 017 .SKIP 7.CENTER
  359. 018 Copyright (C) 1987,1989
  360. 019 .CENTER
  361. 020 Trustees of Columbia University in the City of New York
  362. 021 .SKIP.CENTER
  363. 022 Permission is granted to any individual or institution to copy or
  364. 023 .CENTER
  365. 024 use this document and the programs described in it, except for
  366. 025 .CENTER
  367. 026 explicitly commercial purposes.
  368.  
  369.     UL307
  370. 001 .HEADING
  371. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  372. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  373. 004 3.7   Site Specific Application Subroutines
  374. 005 .SP
  375. 006 -----------------------------------------------------------------
  376. 007 | General subroutines are used by DATA/KERMIT which it may be   |
  377. 008 | desirably replaced with available code that was cutom written |
  378. 009 | at the installation site.                                     |
  379. 010 -----------------------------------------------------------------
  380. 011 .SP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  381. 012  Several subroutines are used that are likely duplicates of
  382. 013 similar subroutines custom written at the installation site. As
  383. 014 detailed below these functions include file opening, error message
  384. 015 and response input, hex to decimal conversion in DATA/BASIC, and
  385. 016 terminal characteristics resolution.
  386. 017 If there are available generalized subroutines to perform these
  387. 018 functions, it may be desireable to replace those listed below
  388. 019 with simple interface subroutines to call the custom code
  389. 020 already available at the installation site. Figures A through D
  390. 021 will detail the interfaces.
  391. 022  OPENFILE handles error conditions and file locks in a general way.
  392. 023 The file locking provisions are not used by DATA/KERMIT and may be
  393. 024 ignored.
  394. 025  PERR prints an error message with a bell if the message item-id is
  395. 026 numberic and in certain cases pauses for an operator response for
  396. 027 return to the calling program.
  397. 028  BXTD simply converts an hexadecimal string to a decimal number.
  398. 029  GTRMCHR returns a dynamic array containing
  399. 030 strings necessary to perform vareious screen cosmetics in
  400. 031 the arrays various elements as shown in Figure D.
  401.  
  402.     UR308
  403. 001 .HEADING
  404. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  405. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  406. 004                                                               3.8
  407. 005 -----------------------------------------------------------------
  408. 006 |                     COM area variable                         |
  409. 007 |                     -----------------                         |
  410. 008 |          REMOTE.MODE                     LINE                 |
  411. 009 |          -----------                     ----                 |
  412. 010 |                                                               |
  413. 011 |   REFER TO PROGRAM 'DKIO' FOR CONVENTIONS ON THE USE OF       |
  414. 012 |   THESE VARIABLES.                                            |
  415. 013 |                                                               |
  416. 014 -----------------------------------------------------------------
  417. 015 .SKIP.CENTER
  418. 016 Figure A. Variables Determining the Mode of Operation
  419.  
  420.     UL308
  421. 001 .HEADING
  422. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  423. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  424. 004 3.8   Modes of Operation
  425. 005 .SP
  426. 006 -----------------------------------------------------------------
  427. 007 | In "local" mode operation certain variable conventions apply. |
  428. 008 -----------------------------------------------------------------
  429. 009 .SP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  430. 010  Provision has been made for all modes of Kermit operation as
  431. 011 described in the KERMIT PROTOCOL MANUAL Sixth Edition. Some of
  432. 012 these combinations will be extremely difficult to implement
  433. 013 on some PICK system implementations. The conventions illustrated
  434. 014 in Figure A however should be adhered to for compatibility
  435. 015 with updates of other subroutines.
  436.  
  437.     UR207
  438. 001 .HEADING
  439. 002 'L'               2   USER'S GUIDE'L'
  440. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  441. 004                                                               2.7
  442. 005 -----------------------------------------------------------------
  443. 006 |                                                               |
  444. 007 |   DATA/KERMIT>RECEIVE<CR>                                     |
  445. 008 |               -----------                                     |
  446. 009 |                                                               |
  447. 010 |   -                    cursor to here means "ready"           |
  448. 011 |                                                               |
  449. 012 -----------------------------------------------------------------
  450. 013 .SKIP 1.CENTER
  451. 014 Figure A. RECEIVE command usage
  452.  
  453.     UL206
  454. 001 .HEADING
  455. 002 'L'     2   USER'S GUIDE'L'
  456. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  457. 004 2.6   The SEND Command
  458. 005 .SKIP
  459. 006 -----------------------------------------------------------------
  460. 007 | Use the SEND command to transmit data (download) to the local |
  461. 008 | Kermit. Either multiple items or an all-file "*" may be used. |
  462. 009 -----------------------------------------------------------------
  463. 010 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  464. 011  To transmit items from DATA/KERMIT to the local machine, one first
  465. 012 logs into the remote host, runs DATA/KERMIT and then sets DATAFILE to
  466. 013 the source of data. After SETting any other parameters necessary
  467. 014 for the transaction, two forms of the SEND command may be used.
  468. 015 Figure A shows the item-list form; item-ids are entered
  469. 016 immediately following the command NOT surrounded with apostrophes,
  470. 017 quote marks.
  471. 018  Transmission will proceed in the order of item-id command entry.
  472. 019 The transmission may be interrupted with the standard Kermit
  473. 020 interrupt packet mechanism. See your local Kermit manual.
  474. 021 If TIMEOUT many seconds elapse with no incoming data, the retry
  475. 022 counter will be incremented and check against the RETRY limit.
  476. 023 The Microdata REALITY 4.2E version cannot timeout.
  477. 024  In addition, a "wildcard" may be used to send all items in a file.
  478. 025 This form is shown in Figure B. For file naming conventions, see topic
  479. 026 2.2.
  480.  
  481.     UL207
  482. 001 .HEADING
  483. 002 'L'     2   USER'S GUIDE'L'
  484. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  485. 004 2.7   The RECEIVE Command
  486. 005 .SKIP
  487. 006 -----------------------------------------------------------------
  488. 007 | To upload to DATA/KERMIT use the RECEIVE command.             |
  489. 008 -----------------------------------------------------------------
  490. 009 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  491. 010  The RECEIVE command will output a <CR><LF> combination which confirms
  492. 011 that the command has been parsed and considered valid. DATA/KERMIT
  493. 012 will loop waiting for a MARKER control character for
  494. 013 TIMEOUT many seconds. If no valid packet is received in that
  495. 014 time period, a NAK packet is issued the RETRY counter is incremented,
  496. 015 tested against the RETRY count setting and then either goes back
  497. 016 to a wait loop or terminates.
  498. 017  If a file type of "<0>" has been set, i.e. an ordinary data-space
  499. 018 file, the incoming Kermit filename will be used as the item-id.
  500. 019 When the DATAFILE is set to SPOOLER, the file will sent to the
  501. 020 print spooler according to the current SP-ASSIGNments.
  502. 021  Figure A shows use of the RECEIVE command.
  503.  
  504.     UR301
  505. 001 .HEADING
  506. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  507. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  508. 004                                                               3.1
  509. 005 -----------------------------------------------------------------
  510. 006 |   Program ID   Function (comment in attr. 2)             ver. |
  511. 007 |   ----------   -----------------------------             ---- |
  512. 008 |                                                               |
  513. 009 |   DKDBUG       *Print KERMIT debug data on printer            |
  514. 010 |   DKSEND       *Send file item(s)                             |
  515. 011 |   DKXMTB       *Transmit a Break Transmission pkt.            |
  516. 012 |   DKCHECK      *Checksum a packet                             |
  517. 013 |   DKINIT       *Initial Send-init parameters                  |
  518. 014 |   DKXMTD       *Transmit Data packet(s)                       |
  519. 015 |   DKXMTE       *Transmit a Error packet                       |
  520. 016 |   DKXPKTS      *Exchange packets (send or receive)            |
  521. 017 |   DKXMTF       *Transmit a File Header packet                 |
  522. 018 |   DKRCVZ       *Receive an End-of-file packet                 |
  523. 019 |   DKFPKT       *Form a packet                                 |
  524. 020 |   DKSP-SEND    *Send a spooler printfile                      |
  525. 021 |   DKFATAL      *Process fatal errors                          |
  526. 022 |   DKDPKT       *Decode a packet                               |
  527. 023 |   DKACK        *Set up an Acknowledge packet             0.3  |
  528. 024 |   DKSP-RECEIVE *Receive print file data                  0.2C |
  529. 025 |   DKSET        *Set Kermit parameters                         |
  530. 026 |   DKCNV        *Convert parameters to COM format              |
  531. 027 |   DKSTATUS     *Display Kermit status                         |
  532. 028 |   DKRECON      *Reconcile capability parameters               |
  533. 029 |   DKOPNFILE    *Open a file for processing                    |
  534. 030 |   DKRCVD       *Receive a Data packet                         |
  535. 031 |   DKHELP       *Display HELP info                             |
  536. 032 |   DKRCVE       *Receive a Error packet                        |
  537. 033 |   DKRECEIVE    *Recieve data                                  |
  538. 034 |   DKRCVF       *Receive a File name packet                    |
  539. 035 |   DKXMTS       *Transmit a Send-init packet                   |
  540. 036 |   DKDEFAULT    *Set Default parameters                        |
  541. 037 |   DKXMTZ       *Transmit a End of File packet                 |
  542. 038 |   DKVPKT       *Verify a received packet                      |
  543. 039 |   DKRCVS       *Receive a init packet to initialize      0.3  |
  544. 040 |   DKSERVER     *Go into SERVER mode                      0.3  |
  545. 041 -----------------------------------------------------------------
  546. 042 .SKIP.CENTER
  547. 043 Figure A. DATA/KERMIT program unit names and functions
  548.  
  549.     UR302
  550. 001 .HEADING
  551. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  552. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  553. 004                                                               3.2
  554. 005 -----------------------------------------------------------------
  555. 006 |   Pos. Name                Pos. Name                          |
  556. 007 |   ---- ----                ---- ----                          |
  557. 008 |                                                               |
  558. 009 |    1   Command.line        33                                 |
  559. 010 |    2   Help.list           34   F.TYPE                        |
  560. 011 |    3   Err.msg.FV          35                                 |
  561. 012 |    4   MARK                36   RECORD                        |
  562. 013 |    5   Pkt.sequence        37                                 |
  563. 014 |    6   DATA                38                                 |
  564. 015 |    7   CHECK               39                                 |
  565. 016 |    8   Pkt.type            40                                 |
  566. 017 |    9   LIMIT               41   ID                            |
  567. 018 |   10   Debug.mode          42                                 |
  568. 019 |   11   DELAY               43                                 |
  569. 020 |   12   Default.params      44   F.NAME                        |
  570. 021 |   13   Log.flag            45   Data.FV                       |
  571. 022 |   14   Log.FV              46   Data.file.name                |
  572. 023 |   15   DK-MD.FV            47                                 |
  573. 024 |   16                       48                                 |
  574. 025 |   17   MAXL                49   SMAXL                         |
  575. 026 |   18   TIMEOUT             50   STIMEOUT                      |
  576. 027 |   19   NPAD                51   SNPAD                         |
  577. 028 |   20   PADC                52   SPADC                         |
  578. 029 |   21   EOL                 53   SEOL                          |
  579. 030 |   22   QCTL                54   SQCTL                         |
  580. 031 |   23   QBIN                55   SQBIN                         |
  581. 032 |   24   CHKT                56   SCHKT                         |
  582. 033 |   25   REPT                57   SREPT                         |
  583. 034 |   26   CAPAS               58   SCAPAS                        |
  584. 035 |   27   RETRY               59                                 |
  585. 036 |   28   MODE                60                                 |
  586. 037 |   29                       61                                 |
  587. 038 |   30                       62                                 |
  588. 039 |   31                       63                                 |
  589. 040 |   32                       64                                 |
  590. 041 -----------------------------------------------------------------
  591. 042 .SKIP.CENTER
  592. 043 Figure A. DATA/KERMIT COMMON variable locations
  593.  
  594.     UL301
  595. 001 .HEADING
  596. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  597. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  598. 004 3.1   Overview
  599. 005 .SKIP
  600. 006 -----------------------------------------------------------------
  601. 007 | DATA/KERMIT version 0.3 is written principally in DATA/BASIC  |
  602. 008 | in the style of a number of small subroutines. The I/O code   |
  603. 009 | is isolated and uses some Assembler code.                     |
  604. 010 -----------------------------------------------------------------
  605. 011 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  606. 012  Since DATA/KERMIT is and may always be in the development stage,
  607. 013 the primary concern for the style of the coding is that the
  608. 014 whole system be easy to change and port. Ease of change and debug
  609. 015 is afforded by exploiting the independently prepared and indirectly
  610. 016 callable subroutines of DATA/BASIC with the convention that no
  611. 017 source unit will exceed one CRT screen in size (24 x 80). This
  612. 018 permits changes to be made and verified in small steps.
  613. 019  Portability to other implementations of PICK
  614. 020 systems is simplified by isolating any statements peculiar to a given
  615. 021 system and commenting these lines in the source. Alternate source should
  616. 022 be commented as such and REMarked out.
  617. 023 Those program units requiring this type of change have an exclamation
  618. 024 point as the first value of attribute 4 of their source code items.
  619. 025 Those not needing change have an asterisk.
  620. 026  Added sophistication demands either a recoding in
  621. 027 assembler or the addition of monitor code to implement all of the
  622. 028 features seen in programs of the Kermit protocol running on other
  623. 029 systems. This consideration makes it imperative that all I/O
  624. 030 be isolated in source by system.
  625. 031  Figure A lists the program units with the comment line
  626. 032 (attribute 2) and release/revision level from each.
  627. 033 Line 1 contains either the SUBROUTINE
  628. 034 statement or *MAIN in the case of KERMIT. In the third attribute of
  629. 035 each unit is the date of last modification, the programmer's initials,
  630. 036 and the DATA/KERMIT version.
  631. 037  Attribute 4 of each program unit contains a multivalued list of
  632. 038 the names of subroutines called by that unit. The asterisk is always
  633. 039 the first value to denote a comment. This permits LIST WITHIN type
  634. 040 statement to make an indented subroutine listing; handy for debugging.
  635.  
  636.     UR201
  637. 001 .HEADING
  638. 002 'L'               2   USER'S GUIDE'L'
  639. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  640. 004                                                               2.1
  641. 005 -----------------------------------------------------------------
  642. 006 |   .  .  .  .  .                                               |
  643. 007 |   setup local Kermit                                          |
  644. 008 |   .  .  .  .  .                                               |
  645. 009 |                                                               |
  646. 010 |   local-Kermit-prompt>CONNECT <CR>                            |
  647. 011 |                       ------------                            |
  648. 012 |                                                               |
  649. 013 |   LOGON PLEASE: your-account-name <CR>                        |
  650. 014 |                 ----------------------                        |
  651. 015 |   PASSWORD: your-password <CR>                                |
  652. 016 |             ------------------                                |
  653. 017 |                                                               |
  654. 018 |   .  .  .  .  .                                               |
  655. 019 |   any remote logon messages or prompt/responses               |
  656. 020 |   .  .  .  .  .                                               |
  657. 021 |   :KERMIT <CR>                                                |
  658. 022 |    -----------                                                |
  659. 023 |                                                               |
  660. 024 |- - - - - - - - - - - - clear  screen - - - - - - - - - - - - -|
  661. 025 |                                                               |
  662. 026 |      DATA/KERMIT   version 0.3                                |
  663. 027 |   DATA/KERMIT>HELP <CR>                                       |
  664. 028 |               ---------                                       |
  665. 029 |   command/argument list                                       |
  666. 030 |   .  .  .  .  .                                               |
  667. 031 |                                                               |
  668. 032 -----------------------------------------------------------------
  669. 033 .SKIP 1.CENTER
  670. 034 Figure A. Starting DATA/KERMIT
  671. 035 .SKIP 1
  672. 036 -----------------------------------------------------------------
  673. 037 |                                                               |
  674. 038 |   DATA/KERMIT>SET DATAF DKD <CR>                              |
  675. 039 |               ------------------                              |
  676. 040 |                                                               |
  677. 041 |   DATA/KERMIT>show datafile<CR>                               |
  678. 042 |               -----------------                               |
  679. 043 |                                                               |
  680. 044 |   DATAFILE=DKD <0>                                            |
  681. 045 |                                                               |
  682. 046 |   DATA/KERMIT>set data SPOOLER<CR>                            |
  683. 047 |               --------------------                            |
  684. 048 |                                                               |
  685. 049 |   DATAFILE=SPOOLER <3>                                        |
  686. 050 |                                                               |
  687. 051 -----------------------------------------------------------------
  688. 052 .SKIP 1.CENTER
  689. 053 Figure B. Setting DATAFILE
  690.  
  691.     UL302
  692. 001 .HEADING
  693. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  694. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  695. 004 3.2   COMMON Area
  696. 005 .SP
  697. 006 -----------------------------------------------------------------
  698. 007 | All DATA/KERMIT programs reference a COMMON area of 64 var-   |
  699. 008 | iables.  For most programs only a STATUS argument is passed.  |
  700. 009 -----------------------------------------------------------------
  701. 010 .SP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  702. 011  The COMMON area is set at 64 variables in the main program KERMIT
  703. 012 even though the entire area is not referenced in each of the
  704. 013 subroutines. DATA/BASIC handles this nicely by the assignment of
  705. 014 variable locations in the Descriptor Table. Xi (i=1,2,3,...) is
  706. 015 used in the source code to "dummy" out variables that are not
  707. 016 referenced by specific subroutines, i.e. X3(5) means that the next 5
  708. 017 variables are not referenced. Figure A gives a complete listing of the
  709. 018 COMMON area and an example variable name. Those with no name are
  710. 019 not used in version 0.2.
  711.  
  712.     UL999
  713. 001 .HEADING
  714. 002
  715. 003 .BEGIN PAGE.LEFT MARGIN 5.FOOTING
  716. 004 Credits                   Printed 'D'
  717. 005 .NOFILL.SKIP 2.CENTER
  718. 006 DATA/KERMIT UTILITY MANUAL
  719. 007 .SKIP 2.CENTER
  720. 008 Second Edition
  721. 009 .SKIP 2.CENTER
  722. 010 Revised 8 August 1989
  723. 011 .SKIP 5.CENTER
  724. 012 Contributing Authors
  725. 013 .CENTER
  726. 014 ------------ -------
  727. 015 .SKIP
  728. 016 Joe Fisher - Computer Consultant, Editor
  729. 017 Gerry Savary, Gould Inc., Circuit Protection Div.
  730. 018 .SKIP 30
  731. 019 Trademark credits:
  732. 020   Microdata, REALITY, SEQUEL - McDonald Douglas Computer Systems Co.
  733. 021   PICK - Pick Systems
  734. 022   DEC, VAX, VMS, microVMS - Digital Equipment Corp.
  735. 023   IBM - International Business Machines
  736. 024   Ultimate - Ultimate Corporation
  737. 025 .BEGIN PAGE
  738. 026 .FOOTING
  739. 027
  740. 028 .BEGIN PAGE
  741.  
  742.     UR303
  743. 001 .HEADING
  744. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  745. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  746. 004                                                               3.3
  747. 005 -----------------------------------------------------------------
  748. 006 |                                                               |
  749. 007 |   Filename            DICT M,S  DATA M,S                      |
  750. 008 |   --------            --------  --------                      |
  751. 009 |                                                               |
  752. 010 |   M/DICT              3,1                                     |
  753. 011 |   PR                  1,1       37,1                          |
  754. 012 |   DOC                 1,1       7,1                           |
  755. 013 |   UM                  1,1       3,1                           |
  756. 014 |   ERRFILE             1,1       1,1                           |
  757. 015 |   SUBS                1,1       3,1                           |
  758. 016 |                                                               |
  759. 017 -----------------------------------------------------------------
  760. 018 .SKIP.CENTER
  761. 019 Figure A. DATA/KERMIT files
  762. 020 .SKIP
  763. 021 -----------------------------------------------------------------
  764. 022 |                                                               |
  765. 023 |  DK filename         Columbia U. \filename                     |
  766. 024 |                   DICT portion        DATA portion            |
  767. 025 |  -----------      ------------        ------------            |
  768. 026 |                                                               |
  769. 027 |  PR               PICPR.DIC           PICPR.BAS               |
  770. 028 |  DOC              PICDOC.DIC          PICDOC.RNO              |
  771. 029 |  M/DICT           PICMD.DIC           none                    |
  772. 030 |  ERRFILE          PICERR.MSG          PICERR.MSG              |
  773. 031 |  SUBS             PICSUB.DIC          PICSUB.BAS              |
  774. 032 |  UM               PICUM.DIC           PICUM.ASM               |
  775. 033 |                                                               |
  776. 034 -----------------------------------------------------------------
  777. 035 .SKIP.CENTER
  778. 036 Figure B Corresponding Columbia U. \filenames
  779.  
  780.     UL201
  781. 001 .HEADING
  782. 002 'L'     2   USER'S GUIDE'L'
  783. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  784. 004 2.1   Overview
  785. 005 .SP
  786. 006 -----------------------------------------------------------------
  787. 007 | The file structure of the PICK system is unique and the DATA- |
  788. 008 | FILE parameter designates the source and destination file on  |
  789. 009 | the PICK side of a transaction.  Commands can be added and    |
  790. 010 | tested independently; the Kermit Protocol Manual if followed  |
  791. 011 | with respect to command syntax.                               |
  792. 012 -----------------------------------------------------------------
  793. 013 .SP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  794. 014  The most significant difference between DATA/KERMIT and other
  795. 015 implementations of the Kermit protocol involve the PICK systems
  796. 016 file structures. Most operating systems treat a file as
  797. 017 just a collection of data that through one convention or
  798. 018 another is divided into logical records. The interpretation
  799. 019 of the contents of these records is not the concern of the
  800. 020 operating system itself but is left to some higher level
  801. 021 algorithms. In PICK systems part of the mechanism to separate
  802. 022 data into units below the record level is
  803. 023 the concern of the operating system itself. This design
  804. 024 coupled with the use of only one file type at the user data
  805. 025 level makes it necessary for DATA/KERMIT's logic
  806. 026 to syntactually reconcile these differences.
  807. 027 Topic 2.2 summarizes PICK systems file name conventions and file
  808. 028 specifications.
  809. 029  This chapter assumes that DATA/KERMIT is installed on your
  810. 030 system and is usually started by setting up your local Kermit
  811. 031 for the physical data line dicipline and issuing the
  812. 032 CONNECT command. Logon to the PICK system and at TCL enter
  813. 033 the KERMIT command as per Figure A. Before any file I/O transfer
  814. 034 can take place, you must SET DATAFILE in DATA/KERMIT; see Figure B.
  815. 035 Note that SET DATAFILE SPOOLER will only work when the user-modes
  816. 036 are assembled and loaded to access the spooler job table.
  817. 037  So far as reasonable, the KERMIT PROTOCOL MANUAL, Sixth Edition, has
  818. 038 been used to structure the command set. Additional commands can be
  819. 039 added without changing any of the code or parameters supplied in
  820. 040 the release by writing a subroutine with name "DKcommand".
  821. 041 This "command" can be executed with the "!" prefix
  822. 042 in front of the command or by adding the "command" to the
  823. 043 'HELP' item in the M/DICT for account DK.
  824. 044 SET permits a "SET ?" version as an aid to use, and "SHOW ALL"
  825. 045 is also permissible.
  826. 046 Minimally uniuqe command/parameter tokens are also permitted,
  827. 047 and can be entered in either upper or lower case.
  828. 048 Data values though are case sensitive.
  829. 049  In general, PICK systems have a fixed process set which is
  830. 050 determined at boot time, i.e. \processes can not be created or deleted.
  831. 051 Usually each async port on a system is associated with only
  832. 052 one of these processes and cannot be controlled by another
  833. 053 process. Release 0.3 of DATA/KERMIT therefore cannot operate in local
  834. 054 mode. Local mode may be implementable on Honeywell-based
  835. 055 Ultimate systems or older DEC-based models, or ADDS Mentor systems;
  836. 056 we would greatly
  837. 057 appreciate reports of anyone working on such a capability.
  838.  
  839.     UR202
  840. 001 .HEADING
  841. 002 'L'               2   USER'S GUIDE'L'
  842. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  843. 004                                                               2.2
  844. 005 -----------------------------------------------------------------
  845. 006 | DATAFILE |space|  PICK  |        Kermit SEND File Name        |
  846. 007 |  setting |type |  space |   NORMAL   |       non-NORMAL       |
  847. 008 |==========|=====|========|============|========================|
  848. 009 |          |     |        |            |                        |
  849. 010 | SPOOLER  | <3> |printjob| SPnnn.     | SPOOLER.nnn            |
  850. 011 |          |     |        |            |                        |
  851. 012 |          |     |        |    nnn is spooler print job #       |
  852. 013 |----------|-----|--------|-------------------------------------|
  853. 014 |          |     |        |                                     |
  854. 015 | ABS      | <2> |abs     |  not yet implemented                |
  855. 016 |          |     |        |                                     |
  856. 017 |----------|-----|--------|-------------------------------------|
  857. 018 |          |     |        |                                     |
  858. 019 | POINTER  | <1> |pointer |  not yet implemented                |
  859. 020 |          |     |        |                                     |
  860. 021 |----------|-----|--------|-------------------------------------|
  861. 022 |          |     |        |            |                        |
  862. 023 | [ DICT ] |     |        |            |                        |
  863. 024 | filename | <0> | file   | id.fil     | item-id.filename       |
  864. 025 |          |     |        |            |                        |
  865. 026 |          |     |        |  "id" is first 6 chars if item-id   |
  866. 027 |          |     |        |  "fil" is first 3 char of filename  |
  867. 028 -----------------------------------------------------------------
  868. 029 .SKIP 1.CENTER
  869. 030 Figure A. DATAFILE Parameter Conventions
  870.  
  871.     UR304
  872. 001 .HEADING
  873. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  874. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  875. 004                                                               3.4
  876. 005 -----------------------------------------------------------------
  877. 006 | *MAIN                                                         |
  878. 007 | *Read ANSI formatted tape; convert to file item(s).           |
  879. 008 | *12/30/86 JF3 4.2E                                            |
  880. 009 | OPEN "DICT","DK" ELSE PRINT "No DICT DK!";STOP                |
  881. 010 | READ ST FROM "ANSITAPE" ELSE                                  |
  882. 011 |   PRINT "No ANSITAPPE in DICT DK!";STOP                       |
  883. 012 | END;PRINT "DESTINATION FILE NAME:":;INPUT file.name           |
  884. 013 | OPEN "",file.name ELSE PRINT "No such file!";STOP             |
  885. 014 | EQU Symbol TO RCW;STATE=1;D=0;LOOP                            |
  886. 015 |   p=1;READT block ELSE p=0                                    |
  887. 016 |   IF p THEN Symbol=block[p,4]                                 |
  888. 017 |   I=ST<3-p,STATE>;BEGIN CASE                                  |
  889. 018 |   CASE I=2;IF Symbol#"VOL1" THEN GO 9                         |
  890. 019 |   CASE I=3                                                    |
  891. 020 |     IF Symbol="HDR1" THEN                                     |
  892. 021 |       file.name=block[5,17];ext=TRIM(FIELD(file.name,".",2))  |
  893. 022 |       IF ext[1,2]="DK" THEN                                   |
  894. 023 |         file.name=FIELD(file.name,".",1);a=1;item=""          |
  895. 024 |       END                                                     |
  896. 025 |     END ELSE I=0                                              |
  897. 026 |   CASE I=4                                                    |
  898. 027 |     IF Symbol="VOL1" THEN D=-1 ELSE                           |
  899. 028 |       LOOP UNTIL RCW="" OR RCW[1,1]="_^" DO                    |
  900. 029 |         item<a>=block[p+4,RCW-4];a=a+1;p=p+RCW;RCW=block[p,4] |
  901. 030 |       REPEAT;p=1;I=0                                          |
  902. 031 |     END                                                       |
  903. 032 |   CASE I=5                                                    |
  904. 033 |     IF Symbol="EOF1" THEN                                     |
  905. 034 |       WRITE item ON file.name                                 |
  906. 035 |     END ELSE I=0                                              |
  907. 036 |   CASE I=8;D=5                                                |
  908. 037 |   CASE I=9                                                    |
  909. 038 | 9   PRINT "FORMAT ERROR!";PRINT "STATE=":STATE;STATE=99       |
  910. 039 |     IF p THEN PRINT block                                     |
  911. 040 |   END CASE;IF I THEN STATE=ST<4,STATE>+D;D=0                  |
  912. 041 | UNTIL STATE>=9 DO REPEAT                                      |
  913. 042 | REWIND ELSE PRINT "TAPE NOT READY!"                           |
  914. 043 | END                                                           |
  915. 044 -----------------------------------------------------------------
  916. 045 .SKIP.CENTER
  917. 046 Figure A. DATA/BASIC Program ANSITAPE
  918. 047 .SKIP 2
  919. 048 -----------------------------------------------------------------
  920. 049 |                                                               |
  921. 050 |     ANSITAPE                                                  |
  922. 051 | 001 X                                                         |
  923. 052 | 002 2]9]3]0]4]9]5]0                                           |
  924. 053 | 003 9]9]8]1]1]9]9]1                                           |
  925. 054 | 004 3]9]4]5]7]9]8]3                                           |
  926. 055 |                                                               |
  927. 056 -----------------------------------------------------------------
  928. 057 .CENTER
  929. 058 Figure B. State Table item in DICT DK
  930.  
  931.     UL303
  932. 001 .HEADING
  933. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  934. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  935. 004 3.3   Installation of Programs
  936. 005 .SKIP
  937. 006 -----------------------------------------------------------------
  938. 007 | Since the PICK system is implemented in several different     |
  939. 008 | ways only a generic installation proceedure is given.  The    |
  940. 009 | primary consideration is to facilitate updates and debugging. |
  941. 010 -----------------------------------------------------------------
  942. 011 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  943. 012  In order to facilitate the distribution of DATA/KERMIT to as many
  944. 013 sites as possible and to maintain a single program product,
  945. 014 DATA/KERMIT will likely be distributed as a collection of items in six
  946. 015 files as listed in Figure A. The steps necessary to
  947. 016 install DATA/KERMIT on any given implementation of the PICK
  948. 017 system will vary with that implementation and more topics contributed for
  949. 018 this manual detailing those proceedures will be greatly
  950. 019 appreciated by the editor and included herein.
  951. 020 The design intent of this manual is to detail document each program unit
  952. 021 and ancillary data item as a separate topic so that modifications
  953. 022 and new implementations can be done in a straight forward manner.
  954. 023  The only logical tape format common to all PICK implementations is
  955. 024 the T-DUMP format for a file of items. All PICK-like systems
  956. 025 seem to be able to T-LOAD data T-DUMPed by any other system.
  957. 026 DATA/KERMIT can best be installed by creating the files in the
  958. 027 list shown in Figure A with suggested MODULO and SEPARATIONS and
  959. 028 then loading the various data into them.
  960. 029  Should it be necessary to bootstrap from "text" files as distributed
  961. 030 by Columbia University, any method of moving the files to the PICK
  962. 031 system is done first. Spooling from tape to hold entry and then to
  963. 032 data files with SP-EDIT may work. Line numbers have been retained
  964. 033 in these "text" files to accomodate reconstruction with the PICK
  965. 034 EDITOR and confirm their integrety; after loading, line numbers must
  966. 035 be deleted with the editor. The Columbia files must then be broken
  967. 036 up into items in the DK account files whose correspondence is
  968. 037 shown in Figure B.
  969. 038  In the dictionary files and in ERRFILE, the
  970. 039 right bracket characters must be changed to
  971. 040 value marks, and backslashes to subvalue marks.
  972. 041 Item 'PARAMS' attribute 6 in MD has both right brackets and vaule marks!
  973. 042 Study it carefully; right brackets will be paired with left brackets,
  974. 043 value marks will not.
  975.  
  976.     UR305
  977. 001 .HEADING
  978. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  979. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  980. 004                                                               3.5
  981. 005 -----------------------------------------------------------------
  982. 006 |                                                               |
  983. 007 | :T-ATT<CR>                                                    |
  984. 008 |  ---------                                                    |
  985. 009 | [92] TAPE ATTACHED, RECORD SIZE = 512                         |
  986. 010 |                                                               |
  987. 011 | :T-RDLBL 1<CR>                                                |
  988. 012 |  -------------                                                |
  989. 013 | LABEL = DATA/KERMIT 0.2C}11:34:22  07 JAN 1987                |
  990. 014 |                                                               |
  991. 015 | :ACCOUNT-RESTORE<CR>                                          |
  992. 016 |  -------------------                                          |
  993. 017 |   DK 9521,3,1                                                 |
  994. 018 |    PR 12974,1,1                                               |
  995. 019 |     DL/ID 10859,37,1                                          |
  996. 020 |    UM 7155,1,1                                                |
  997. 021 |     DL/ID 9622,5,1                                            |
  998. 022 |   MD 9521,3,1 (S)                                             |
  999. 023 |    DOC 10337,1,1                                              |
  1000. 024 |     DL/ID 10338,7,1                                           |
  1001. 025 |   DL/ID 9521,3,1 (S)                                          |
  1002. 026 |   M/DICT 9521,3,1 (S)                                         |
  1003. 027 |    ERRFILE 10898,1,1                                          |
  1004. 028 |     DL/ID 10899,1,1                                           |
  1005. 029 |    SUBS 10900,1,1                                             |
  1006. 030 |     DL/ID 10901,3,1                                           |
  1007. 031 -----------------------------------------------------------------
  1008. 032 .SKIP.CENTER
  1009. 033 Figure A. DATA/KERMIT Restore from Tape
  1010. 034 .SKIP
  1011. 035 -----------------------------------------------------------------
  1012. 036 | :DK-SETUP                                                     |
  1013. 037 | ACCOUNT NAME?accountname<CR>                                  |
  1014. 038 |              ---------------                                  |
  1015. 039 |                                                               |
  1016. 040 | nn  ITEMS SELECTED.                                           |
  1017. 041 | 'DKname' ADDED                                                |
  1018. 042 |   . . . . .                                                   |
  1019. 043 |                                                               |
  1020. 044 | 'KERMIT' ADDED                                                |
  1021. 045 -----------------------------------------------------------------
  1022. 046 .SKIP.CENTER
  1023. 047 Figure C. Setting Up a User Account for DATA/KERMIT
  1024.  
  1025.     UR101
  1026. 001 .HEADING
  1027. 002 'L'               1    INTRODUCTION'L'
  1028. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  1029. 004                                                               1.1
  1030. 005 -----------------------------------------------------------------
  1031. 006 |   CONVENTION    MEANING                                       |
  1032. 007 |   ----------    -------                                       |
  1033. 008 |                                                               |
  1034. 009 |   UPPER CASE    Characters or words printed in upper case are |
  1035. 010 |                 required and must appear exactly as shown.    |
  1036. 011 |                                                               |
  1037. 012 |   lower case    Characters or words printed in lower case are |
  1038. 013 |                 parameters to be supplied by the user (e.g.,  |
  1039. 014 |                 file name, column number, data, etc.) or      |
  1040. 015 |                 displayed by the system.                      |
  1041. 016 |                                                               |
  1042. 017 |   {}            Braces surrounding a word and/or parameter    |
  1043. 018 |                 indicate that the word and/or parameter is    |
  1044. 019 |                 optional and may be included or omitted at    |
  1045. 020 |                 the user's option.                            |
  1046. 021 |                                                               |
  1047. 022 |   {}...         If an elipses (i.e., three dots) follows the  |
  1048. 023 |                 terminating bracket, then the enclosed word   |
  1049. 024 |                 and/or parameter may be omitted or repeated   |
  1050. 025 |                 an arbitrary number of times.                 |
  1051. 026 |                                                               |
  1052. 027 |   [ \word1 ]     Brackets surrounding a column of words or     |
  1053. 028 |   [ word2 ]     parameters means that a choice of one is      |
  1054. 029 |   . . . . .     \required. The brackets are not entered and    |
  1055. 030 |   [ wordN ]     the column begins on the main example line.   |
  1056. 031 -----------------------------------------------------------------
  1057. 032 .SKIP.CENTER
  1058. 033 Figure A. Conventions Used in General Formats
  1059. 034 .SKIP 2
  1060. 035 -----------------------------------------------------------------
  1061. 036 |   CONVENTION    MEANING                                       |
  1062. 037 |   ----------    -------                                       |
  1063. 038 |                                                               |
  1064. 039 |   TEXT          Underlined test is user's input.              |
  1065. 040 |   ----                                                        |
  1066. 041 |                                                               |
  1067. 042 |   TEXT          Standard text represents system output.       |
  1068. 043 |                                                               |
  1069. 044 |   _<NOCR_>        This symbol means no terminator necessary.    |
  1070. 045 |                                                               |
  1071. 046 |   _<SP_>          This symbol represents a blank (space).       |
  1072. 047 |                                                               |
  1073. 048 |   _<GS_>          Control characters are represented by their   |
  1074. 049 |                 standard ASCII mnemonic designators. For      |
  1075. 050 |                 example, GS is the ASCII standard symbol      |
  1076. 051 |                 for Group Seperator: X'1D'.                   |
  1077. 052 |                                                               |
  1078. 053 -----------------------------------------------------------------
  1079. 054 .SKIP.CENTER
  1080. 055 Figure B. Conventions Used in Examples
  1081.  
  1082.     UL202
  1083. 001 .HEADING
  1084. 002 'L'     2   USER'S GUIDE'L'
  1085. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  1086. 004 2.2   File Specifications
  1087. 005 .SKIP
  1088. 006 -----------------------------------------------------------------
  1089. 007 | The DATAFILE parameter has been added to DATA/KERMIT to indi- |
  1090. 008 | cate the "space" from/to which data will be sent/received. In |
  1091. 009 | the SEND command an "*" means all items. The RECEIVE command  |
  1092. 010 | may designate the item-id of the incoming file.               |
  1093. 011 -----------------------------------------------------------------
  1094. 012 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  1095. 013  In all PICK implementations each "file" in the PICK sense of the word
  1096. 014 is composed of
  1097. 015 a set of items, each of which is handled by DATA/KERMIT as a "file"
  1098. 016 in the Kermit sense.
  1099. 017 In addition to the "file-space" in a PICK system, there is
  1100. 018 also "pointer-space", "abs-space"
  1101. 019 and "printjob-space". Since
  1102. 020 data in these alternate "spaces"
  1103. 021 will likely
  1104. 022 be of as much interest to Kermit users as file-space data,
  1105. 023 provision within DATA/KERMIT has been made to accomodate naming them.
  1106. 024 This mechanism is the DATAFILE parameter which indicates the space
  1107. 025 from or to which a Kermit transaction will occur.
  1108. 026 Figure A summarizes these conventions in tabular form.
  1109. 027  As of Release 0.3 only the DATAFILE reserved name SPOOLER has been
  1110. 028 implemented for printjob-space.
  1111. 029 Assembler modes are necessary for SEND access to this space and
  1112. 030 they are provided only for Microdata 4.2E and VAX-based Ultimate R10
  1113. 031 systems.
  1114. 032  At TCL (Terminal Command Language) an item is usually referenced
  1115. 033 by specifing a file name and item-id seperated by a space. This
  1116. 034 is confusing for new users of PICK systems who are
  1117. 035 experienced users of other operating systems as well as
  1118. 036 experienced Kermit users.  So to remain in syntactual
  1119. 037 agreement with the KERMIT PROTOCOL MANUAL, the DATAFILE parameter
  1120. 038 was added to DATA/KERMIT.
  1121. 039  The SEND command is followed by a list of item-ids of items
  1122. 040 to be sent as Kermit files.
  1123. 041 Wildcarding as is commonly used in many systems has only one
  1124. 042 variation in PICK systems: the "*" used in place of an item-id
  1125. 043 list to indicate all items in a file. This convention is used only in
  1126. 044 TCL-II verbs. ENGLISH/RECALL/ACCESS verbs must use the SELECT verb
  1127. 045 or a variant to build a list of item-ids.
  1128. 046 The convention is retained in DATA/KERMIT.
  1129. 047 File naming during the Kermit transaction is described in a later topic.
  1130. 048  When the RECEIVE command is issued, the incoming file will be stored
  1131. 049 in the space currently pointed to by DATAFILE.
  1132. 050 If a "<0>" type file is currently SET, the Kermit file will be stored
  1133. 051 as an item whose id is the file name sent by the other
  1134. 052 Kermit. See the RECEIVE command topic.
  1135. 053 If a "<3>" type DATAFILE is currently SET, i.e. SPOOLER, the incoming
  1136. 054 file will be stored in printjob-space as an spooler "entry number" and
  1137. 055 treated normally according to the processes SP-ASSIGNments.
  1138.  
  1139.     UR203
  1140. 001 .HEADING
  1141. 002 'L'               2   USER'S GUIDE'L'
  1142. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  1143. 004                                                               2.3
  1144. 005 -----------------------------------------------------------------
  1145. 006 |                                                               |
  1146. 007 |   EXIT to TCL                                                 |
  1147. 008 |   HELP by giving this message                                 |
  1148. 009 |   RECEIVE file records                                        |
  1149. 010 |   SEND file records                                           |
  1150. 011 |   SET a parameter                                             |
  1151. 012 |   Show parameter value(s)                                     |
  1152. 013 |   VERSION of this Kermit                                      |
  1153. 014 |                                                               |
  1154. 015 -----------------------------------------------------------------
  1155. 016 .SKIP 1.CENTER
  1156. 017 Figure A. HELP command output
  1157. 018 .SKIP 2
  1158. 019 -----------------------------------------------------------------
  1159. 020 |                                                               |
  1160. 021 |   DATA/KERMIT>VER<CR>                                         |
  1161. 022 |               -------                                         |
  1162. 023 |                                                               |
  1163. 024 |     DATA/KERMIT version 0.3                                   |
  1164. 025 |                                                               |
  1165. 026 |   DATA/KERMIT>EXIT<CR>                                        |
  1166. 027 |               --------                                        |
  1167. 028 |                                                               |
  1168. 029 |   >           now at TCL                                      |
  1169. 030 |                                                               |
  1170. 031 -----------------------------------------------------------------
  1171. 032 .SKIP 1.CENTER
  1172. 033 Figure A. VERSION command output with EXIT
  1173.  
  1174.     UL304
  1175. 001 .HEADING
  1176. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  1177. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  1178. 004 3.4   ANSITAPE Program
  1179. 005 .SKIP
  1180. 006 -----------------------------------------------------------------
  1181. 007 | The ANSITAPE program can be used to load DATA/KERMIT files    |
  1182. 008 | from a CUCCA distribution tape in the ANSI "D" format.        |
  1183. 009 | THIS PROGRAM IS INCORRECT FOR RELEASE 0.3; THE STATE TABLE    |
  1184. 010 | MUST BE FIXED TO ACCOMODATE MULTIPLE ITEMS IN ONE TAPE FILE   |
  1185. 011 -----------------------------------------------------------------
  1186. 012 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  1187. 013  ANSI "D" tape format provides that each volume in a set and each
  1188. 014 file on a volume have a set of 80 character label records followed
  1189. 015 by a tape (file) mark. A file of fixed length blocks of variable
  1190. 016 length undelimited records padded in the last block by "_^"
  1191. 017 characters then follows. Another tape mark follows this data file
  1192. 018 section which is itself followed by a set of trailer labels for
  1193. 019 for end-of-file or end-of-volume as appropriate.
  1194. 020 A redundant tape mark signals end-of-set.
  1195. 021  The DATA/BASIC program ANSITAPE will search a tape volume set
  1196. 022 for filenames with an extension beginning with the letters "DK".
  1197. 023 The following data section will be loaded into the file
  1198. 024 designated by the operator at the beginning of the program
  1199. 025 with each logical record becoming an attribute of an item whose
  1200. 026 id is "filename".
  1201. 027  The program has only been tested on tapes containing only "*.DK*"
  1202. 028 files so a word of caution is in order.
  1203. 029 Some means should be added to the program to load different files
  1204. 030 based on their tape file name.
  1205. 031  Tapes made on the DEC VAX computers under microVMS 4.4 have written
  1206. 032 data with 8-bit characters like attribute marks (X'FE') and
  1207. 033 value marks, but whether these characters will make the transfer
  1208. 034 back on the target PICK system has not been fully check out.
  1209. 035 Also some characters used in item-ids of DATA/KERMIT items are
  1210. 036 illegal in filenames on other systems writing ANSI "D" tapes,
  1211. 037 therefore some editing and item renaming may be necessary.
  1212. 038  A State Table drives the program and it is shown in Figure B.
  1213. 039 The right bracket characters are, as usual, value marks (X'FD')
  1214. 040 entered at the keyboard on most PICK systems as <GS>.
  1215.  
  1216.     UR102
  1217. 001 .HEADING
  1218. 002 'L'               1    INTRODUCTION'L'
  1219. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  1220. 004                                                               1.2
  1221. 005 -----------------------------------------------------------------
  1222. 006 |  DKCNV                                                        |
  1223. 007 |  DKDF                                                         |
  1224. 008 |  DKINP                                                        |
  1225. 009 |  DKIO                                                         |
  1226. 010 |  DKRCVB                                                       |
  1227. 011 |  DKSEND                                                       |
  1228. 012 |  DKXMTS                                                       |
  1229. 013 -----------------------------------------------------------------
  1230. 014 .SP.CENTER
  1231. 015 Figure A. DATA/KERMIT program units with alternate source
  1232. 016 .SP 2
  1233. 017 -----------------------------------------------------------------
  1234. 018 |   Machine         Oper. Sys.    KERMIT ver.                   |
  1235. 019 |   -------         ----------    -----------                   |
  1236. 020 |                                                               |
  1237. 021 |   DEC PRO/350     P/OS          Kermit-11 T3.50               |
  1238. 022 |   DEC microVAX II microVMS      Kermit-32 3.3.117             |
  1239. 023 |   IBM PC-XT       MS-DOS        Kermit-MS 2.32/A              |
  1240. 024 |   EPSON PX-8      CP/M          Kermit-80 4.09                |
  1241. 025 |   Zenith Z100     ZDOS          BesTerm                       |
  1242. 026 -----------------------------------------------------------------
  1243. 027 .SP.CENTER
  1244. 028 Figure B. Tested DATA/KERMIT Compatibility
  1245. 029 .FOOTING
  1246. 030                                                               1.2
  1247.  
  1248.     UL305
  1249. 001 .HEADING
  1250. 002 'L'     3   PROGRAMMER'S REFERENCE'L'
  1251. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  1252. 004 3.5   Installation on REALITY with ACCOUNT-RESTORE
  1253. 005 .SKIP
  1254. 006 -----------------------------------------------------------------
  1255. 007 | Guidelines for installation of DATA/KERMIT on a Microdata     |
  1256. 008 | REALITY system running 4.2E are given. No SEQUEL installation |
  1257. 009 | has yet been done.                                            |
  1258. 010 -----------------------------------------------------------------
  1259. 011 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  1260. 012  Since REALITY 4.2 has but a single POINTER-FILE for all cataloged
  1261. 013 programs, it was deemed best to create a "limited capability"
  1262. 014 account to contain the DATA/KERMIT files and provide only for some
  1263. 015 cataloging operations from that account. This account is named
  1264. 016 DK for "DATA/KERMIT" and its Master Dictionary has only a few
  1265. 017 verbs and attribute definitions. Log onto SYSPROG, T-ATT the tape,
  1266. 018 T-RDLBL 1, and then ACCOUNT-RESTORE; this will create the DK
  1267. 019 account and load the files. Put a 'DK' Q-pointer in SYSPROG's MD.
  1268. 020  Q-pointers will have to be put into any accounts that will use
  1269. 021 DATA/KERMIT; normally "DK-filename" by convention for the 6 files
  1270. 022 listed in topic 3.3.
  1271. 023  Check the verb definitions in DK's Master Dictionary that they
  1272. 024 are consistent with the local system; change as necessary.
  1273. 025  Now LOGTO DK; there is no password. Catalog the verbs with
  1274. 026 .SKIP.NOFILL
  1275. 027      :CATALOG PR verb<cr>
  1276. 028       -------------------
  1277. 029 .SKIP.FILL
  1278. 030 The CATALOG proc will delete the verb item that is automatically
  1279. 031 put into DK's MD; this is desireable as it will never be executed
  1280. 032 there. Notice that there are Map items and '$verb' object items
  1281. 033 in DK-PR. This is useful for debugging and comparing object code
  1282. 034 date/times of compilation. The objects were compiled without the
  1283. 035 E option. This permits line numbers in error messages but takes
  1284. 036 more space and time.
  1285. 037  Now enter
  1286. 038 .SKIP.NOFILL
  1287. 039      :SHARE MD PARAMS<cr>
  1288. 040       -------------------
  1289. 041 .SKIP.FILL
  1290. 042 in order to get access to the default Kermit parameters. LOGTO SYSPROG
  1291. 043 to leave DK.
  1292. 044  All DATA/KERMIT verbs will have to be added to any user account's
  1293. 045 MD including SYSPROG. This can be done by
  1294. 046 .SKIP.NOFILL
  1295. 047      :SELECT DK-PR IF NAME # "$]" AND # "*]"
  1296. 048       ------------------------------------------
  1297. 049 .SKIP.FILL
  1298. 050 then ED MD and prestore a MErge command to enter these items.
  1299.  
  1300.     UR306
  1301. 001 .HEADING
  1302. 002 'L'               3   PROGRAMMER'S REFERENCE'L'
  1303. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  1304. 004                                                               3.6
  1305. 005 -----------------------------------------------------------------
  1306. 006 |                                                               |
  1307. 007 | 010 BEGQTAB DTLY 11166_\007 00_\008 00002B9E                    |
  1308. 008 |                                                               |
  1309. 009 -----------------------------------------------------------------
  1310. 010 .SKIP.CENTER
  1311. 011 Figure A. Source Mode DK1 Line to Patch
  1312. 012 .SKIP 2
  1313. 013 -----------------------------------------------------------------
  1314. 014 |                                                               |
  1315. 015 | :WHERE<CR>                       Find Spooler port (pp) and   |
  1316. 016 |  ----------                         its PCB (xpcb) for the    |
  1317. 017 |                                     last process listed.      |
  1318. 018 |   . . . . .                                                   |
  1319. 019 |                                                               |
  1320. 020 | \pp xpcb ps . . . . .                                          |
  1321. 021 |                                                               |
  1322. 022 | :<BREAK>                          Interupt into DEBUGGER.     |
  1323. 023 | I 6.8D                                                        |
  1324. 024 | !.xpcb.13A;6<CR>.000080xxxxxx=<CR>                            |
  1325. 025 |  ---------------              ----                            |
  1326. 026 |                                   Display pointer in PCB.     |
  1327. 027 | !.xxxxxx.1C<CR>.000100yyyyyy=<CR>                             |
  1328. 028 |  --------------              ----                             |
  1329. 029 |                                   Display pointer to Q table. |
  1330. 030 | !G<CR>                                                        |
  1331. 031 |  -----                                                        |
  1332. 032 |                                                               |
  1333. 033 | :XTD yyyyyy<CR>                                               |
  1334. 034 |  --------------                   Convert to decimal.         |
  1335. 035 |                                                               |
  1336. 036 |      DDDDD                        Value for BEGQTAB in DK1.   |
  1337. 037 |                                                               |
  1338. 038 -----------------------------------------------------------------
  1339. 039 .CENTER
  1340. 040 Figure B Patching User Mode DK1
  1341. 041 .CENTER
  1342. 042 for Spooler Queue Table Reference
  1343.  
  1344.     UL101
  1345. 001 .HEADING
  1346. 002 'L'     1    INTRODUCTION'L'
  1347. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  1348. 004 1.1   How to Use This Manual
  1349. 005 .SP
  1350. 006 -----------------------------------------------------------------
  1351. 007 | This manual is written in a modular format with each pair of  |
  1352. 008 | facing pages representing a single topic. This is essentially |
  1353. 009 | the same format as that appearing in most Microdata manuals.  |
  1354. 010 | The following text appears in most REALITY and PICK manuals.  |
  1355. 011 -----------------------------------------------------------------
  1356. 012 .FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  1357. 013  The approach in this and other REALITY manuals differs substantially from
  1358. 014 the typical reference manual format. Here each pair of facing pages
  1359. 015 discusses an individual topic. Generally the left-hand page is devoted
  1360. 016 to text, while the right-hand page presents figures referred to by the
  1361. 017 text. At the head of each text page are a pair of titles, the first one
  1362. 018 naming the section and the second one naming the topic. Immediately below
  1363. 019 these titles is a brief summary of the material covered in the topic.
  1364. 020  The advantage of this format will become readily apparent to the reader
  1365. 021 as he begins to use this manual. First of all, the figures referred to
  1366. 022 in the text are always conveniently right in front of the reader at the
  1367. 023 point where the reference is made. Secondly, there is a psychological
  1368. 024 advantage to the reader in knowing that, when he has completed reading a
  1369. 025 topic and goes to turn the page, he is done with one idea ad ready to
  1370. 026 encounter a new one.
  1371. 027  Conventions used in presenting general formats
  1372. 028 are listed in Figure A, while those used in examples are listed in
  1373. 029 Figure B.
  1374. 030 .READ DKD UREADME
  1375.  
  1376.     UL203
  1377. 001 .HEADING
  1378. 002 'L'     2   USER'S GUIDE'L'
  1379. 003 .BEGIN PAGE.LEFT MARGIN 5.NOFILL
  1380. 004 2.3   EXIT, HELP and VERSION Commands
  1381. 005 .SKIP
  1382. 006 -----------------------------------------------------------------
  1383. 007 | The HELP command prints a list of available commands as deter-|
  1384. 008 | mined by the item 'HELP' in the DK master dictionary. The     |
  1385. 009 | EXIT commands leaves Kermit and returns to TCL. The VERSION   |
  1386. 010 | command show DATA/KERMIT release level in operation.          |
  1387. 011 -----------------------------------------------------------------
  1388. 012 .SKIP.FILL.JUSTIFY.PARAGRAPH 0.LINE LENGTH 65
  1389. 013  The HELP command gives a list of commands with their argument
  1390. 014 types that your DATA/KERMIT implementation can process. Argument
  1391. 015 designations are very cryptic and may be changed by editing
  1392. 016 the item 'HELP' in DK's M/DICT; see chapter 3 for details.
  1393. 017 Figure A shows a typical HELP command.
  1394. 018  EXIT will cause the process to leave DATA/KERMIT and return to TCL.
  1395. 019 If debug logging or other printer output has been done during the
  1396. 020 execution of DATA/KERMIT, the printjob files will be closed and
  1397. 021 printer output will be sent to the form queue last SP-ASSIGNed.
  1398. 022  Use VERSION to check the release level of DATA/KERMIT currently
  1399. 023 operating. The response data is actually taken from the item
  1400. 024 'HELP', attribute 1, in DK's M/DICT.
  1401.  
  1402.     UR204
  1403. 001 .HEADING
  1404. 002 'L'               2   USER'S GUIDE'L'
  1405. 003 .BEGIN PAGE.LEFT MARGIN 15.NOFILL.FOOTING
  1406. 004                                                               2.4
  1407. 005 -----------------------------------------------------------------
  1408. 006 |                                                               |
  1409. 007 |   DATA/KERMIT>SET ?<CR>                                       |
  1410. 008 |               ---------                                       |
  1411. 009 |   CTRL-PREFIXING prefix char                                  |
  1412. 010 |   DATAFILE {[DICT ]filename,SPOOLER}                          |
  1413. 011 |   DEBUGGING mode                                              |
  1414. 012 |   DELAY time                                                  |
  1415. 013 |   EIGHT-BIT-PREFIXING prefix char                             |
  1416. 014 |   END-OF-LINE dec char #                                      |
  1417. 015 |   LINE #                                                      |
  1418. 016 |   MARKER dec char #                                           |
  1419. 017 |   PACKET-LENGTH #                                             |
  1420. 018 |   PADDING char len                                            |
  1421. 019 |   PAD-CHARACTER dec char #                                    |
  1422. 020 |   PROMPT char(s)                                              |
  1423. 021 |   REPEAT-COUNT-PROCESSING prefix char                         |
  1424. 022 |   RETRY count                                                 |
  1425. 023 |   TIMEOUT seconds                                             |
  1426.  
  1427. 024 |                                                               |
  1428. 025 |   DATA/KERMIT>                                                |
  1429. 026 |                                                               |
  1430. 027 -----------------------------------------------------------------
  1431. 028 .SKIP 1.CENTER
  1432. 029 Figure A. SET command help
  1433.  
  1434.