home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / old / ckermit5a190 / cklker.bwr < prev    next >
Text File  |  2020-01-01  |  13KB  |  332 lines

  1. CKLKER.BWR        "Beware File" for C-Kermit Version 5A
  2.  
  3. Applies to 5A(190)
  4. Last update: Mon Apr 22 17:09:19 1996
  5.  
  6. Authors:   David Lane <lane@watsun.cc.columbia.edu>
  7.            Frank da Cruz, Christine M. Gianone, Columbia University.
  8.  
  9.   Copyright (C) 1985, 1996, Trustees of Columbia University in the City of New
  10.   York.  The C-Kermit software may not be, in whole or in part, licensed or
  11.   sold for profit as a software product itself, nor may it be included in or
  12.   distributed with commercial products or otherwise distributed by commercial
  13.   concerns to their clients or customers without written permission of the
  14.   Office of Kermit Development and Distribution, Columbia University.  This
  15.   copyright notice must not be removed, altered, or obscured.
  16.  
  17. Report problems, suggestions, fixes, etc, to kermit@columbia.edu, or:
  18. Columbia University Academic Information Systems
  19. 612 West 115th Street, New York, NY  10025  USA
  20.  
  21. DOCUMENTATION
  22.  
  23. C-Kermit 5A is documented in the book "Using C-Kermit" by Frank da Cruz
  24. and Christine M. Gianone, Digital Press, Burlington, MA, USA.  Price: US
  25. $39.95.  Available at book and computer stores, or to order from Columbia
  26. University, call +1 212 854-3703.
  27.  
  28. FILES
  29.  
  30. File naming conventions are listed in ckaaaa.hlp.
  31.  
  32. VOS installation instructions are in the build macro (cklmak.cm)
  33. with further details in cklins.doc and ckccfg.doc.
  34.  
  35. Updates to the software are listed in ckc*.upd.
  36.  
  37. KNOWN PROBLEMS AND LIMITATIONS
  38.  
  39. There is no FULLSCREEN file transfer display.
  40.  
  41. You should use full device names in the SET LINE command. If you don't, VOS
  42. C-Kermit may not realize that the device name has not changed or you are
  43. using the same device again (such as when CONNECTing). Also, abbreviations
  44. are not expanded in file names or device names, but they are in RUN commands
  45. or REMOTE HOST commands received in remote mode if you load your 
  46. abbreviations in your start_up.cm file.
  47.  
  48. Users attaching via TCP/IP in remote mode have reported hangs during file
  49. transfers. It looks like some channel gets choked up and then the transfer
  50. slows enough for the receiving Kermit to time out repeatedly, with a rare
  51. packet getting through. Often the transfer will abort at this point. One
  52. reported solution is to use smaller packets and windows. Network performance
  53. seems to be one factor.
  54.  
  55. Transfers of real VOS binary files, such as object or program modules is very
  56. shaky.  These can be transfered in binary mode, but they will be created on
  57. the receiving VOS system as stream files. Writing a program to s$read_raw
  58. 4096 bytes from the stream file and s$seq_write 4096 bytes out to the fixed
  59. file (4096 for program modules, use 1024 for object modules) is one solution.
  60. The ckb*.c programs have been "VOS-ified" to the extent that they can be used
  61. to transfer program modules, and can easily be altered to transfer other
  62. fixed files.
  63.  
  64. C-Kermit uses sub-processes to do a lot of things. Normally, this is done
  65. using the system() routine in the ANSI C Library. However, in the VOS C
  66. runtime library, the system() routine does things that are not consistent
  67. with C-Kermit.  For this reason, VOS C-Kermit has its own builtin version
  68. of system() which uses s$start_process. This causes a lot of process messages
  69. to be displayed to the terminal.
  70.  
  71. Library paths and abbreviations in these started processes, which include
  72. RUN commands and REMOTE HOST commands received in remote mode, will be the
  73. paths set in your start_up.cm for a batch process, regardless of the type
  74. of process running Kermit.
  75.  
  76. C-Kermit implements the MAIL file destination by using the send_mail command.
  77. Send_mail does not support SMTP addresses, even though OFFICE mail and emacs
  78. do, so you cannot send Internet mail to an address via Kermit, but if you 
  79. have the addressee registered as an "External Mail User" that will work.
  80.  
  81. C-Kermit performs raw i/o to the terminal, and does its own echoing of
  82. command line input. When your terminal is a vterm using an X.25 PAD, this
  83. can make C-Kermit look like it is slow. It is not. The Virtual Terminal
  84. Facility configures the PAD to delay sending each packet for a quarter of
  85. a second to see if you will hit another key.  As long as your typing is fast
  86. enough that you don't have a quarter of a second between keystrokes, the PAD
  87. will not send any of the characters you have typed to VOS, and C-Kermit will
  88. not echo any of them.  There is a word that can be set in VTF to reduce the
  89. delay.
  90.  
  91. COMMUNICATIONS AND DIALING
  92.  
  93. The DIAL command will work occasionally. The major problem appears to be in
  94. the timeout mechanism. If your modem type is supported, and there are no
  95. obvious errors in the dialing sequence, such as no dialtone or no answer,
  96. then the dialing support works. If dialing appears to "just stop," then it
  97. may be necessary for you to type dialing commands to the modem using CONNECT
  98. mode.
  99.  
  100. Flow control is not currently supported.
  101.  
  102. VOS does not always support an eight-bit connection, or report that it cannot
  103. support one. This is also not always a problem with VOS, since many times the
  104. connection itself is stripping the high-bit without VOS being aware of it.
  105.  
  106. CHARACTER SET SUPPORT
  107.  
  108. The VOS internal character set is ISO-8859. VOS C-Kermit does not 
  109. automatically detect shift characters or character sets associated with
  110. files. If the file character set is LATIN1, then VOS will usually send it
  111. correctly and receive it correctly.
  112.  
  113. ------------------------------
  114.  
  115. From: David Lane <david@grumpy.atl.ga.us>
  116. Subject: Faux pas in VOS C-Kermit in background
  117. To: kermit@watsun.cc.columbia.edu
  118. Date: Tue, 26 Sep 1995 22:03:49 -0400 (EDT)
  119.  
  120. Well, this is what appears to be the problem--C-Kermit still thinks it's
  121. in the foreground, so it's checking the console port for things.  There is
  122. a bit flipped (Don't you *HATE* single bit fixes!?) around line 1500 in
  123. ckltio.c, in the routine conbgt.  The backgrd flag is being set (incorrectly)
  124. to 0 when the process is not interactive.  It should be set to 1.  On the
  125. line in the middle, change the "backgrd = 0;" to be "backgrd = 1;"
  126. Here is a bit of context of the incorrect version:
  127.  
  128. -------------------------------------------------------------------------
  129.     pinfo.version = PROCESS_INFO_VERSION;
  130.     s$get_process_info (&pid, &pinfo, &status);
  131.     if ((pinfo.info.flags & INTERACTIVE) == 0)
  132.     backgrd = 0;
  133.     else
  134.     {
  135.     if (vostty(TERMINAL_PORT_ID)) /* do we have a tty terminal port ? */
  136.         backgrd = 0;
  137.     else
  138. --------------------------------------------------------------------------
  139.  
  140. Sorry about that...  As a disclaimer, I have to say I haven't actually
  141. tested this change.  It's possible that it still gets stuck when it's in
  142. the background, but at least IF BACKGROUND should work properly...
  143.  
  144. David
  145.  
  146. ------------------------------
  147. Date: Fri, 19 Apr 1996 10:01:35 -0400 (EDT)
  148. From: David Lane <lane@watsun.cc.columbia.edu>
  149. Subject: beware additions
  150.  
  151. There are several problems that have been brought up and fixed
  152. in the last month or so...
  153.  
  154. The first is that the VOS C-Kermit did not work on window_term
  155. devices over the TELNET access layer.  I made changes to the
  156. terminal io support and it appears to be okay now.  Thanks go to
  157. Richard Shuford <shuford@cs.utk.edu> for pointing this out and
  158. testing the changes as I don't have any applicable devices.
  159.  
  160. The second is a relatively minor compilation problem when using
  161. the newer compiler under VOS 13.  I had taken the address of an
  162. array, and the new compiler doesn't like this.  Changed to take
  163. the address of the first element of the array.  The credit for
  164. finding this one goes to Tim Gamble <tgamble@way.com>.
  165.  
  166. The third is a significant problem compiling on VOS 13, which
  167. may affect other code than C-Kermit.  It appears that there is
  168. an incompatible change in the get_port_info.incl.c header, due
  169. to a new tool being used at Stratus to generate the includes.
  170. The old tool created a "struct $shortmap get_port_info" and the
  171. new tool creates a typedef called get_port_info.  It also seems
  172. that there is a migration to the new tool, so other headers may
  173. change in future releases.  This should have been in the VOS 13
  174. SRB, but wasn't.  There is a doc bug against this.  Thanks go to
  175. Tim Gamble again for finding it, and to Paul Green
  176. <Paul.Green@stratus.com> for some advice on how to work around
  177. it, as well as for generally being helpful.
  178.  
  179. The changes involving "backgrd" in ckltio.c are described in the
  180. CKLKER.BWR file earlier.
  181.  
  182. VOS compare_files output for changes follows:
  183. ======================================================================
  184. A (columbia>cklfio.c) does not
  185. match B (new>cklfio.c).
  186.  
  187. A2      char *ckzv = "Stratus VOS File support, 5A(003) 28 Aug 1994";
  188. changed to
  189. B2      char *ckzv = "Stratus VOS File support, 5A(004) 22 Mar 1996";
  190.  
  191. A1965       s$set_object_times (&path, &file_times, &status);
  192. changed to
  193. B1965       s$set_object_times (&path, &file_times[0], &status);
  194.  
  195. 2 data difference(s).
  196. ======================================================================
  197. A (columbia>ckltio.c) does not
  198. match B (new>ckltio.c).
  199.  
  200. A3      char *ckxv = "Stratus VOS Communications support, 5A(006), 15 Oct 94";
  201. changed to
  202. B3      char *ckxv = "Stratus VOS Communications support, 5A(006), 22 Mar 96";
  203.  
  204. B42     /* In releases prior to 13, get_port_info is a struct tag.  In 13, it
  205. B43        becomes a typedef.  No, it's not in the SRB, it's just an incompatible
  206. B44        change in a system include file. (YECH!)  The cklmak.cm macro tries
  207. B45        to set this define on releases before 13.  YMMV, unfortunately.
  208. B46     */
  209. B47     #ifdef GET_PORT_INFO_IS_STRUCT
  210. B48     typedef struct get_port_info get_port_info;
  211. B49     #endif
  212. inserted before
  213. A42     typedef struct
  214.  
  215. A303        struct get_port_info *pinfo, short *status) );
  216. changed to
  217. B312        get_port_info *pinfo, short *status) );
  218.  
  219. A822        if (status)
  220. A823        return -1;    /* failure */
  221. changed to
  222. B831        if (status) {
  223. B832        debug(F111,"tthang s$control ASYNC_HANGUP status",ttnmful,status);
  224. B833        return -1;
  225. B834        }
  226.  
  227. A893        if (status)
  228. A894        return -1;
  229. changed to
  230. B904        if (status) {
  231. B905        debug(F111,"ttres s$control SET_MODES status",ttnmful,status);
  232. B906        return -1;
  233. B907        }
  234.  
  235. A970        if (status) return (-1);
  236. changed to
  237. B983        if (status) {
  238. B984        debug(F111,"ttpkt s$control SET_MODES status",ttnmful,status);
  239. B985        return -1;
  240. B986        }
  241.  
  242. A978        if (status) return (-1);
  243. changed to
  244. B994        if (status) {
  245. B995        debug(F111,"ttpkt s$control TERM_GET_CONFIG status",ttnmful,status);
  246. B996        return -1;
  247. B997        }
  248.  
  249. A1010       if (status) return (-1);
  250. changed to
  251. B1029       if (status) {
  252. B1030       debug(F111,"ttpkt s$control TERM_CONFIGURE status",ttnmful,status);
  253. B1031       /* DON'T RETURN FAILURE!  window_term's can't do this! */
  254. B1032       }
  255.  
  256. A1066       if (status) return (-1);
  257. changed to
  258. B1088       if (status) {
  259. B1089       debug(F111,"ttvt s$control SET_MODES status",ttnmful,status);
  260. B1090       return -1;
  261. B1091       }
  262.  
  263. A1074       if (status) return (-1);
  264. changed to
  265. B1099       if (status)  {
  266. B1100       debug(F111,"ttvt s$control TERM_GET_CONFIG status",ttnmful,status);
  267. B1101       return -1;
  268. B1102       }
  269.  
  270. A1106       if (status) return (-1);
  271. changed to
  272. B1134       if (status) {
  273. B1135       debug(F111,"ttvt s$control TERM_CONFIGURE status",ttnmful,status);
  274. B1136       /* DON'T RETURN FAILURE!  window_term's can't do this! */
  275. B1137       }
  276.  
  277. A1221       if (status) return (-1);
  278. changed to
  279. B1252       if (status)  {
  280. B1253           debug(F111,"ttgspd s$control TERM_GET_CONFIG status",
  281. B1254           ttnmful,status);
  282. B1255           return -1;
  283. B1256       }
  284.  
  285. A1252       if (status) return (-1);
  286. changed to
  287. B1288       if (status) {
  288. B1289       debug(F111,"congspd s$control TERM_GET_CONFIG status",ttnmful,status);
  289. B1290       return -1;
  290. B1291       }
  291.  
  292. A1500       backgrd = 0;
  293. changed to
  294. B1540       backgrd = 1;
  295.  
  296. A2123       if (status)
  297. A2124       return -1;
  298. changed to
  299. B2163       if (status) {
  300. B2164       debug(F111,"congm s$control GET_INFO status",ttnmful,status);
  301. B2165       return -1;
  302. B2166       }
  303.  
  304. A2203       debug(F101,"conbin status","",status);
  305. changed to
  306. B2245       debug(F101,"conbin s$control SET_MODES status","",status);
  307.  
  308. A2908     struct get_port_info info;
  309. changed to
  310. B2950     get_port_info info;
  311.  
  312. A2927     struct get_port_info info;
  313. changed to
  314. B2969     get_port_info info;
  315.  
  316. 18 data difference(s).
  317. ======================================================================
  318. A (columbia>cklmak.cm) does not
  319. match B (new>cklmak.cm).
  320.  
  321. B28     & Work around an incompatible include file change...
  322. B29     &set_string rel (reverse (before (reverse (module_info system_release)) ' '))
  323. B30     &set_string rel (before &$rel& '.')
  324. B31     &if &rel& < 13
  325. B32        &then &set_string KOPTS (concat (quote &KOPTS&) ' GET_PORT_INFO_IS_STRUCT')
  326. inserted before
  327. A28     &set_string mydir (current_dir)
  328.  
  329. 1 data difference(s).
  330. ======================================================================
  331.  
  332. ------------------------------