home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / e / v11.3 < prev    next >
Text File  |  1990-01-18  |  27KB  |  511 lines

  1. 19-Jan-90  2:27:30-GMT,27278;000000000001
  2. Return-Path: <fdc>
  3. Received: by watsun.cc.columbia.edu (5.59/FCB)
  4.     id AA08698; Thu, 18 Jan 90 20:54:35 EST
  5. Date: Thu, 18 Jan 90 20:54:34 EST
  6. From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  7. To: Info-Kermit@watsun.cc.columbia.edu
  8. Subject: Info-Kermit Digest V11 #3
  9. Reply-To: Info-Kermit@watsun.cc.columbia.edu
  10. Queries-To: Info-Kermit-Request@WATSUN.CC.COLUMBIA.EDU
  11. Message-Id: <CMM.0.88.632714074.fdc@watsun.cc.columbia.edu>
  12.  
  13. Info-Kermit Digest         Thu, 18 Jan 1990        Volume 11 : Number 3
  14.  
  15. Today's Topics:
  16.                      Announcing MS-DOS Kermit 3.0
  17.                MS-DOS Kermit 3.0 Questions and Answers
  18.                    New MS-DOS Kermit Book Available
  19.                   MS-DOS Kermit 3.0 Feedback Wanted
  20.                Announcing HP-1000 Kermit Version 1.99D
  21.               Query: C-Kermit Treatment of Modem Signals
  22.  
  23. Digest submissions may be sent to Info-Kermit@WATSUN.CC.COLUMBIA.EDU,
  24. requests for addition to or deletion from the Info-Kermit subscriber list to
  25. Info-Kermit-Request@WATSUN.CC.COLUMBIA.EDU or to KERMIT@CUVMA.BITNET.
  26.  
  27. Kermit files may be obtained over networks and by mail order.  On the
  28. Internetwork, use FTP to log in to host WATSUN.CC.COLUMBIA.EDU, a SUN-4/280
  29. running UNIX (SUNOS 4.0), IP host number 128.59.39.2.  Login as user
  30. anonymous (note, lower case), any password, and GET or MGET (MULTIPLE GET)
  31. the desired files.  The Kermit files are in directories kermit/a, kermit/b,
  32. kermit/c, kermit/d, and kermit/e.  Test versions are in kermit/test.  You
  33. can also get Kermit files over the BITNET/EARN network; to get started send
  34. a message with text HELP to KERMSRV, the Kermit file server, at host CUVMA.
  35. For detailed instructions, read the file kermit/a/aanetw.hlp (AANETW.HLP on
  36. KERMSRV).  To order by mail, request a complete list of Kermit versions and
  37. an order form from Kermit Distribution, Columbia University Center for
  38. Computing Activities, 612 West 115th Street, New York, NY 10025 USA.
  39.  
  40. [Ed. - And apologies for the I-KERMIT ADD message mistakenly sent to I-KERMIT
  41. instead of LISTSERV.  Some day I'll learn!]
  42.  
  43. ----------------------------------------------------------------------
  44.  
  45. Date: Thu, 18 Jan 1990 12:00:00 EST
  46. From: Christine M Gianone <cmg@watsun.cc.columbia.edu>
  47. Subject: Announcing MS-DOS Kermit 3.0
  48. Keywords: MS-DOS Kermit 3.0
  49.  
  50. This is to announce the final release of MS-DOS Kermit 3.0, first announced
  51. for beta-testing in Info-Kermit V11 #2.  Thanks to the thousands of you who
  52. participated in the short testing period.  To recapitulate the major new
  53. features of 3.0, they are:
  54.  
  55.  . DEC VT320 terminal emulation.
  56.  . Many additions to Tektronix graphics emulation, including features
  57.    from the DEC VT340 (color, sixel, but not REGIS) and HDS2000/3000,
  58.    suitable for use with mainframe versions of WordPerfect 4.2 and 5.0.
  59.  . Saving of graphics screens on disk in TIFF 5.0 format, suitable for
  60.    import into PC Paint, Ventura Publisher, Pagemaker, WordPerfect 5.0, etc.
  61.  . True half duplex operation with RTS/CTS hardware handshake.
  62.  . International character set support for both terminal emulation and
  63.    file transfer.
  64.  . Sliding window packet protocol.
  65.  
  66. Problems reported and fixed during the testing period include:
  67.  
  68.  . Incorrect Attribute packet character set announcers.
  69.  . Problems when receiving badly formatted packets 1800-2000 bytes in length.
  70.  . Incorrect receive packet length after SET WINDOWS command.
  71.  . Incorrect crosshair cursor report in Tektronix mode.
  72.  . Automatic return to wrong text terminal type after Tektronix emulation.
  73.  . Several incorrect special terminal character translations.
  74.  . Incorrect operation of SET TRANSLATE INPUT.
  75.  . Terminal lockup after failure to automatically enter 132-column mode.
  76.  . Insufficient maximum allowed number of ANSI escape sequence parameters.
  77.  . Nonfunctional 3COM BAPI network support.
  78.  . Case sensitivity of ARGC, VERSION, and other special numeric variables.
  79.  . Various minor escape sequence misinterpretations.
  80.  
  81. The new files have been installed in the regular Kermit distribution "A" area,
  82. and are available over the networks via anonymous FTP from
  83. watsun.cc.columbia.edu (Internet) and from KERMSRV at CUVMA (BITNET), and by
  84. mail order from Kermit Distribution at Columbia University on a variety of
  85. magnetic media.
  86.  
  87. Internet      BITNET        Description
  88.  msvibm.boo    MSVIBM.BOO    BOO-encoded (printable) version of MSVIBM.EXE.
  89.  mskerm.hlp    MSKERM.HLP    Summary of MS-DOS Kermit 3.0 features & commands.
  90.  msr300.upd    MSR300.UPD    Description of new features in version 3.0.
  91.  mskerm.bwr    MSKERM.BWR    Limitations and known bugs in version 3.0.
  92.  mskerm.ed     MSKERM.ED     Detailed edit history of version 3.0.
  93.  msvibm.vt     MSVIBM.VT     VT52/102/320/340/H19 terminal emulation summary.
  94.  msvibm.tek    MSVIBM.TEK    Tektronix graphics summary (in preparation).
  95.  mss*.asm,.h   MSS*.ASM,.H   System-independent source code.
  96.  ms*ibm.asm    MS*IBM.ASM    IBM-PC/PS2-specific source code.
  97.  msvibm.bat    MSVIBM.BAT    DOS batch program for building 3.0.
  98.  msvibm.mak    MSVIBM.MAK    A makefile for building 3.0 under DOS with MASM.
  99.  msvibb.mak    MSVIBB.MAK    A makefile for building 3.0 with Borland TASM.
  100.  msvibx.mak    MSVIBX.MAK    A makefile for building 3.0 under Xenix.
  101.  msvibm.lnk    MSVIBM.LNK    LINK command file for 3.0.
  102.  
  103. Kermit Init/Command Files:
  104.  mskermit.ini  MSKERMIT.INI  Sample initialization file, includes DIAL macro.
  105.  msihay.tak    MSIHAY.TAK    Hayes modem dialing script (used with DIAL).
  106.  msiem*.ini    MSIEM*.INI    Keyboard setups for use with EMACS.
  107.  msiwp3.ini    MSIWP3.INI    New keyboard setup for mainframe WordPerfect.
  108.  
  109. Utilities:
  110.  mspeps.*      MSPEPS.*      Epson printer driver for EGA graphics screens.
  111.  mspep4.*      MSPEP4.*      PC CP437-to-Epson character set translation.
  112.  mspupc.sh     MSPUPC.SH     PCPRINT (transparent print) for UNIX.
  113.  mspvpc.com    MSPVPC.COM    PCPRINT for VAX/VMS.
  114.  msixse.*      MSIXSE.*      XSEND utility for sending directory trees.
  115.  msuchk.*      MSUCHK.*      SCANCHEK utility to display keyboard scan codes.
  116.  msulk2.*      MSULK2.*      LK250 keyboard driver.
  117.  
  118. Binaries are available on watsun only, for FTP in binary (image) mode,
  119. in the kermit/bin directory:
  120.  msvibm.exe    The MS-DOS Kermit 3.0 executable program.
  121.  mspeps.com    Epson printer driver for EGA graphics screens.
  122.  mspep4.exe    PC Code-Page-437-to-Epson character set translation.
  123.  msixse.exe    XSEND utility for sending directory trees.
  124.  msuchk.exe    SCANCHEK utility for keyboard scan codes.
  125.  
  126. Non-IBM Versions:
  127.  
  128. The non-IBM-compatible versions of MS-DOS Kermit 3.0 are not done yet.  Some
  129. (DEC Rainbow, Heath/Zenith-100) are currently in preparation and will be
  130. announced when they are ready.  Volunteers are needed for the others (Victor,
  131. Sanyo, TI, HP, NEC, etc).  In the meantime, the new mss*.* source files are
  132. incompatible with the old msu, msg, msx, msy, and msz system-dependent source
  133. files for the non-IBM systems.  The .BOO files for the non-IBM versions,
  134. however, will remain available.  Also, the old source files will be accessible
  135. for limited time (most likely until the next major release of MS-DOS Kermit)
  136. in kermit/old on watsun.
  137.  
  138. Bootstrapping:
  139.  
  140. For those who cannot use FTP to transfer the binary MSVIBM.EXE file
  141. directly, the MSVIBM.BOO is an encoding of MSVIBM.EXE into printable ASCII
  142. characters that should be safely transferrable over BITNET, e-mail, etc.
  143. Use your old version of Kermit to download this file to your PC, and then
  144. run any of the "BOO-file decoders" to translate it back into a runnable .EXE
  145. file.  The following files are available for this purpose:
  146.  
  147.  msbaaa.hlp   An explanation of the bootstrapping files and procedures.
  148.  msbpct.bas   A BOO-file decoder written in Microsoft BASIC.
  149.  msbpct.c     Like MSBPCT.BAS, but written in C for speed.
  150.  msbpct.boo   BOO file formed from MSBPCT.EXE based on MSBPCT.C.
  151.  msbpct.*     There are also versions of MSBPCT in assembler, Fortran, etc.
  152.  
  153. If you have a C, Pascal, or other compiler, download the appropriate MSBPCT
  154. source code, compile it, and run it to translate MSVIBM.BOO into MSVIBM.EXE.
  155. If you only have BASIC, you should download MSBPCT.BAS and MSBPCT.BOO.  Then
  156. use the former to create MSBPCT.EXE from the latter, and then use MSBPCT.EXE
  157. to decode MSVIBM.BOO (using the BASIC version directly on MSVIBM.BOO would
  158. take a very long time).
  159.  
  160. Our deepest thanks to Professor Joe R. Doupnik of Utah State University
  161. (JRD@USU.BITNET) for the year of hard work he put in on this release, and for
  162. his continuing devotion to the Kermit effort over the years.  Thanks also the
  163. many others who contributed to 3.0, particularly Terry Kennedy, Jack Bryans,
  164. John Junod, Bert Tyler, Mikko Laanti, Fred Richter, Hirofumi Fujii, Gary
  165. Stebbins, Drew Derbyshire, and Paul Whitmer.  And for the accompanying
  166. utilities, thanks to Mark Buda, Terry Kennedy, Phil Benchoff, Mark Zinzow, R.
  167. Brooks Van Horn, and Frank da Cruz.
  168.  
  169. More about MS-DOS Kermit 3.0 in the following messages. 
  170.  
  171. ------------------------------
  172.  
  173. Date: Thu, 18 Jan 1990 13:12:11 EST
  174. From: Christine M Gianone <cmg@watsun.cc.columbia.edu>
  175. Subject:  MS-DOS Kermit 3.0 Questions and Answers
  176. Keywords: MS-DOS Kermit 3.0
  177.  
  178. Here are the questions that came up most frequently during the MS-DOS Kermit
  179. 3.0 beta testing period:
  180.  
  181.  Q - I tried using the Latin-1 (or DEC-MCS) terminal character set, but I
  182.      didn't get any special characters on my screen, only incorrect ASCII
  183.      characters where the special characters should be.
  184.  
  185.  A - To see 8-bit text characters, you need an 8-bit no-parity connection to
  186.      the host, and you must tell MS-DOS Kermit to SET DISPLAY 8 (7 is the
  187.      default).  In the 7-bit environment, you can still use an 8-bit character
  188.      set if your host sends shift-in/shift-out codes (but see MSKERM.BWR).
  189.      Otherwise you must use one of Kermit's 7-bit "national replacement
  190.      character sets" (Italian, Norwegian, etc), in which brackets, vertical
  191.      bars, etc, are replaced by national characters.
  192.  
  193.  Q - If none of Kermit's built-in terminal character is suitable for my
  194.      language or computing environment, what can I do?
  195.  
  196.  A - Put a lot of SET KEY and SET TRANSLATE INPUT commands in your
  197.      MSKERMIT.INI file.  These commands override Kermit's built-in
  198.      translations of outbound and inbound characters, respectively.  Also
  199.      remember to SET TRANSLATE INPUT ON.  Using these mechanisms, you can
  200.      construct an entirely new terminal character set.
  201.  
  202.  Q - Word-11 or other DEC PDP-11 or VAX/VMS applications do not seem to work
  203.      right with 3.0.  Screens are fractured, etc.
  204.  
  205.  A - Kermit's new VT320 terminal emulation is noticed DEC by operating systems
  206.      like VMS 5.0 or later, causing them to send 8-bit control sequences which
  207.      are ignored by MS-DOS Kermit unless you SET DISPLAY 8.  SET DISPLAY 7 is
  208.      still the default, for compatibility with earlier releases.
  209.  
  210.  Q - If Kermit does VT340 graphics, how come my SAS graphs don't come out
  211.      right if I tell SAS that I have a VT340?
  212.  
  213.  A - Kermit implements many VT340 graphics features, including colors and
  214.      sixels, but not DEC's REGIS graphics language, which is what SAS uses.
  215.      There are no current plans to implement REGIS, which is huge.  The
  216.      VT340 features which are supported by Kermit can be used to best
  217.      advantage with host-resident versions of WordPerfect (4.2 and 5.0) on
  218.      VAX/VMS or UNIX.
  219.  
  220.  Q - Why do I have to SET FILE TYPE TEXT and SET FILE TYPE BINARY with 3.0
  221.      when I didn't have to do this in previous versions?
  222.  
  223.  A - During file transfer, version 3.0 does two things that previous versions
  224.      didn't do: text file character set conversion, and conveying and using
  225.      the file type given in the file attribute packet.  If you want to
  226.      approximate the old mode of operation, in which you did not have to (and
  227.      indeed could not) give SET FILE TYPE commands, you can SET TRANSFER
  228.      CHARACTER-SET TRANSPARENT (this is the default anyway) and SET ATTRIBUTE
  229.      TYPE OFF.
  230.  
  231. ------------------------------
  232.  
  233. Date: Mon, 15 Jan 90 10:34:09 EST
  234. From: Frank da Cruz <fdc@watsun.cc.columbia.edu>
  235. Subject: New MS-DOS Kermit Book Available
  236. Keywords: MS-DOS Kermit 3.0
  237.  
  238. Christine M. Gianone, who you know as the editor of the Info-Kermit Digest,
  239. Manager of Kermit Development and Distribution at Columbia, designer of
  240. recent extensions to the Kermit protocol, author of recent pieces in Data
  241. Communications Magazine, PC Week, etc etc, has written a book on MS-DOS
  242. Kermit 3.0:
  243.  
  244.   "Using MS-DOS Kermit", Digital Press, Bedford, MA (1990).
  245.  
  246. This book includes MS-DOS Kermit 3.0 for the IBM PC family on a 5.25-inch PC
  247. diskette.  Printing should be complete by early- to mid-February.  The short
  248. beta-testing period for 3.0 was due to the printing and binding deadline for
  249. this book+disk package.
  250.  
  251. Chris's book is quite different from the earlier MS-DOS Kermit manuals.  It is
  252. tutorial in nature, geared mostly towards the typical non-computer-expert PC
  253. user.  It includes illustrated step-by-step instructions for program
  254. installation and hooking up your cables and modems, an introduction to MS-DOS,
  255. and chapters devoted to major Kermit topics including terminal emulation, file
  256. transfer, server mode, international character sets, script programming,
  257. features for people with disabilities, etc.  Every concept is illustrated by
  258. examples.  A complete command reference is included, along with tables of PC
  259. keyboard scan codes, Kermit keyboard verbs, and PC character sets, plus
  260. glossary, index, etc.  The detailed technical appendices (escape sequences,
  261. etc) found in the previous manuals are omitted; this information is (or will
  262. be) available in other forms.  "Using MS-DOS Kermit" is an excellent
  263. introduction to MS-DOS Kermit 3.0 and its new features, and the command
  264. summaries and tables also make it a valuable reference.
  265.  
  266. The new book+disk package provides higher-quality documentation to a wider
  267. audience.  Its tutorial approach will reduce the consulting burden on the
  268. organizational help desk.  The book will give Kermit software a more "serious"
  269. and professional image in the corporate and government sectors, and in the
  270. press.  Ultimately, the result should be increased popularity for Kermit, new
  271. inroads into the mass market, and some badly needed revenue for Kermit
  272. Development and Distribution at Columbia to keep the Kermit project alive.
  273. See the file MSKERM.HLP for availability and ordering information.
  274.  
  275. Of course, the Kermit software itself remains free, copyable, and sharable,
  276. with source code openly available.  Online documentation is available too,
  277. including:
  278.  
  279.   MSKERM.HLP - Expanded summary of MS-DOS Kermit 3.0 features and commands.
  280.   MSKERM.BWR - The "beware" file, listing limitations, bugs, workarounds.
  281.   MSR300.UPD - Description of the new features in 3.0.
  282.   MSKERM.ED  - Detailed edit history since 2.32/A.
  283.   MSVIBM.VT  - Description of terminal emulator escape sequences, keys, etc.
  284.   MSVIBM.TEK - Description of graphics emulation features and escape sequences.
  285.   MSKERM.DOC - The 2.32/A manual (long).  Also .MSS and .PS versions.
  286.   MS*.ASM,.H - The source code! (very long).
  287.  
  288. All these files are new except for the 2.32/A manual (which still applies,
  289. since 3.0 is backwards compatible with 2.32/A).  In addition, there are
  290. numerous supporting files (contributed script programs, key mapping files for
  291. various applications, notes and hints found in the Info-Kermit digest, etc).
  292. Those who don't have access to the book should be able to find whatever
  293. information they need in these files, and of course can tailor or combine
  294. these documents to produce whatever local documentation they need.
  295.  
  296. ------------------------------
  297.  
  298. Date: Wed, 17 Jan 1990 14:13:12 EST
  299. From: Christine M Gianone <cmg@watsun.cc.columbia.edu>
  300. Subject:  MS-DOS Kermit 3.0 Feedback Wanted
  301. Keywords: MS-DOS Kermit 3.0
  302.  
  303. How is MS-DOS Kermit 3.0 working for you?  We usually hear from you only if
  304. you have problems.  We'd also like to hear about it when things are OK.
  305.  
  306. Please let us know how you like the new features of 3.0 -- international
  307. character sets, VT320 emulation, the new graphics features, sliding windows,
  308. etc.  Also let us know about any discoveries you have made: how to use the
  309. program with local area networks, host graphics applications, character sets,
  310. etc, that are not mentioned in the documentation.  And of course, your problem
  311. reports and suggestions for additional features in future releases are always
  312. welcome.
  313.  
  314. And if you have any interesting stories about how you or your organization
  315. are using Kermit, please send them in for possible publication in forthcoming
  316. issues of Kermit News (yes, the fourth issue is on the way!).
  317.  
  318. ------------------------------
  319.  
  320. Date: Mon Jan 8, 1990, 19:16:46 EST
  321. From: Christine M Gianone <cmg@watsun.cc.columbia.edu>
  322. Subject: Announcing HP-1000 Kermit Version 1.99D
  323. Keywords: HP-1000, RTE Operating System
  324.  
  325. This is to announce version 1.99D of HP-1000 Kermit for the Hewlett-Packard
  326. 1000 series of computers with the RTE-6 and RTE-A operating systems, from
  327. Paul Schumann of E-Systems, Inc, Greenville, Texas, USA.  This version
  328. replaces version 1.98 of September 1986.  The major new feature is support
  329. for the D-Series multiplexer and drivers.  The new files are available in the
  330. "D" area of Kermit distribution:
  331.  
  332.   Distribution Name    Original Name     Description
  333.    HPMKER.SRC           (many)            Fortran Source Code
  334.    HPMKER.SUB           KERMIT.SBMT       Interex program submission form
  335.    HPMKER.INS           KERMIT.ISTL       Installation instructions
  336.    HPMKER.LOD           KERMIT.LOD        Loader command file
  337.    HPMKER.HLP           KERMIT.TEXT       Plain text help file
  338.    HPMKER.MAK           KERMIT.MAKE       Makefile
  339.  
  340. Binary files are not included, since these are not easily distributed on
  341. industry-standard magnetic tapes or over networks.  According to the
  342. installation instructions, these files can be generated from the Fortran
  343. source (and in the case of the indexed help file, from KERMIT.TEXT).
  344.  
  345. The source code consists of many files concatenated into one single file,
  346. HPMKER.SRC.  Within this file, each original file begins with a line like
  347.  
  348. <<< k6subs.ftn >>>
  349.  
  350. to show the original file name.  This file can be picked apart into its
  351. original files with a text editor or a simple program.
  352.  
  353. Before attempting to build HP-1000 Kermit, be sure to reconstitute the
  354. original source files, and to rename the HPMKER files back to their original
  355. names shown above.  If you have trouble getting these files onto your HP-1000
  356. or building Kermit from them, you can order a native HP-1000 tape containing
  357. this program (including binaries) from Interex, the international HP user
  358. group.
  359.  
  360. Many thanks to Paul Schumann for keeping this version of Kermit current,
  361. and for contributing it to Kermit Distribution!
  362.  
  363. ------------------------------
  364.  
  365. Date: Sat, 2 Dec 89 5:21:22 MET
  366. From: Kristoffer Eriksson <ske@pkmab.se>
  367. Subject: Query: C-Kermit Treatment of Modem Signals
  368. Keywords: C-Kermit
  369.  
  370. [Ed. - What follows is an excellent discussion of some of the issues that
  371. are holding up release of C-Kermit 4F, which in turn is holding up release
  372. of C-Kermit 5A.  The system-dependent aspects of C-Kermit are the result of
  373. contributions from dozens of programmers all over the world in the form of
  374. patches to patches, rather than a rational and consistent design effort.
  375. The code under discussion is in the ckutio.c module, and has reached a level
  376. of complexity that defies understanding and instills fear in anyone who would
  377. modify it, for fear of breaking something else which cannot be tested.
  378. Responses to Kristoffer and to Frank da Cruz, fdc@watsun.cc.columbia.edu,
  379. from UNIX programmers who might be able to help untangle this mess would be
  380. most appreciated.]
  381.  
  382. I have made some modifications to ckutio.c for some new features, which made
  383. it necessary for me to try and understand how kermit handles O_NDELAY and
  384. CLOCAL on System V, and the corresponding facilities on other systems. My
  385. conclusion so far, is that Kermit does not handle them in a concistent manner,
  386. at least that is what I think now.
  387.  
  388. Now, to be able to continue with my new features, I need to fix this. To do
  389. that without breaking anything at the same time, I need your help. I need to
  390. know which parts of the current behaviour are intended, and which are not. I
  391. need to know the consequences for systems other that SysV, because that is the
  392. only one I have experience with. I need to know the consequences for the
  393. routines that call on ckutio.c of changes in it. I have studied ckucon.c and
  394. ckudia.c, but there are some other routines that call ckutio.c, which I
  395. understand much less. I know there are many systems with flawed or in other
  396. ways strange tty drivers. I need to know any considerations that should be
  397. made for those.
  398.  
  399. I'll describe my understanding of O_NDELAY and CLOCAL on SysV. Let me know if
  400. you disagree. You usually use O_NDELAY in the open() call to open a tty device
  401. without blocking until there is a carrier present on that port, in case the
  402. device has modem control enabled as default.  When you operate a modem on that
  403. port, you usually don't want to wait for a carrier, since most modems don't
  404. provide a carrier until you have dialed somewhere to, which you can't do if
  405. you can't talk to it.  Ok, many modems can be configured to alwayes provide a
  406. carrier, but then you can't be disconnected automatically when the connection
  407. eventually drops. Kermit uses O_NDELAY on the open() in ttopen() if you have
  408. set a modem type prior to the "set line" that causes ttopen() to be called.
  409.  
  410. O_NDELAY also affects read()-ing from the device. If there is nothing to read
  411. (empty input buffer or dropped carrier), read() will finish immediately
  412. returning 0 (the return value maybe will change/has changed in V.3 or V.4, I
  413. don't know). You might want this behaviour sometimes (tell me if you think
  414. Kermit does want it), but usually it is much more convenient to use the
  415. VMIN/VTIME timed read in SysV, and Kermit does use VMIN/VTIME. With O_NDELAY
  416. you would have to constantly loop on read() until you receive something.
  417.  
  418. However, if you turn off O_NDELAY, and use the VMIN/VTIME settings that Kermit
  419. does, you have to find some other way to make the device ignore the carrier
  420. absence, if you are going to talk to your modem.  You use CLOCAL to do that.
  421. You couldn't have used CLOCAL to open the tty to begin with, since CLOCAL is
  422. set through the ioctl() interface, which only works on already open files. But
  423. once you have opened the file, you can set CLOCAL, and unset O_NDELAY. Kermit
  424. sets CLOCAL when you dial, through a ttpkt(..., DIALING, ...) call in ckdial()
  425. in ckudia.c.
  426.  
  427. Once you are finished commanding the modem, and have established a connection
  428. and a carrier, you can unset CLOCAL so you will get an EOF when the connection
  429. goes down. Kermit does that with a ttpkt(..., CONNECT, ...) call at the end of
  430. ckdial().
  431.  
  432. If you have a direct connection that always gives a carrier, you need never
  433. set CLOCAL.
  434.  
  435. So far, all seems well. However, O_NDELAY is not always unset, only sometimes.
  436. I think this is wrong. I think O_NDELAY shoule always be unset at some time
  437. before beginning to dial or connect. ttopen() leaves O_NDELAY set. ttpkt() and
  438. ttvt() (ttvt is used by for the "connect" command) unset O_NDELAY only when
  439. called with flow==DIALING.  Thus, for a direct connection where you do not
  440. dial prior to connecting, O_NDELAY will remain set, unless I'm very mistaken.
  441.  
  442. By the way, I have not found any place where ttvt() is called with the
  443. parameter "flow" set to either CONNECT or DIALING, but ttvt() nonetheless
  444. handles those cases. ttvt() looks to me like a mutated ttpkt(), so maybe those
  445. cases where just left in by accident?  Can they safely be removed?
  446.  
  447. After unsetting O_NDELAY, these functions perform some "magic"
  448. ( close(open(...) ). What systems need such magic?
  449.  
  450. Can someone explain how myread() works, especially the part where the return
  451. value after an empty read is dependent on whether you have set a modem type or
  452. not (ttmdm) and the loop around myread() in ttinc()?  I find it a bit strange.
  453. What does the return values mean? I wonder whether this might be an effect of
  454. O_NDELAY remaining set sometimes?  The condition ttmdm == 0 may during some
  455. phases coincide with O_NDELAY remaining set, but not always. Is that the
  456. reason for testing ttmdm?
  457.  
  458. In the end, ttres() also unsets O_NDELAY, this time without any magic, but
  459. only for UXIII, and only if ttmdm != 0 (you have set a modem type).  Is there
  460. any other reason for this than as a late repair of the missing unset earlier?
  461. ttres() is supposed to restore the tty to "normal".  I wonder what this
  462. "normal" mode is? If "normal" is the mode it had before dialing an connecting,
  463. I don't think it will restore O_NDELAY to that state. I'm tempted to suggest
  464. that it should be left alone, and to other functions fixed to always unset it,
  465. but I am not sure that is the intended state either. If some very early state
  466. is intended, which might be the case if ttres() can be called in an very early
  467. state, e.g. via ttclos() if you change lines without using the first line,
  468. maybe O_NDELAY should be turned on again?
  469.  
  470. tthang() closes and reopens the tty, except on Xenix systems. This open of
  471. courses also blocks for carrier on my system if the O_NDELAY flag is not used,
  472. exactly like the very first open. The open is performed with the same fcntl
  473. flags as the file had before being closed. O_NDELAY is a fcntl flag. But
  474. O_NDELAY is not always set at this point. It has been unset if you have used
  475. the dial command, as I outlined before. I have patched this to force O_NDELAY
  476. on the open, and restore to the original state afterwards. Any comment?  Why
  477. is the tty closed at all? Shouldn't it suffice to set a zero baud rate, just
  478. as the manual says? (It does suffice on my system.)
  479.  
  480. When the last open file descriptor to the tty is closed, it resets the
  481. communications parameters to defaults (especially after dialing, when HUPCL
  482. has been set explicitely). That is why CLOCAL will not remain on to enable a
  483. painless new open.
  484.  
  485. Is it wise to use the "flow" parameter of ttpkt() and ttvt() both for setting
  486. XON/XOFF flow controll and for indicating DIALING/CONNECT mode? Will there
  487. never be any clash? What mode is it when it is not DIALING or CONNECT?
  488.  
  489. On many systems there is another solution to the problem of how to open and
  490. read without blocking for a carrier. They have more than one device name (or
  491. can have them created with mknod) for the same tty port. One name enables
  492. modem control by default, and the other disabled it. Kermit does not know
  493. about these different names, so it just uses what the user gives it.
  494.  
  495. I have testet that on SCO Xenix. I think it behaves somewhat strange on that
  496. system, and not to my liking. The driver simply ignores my setting of CLOCAL,
  497. and only uses the default for that device name, always. Are other systems like
  498. that, too, or is just that Xenix is strange as always?
  499.  
  500. I think that's most of what I had on my mind.
  501.  
  502. Kristoffer Eriksson, Peridot Konsult AB, Hagagatan 6, S-703 40 Oerebro, Sweden
  503. Phone:+46 19-13 03 60 ! e-mail: ske@pkmab.se
  504. Fax:  +46 19-11 51 03 ! or ...!{uunet,mcvax}!sunic.sunet.se!kullmar!pkmab!ske
  505.  
  506. ------------------------------
  507.  
  508. End of Info-Kermit Digest
  509. *************************
  510.  
  511.