home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / ytalkos2.zip / readme.1st < prev    next >
Text File  |  1995-03-06  |  18KB  |  398 lines

  1. 03/06/95
  2. Version 0.91
  3.  
  4.  
  5.  
  6.           Ytalk 3.0.2 for OS/2 port using EMX - Version 0.91 (Beta version)
  7.                            Ported by Richard W. Dreher
  8.               
  9. Please DO NOT bother the original author: Britt Yenne about this program.
  10. Feel free to E-mail me about it any time, at: rich@oingomth.uwc.edu
  11.                       
  12. ******************** START: Ytalk Author's Copyright *************************
  13.  
  14.  *
  15.  * Copyright (c) 1990,1992,1993 Britt Yenne.  All rights reserved.
  16.  * 
  17.  * This software is provided AS-IS.  The author gives no warranty,
  18.  * real or assumed, and takes no responsibility whatsoever for any 
  19.  * use or misuse of this software, or any damage created by its use
  20.  * or misuse.
  21.  * 
  22.  * This software may be freely copied and distributed provided that
  23.  * no part of this NOTICE is deleted or edited in any manner.
  24.  * 
  25.  
  26. *********************** END: Ytalk Author's Copyright ************************
  27.  
  28. This file contains information about setting up your system to run Ytalk for
  29. OS/2. It also contains the original two readme files that came with the Unix
  30. source code for Ytalk 2.0 and Ytalk 3.0. 
  31.  
  32. You will need a TCP/IP protocol stack running on your OS/2 system. I am using
  33. IBM's TCP/IP 2.0 with CSD 64092. Ytalk does NOT come with its own talk daemon,
  34. so you will NEED to run one. I have included my port of the ntalk daemon. If you
  35. don't have a talk daemon, using this one. I use talkd that comes with IBM's
  36. TCP/IP 2.0. The following files, which have been included, are needed to run
  37. Ytalk for OS/2:
  38.  
  39. 1) ytalk.exe
  40. 2) emx.dll
  41. 3) termcap.dat
  42.  
  43. The following files are optional to run Ytalk for OS/2:
  44.  
  45. 1) ytalkrc     ytalk configuration file (not tested yet)
  46. NOTE 1: This file is not included.
  47. NOTE 2: The leading "." has been removed from the original UNIX style name.
  48. 2) ntalkd.exe   A port of BSD's ntalkd. Only needed if you don't have a talk
  49. daemon already.
  50.  
  51. I recommend that the Ytalk for OS/2 files be place in a directory of their own.
  52. For example: d:\ytalk.  If you have the EMX development system already installed
  53. on your system, you may already have the emx.dll and termcap.dat files. These
  54. should work fine.
  55.  
  56. The following environment variables are needed by EMX & Ytalk for OS/2 to run
  57. properly. I have added these to my config.sys file:
  58.  
  59. *** Please use the proper entries for your configuration ***
  60. SET HOSTNAME=<your host name>  
  61. SET USER=<your user name>     NOTE: Ytalk will use this as your user name during a connection. It is case sensitive.
  62. SET TERM=<terminal type>      NOTE: "mono" and "ansi" seem to work here.
  63. SET TERMCAP=<full path to termcap.dat> NOTE: use forward slashes:"/"
  64. SET YTALK_HOME=<location of ytalkrc file>  NOTE: Only needed if you are using a ytalkrc configuration file.
  65.  
  66. Here is an example of the settings I use:
  67.  
  68. SET HOSTNAME=mthos2
  69. SET USER=rich
  70. SET TERM=mono
  71. SET TERMCAP=d:/ytalk/termcap.dat
  72. SET YTALK_HOME=d:/ytalk 
  73.  
  74. NOTE: Yes, those should be "/" not "\".
  75.  
  76. The EMX.DLL file can go anywhere on you system, but the typical location of the
  77. EMX.DLL file is either d:\os2\dll or d:\emx\dll. Be sure that whatever
  78. directory you choose, there is a corresponding entry in your LIBPATH statement
  79. in your config.sys file.
  80.  
  81. In the following example, d:\emx\dll; has been added to the end of the LIBPATH:
  82.  
  83. LIBPATH=.;d:\os2\dll;d:\os2\mdos;d:\ibmcom\dll;d:\;d:\os2\apps\dll;d:\tcpip\dll;d:\emx\dll;
  84.  
  85. This program represents my first attempt at porting a UNIX program to OS/2 using
  86. EMX. Although EMX makes the porting process _MUCH_ easier, there are still a
  87. number of thing wrong with Ytalk for OS/2, and several things not tested.
  88. Please feel free to tell me what you think of it. (I can take it). This beta
  89. build, seems to be stable and functional.
  90.  
  91. CHANGES FROM VERSION 0.90
  92. -------------------------
  93. 1) Recompiled with PDcurses instead of Curses. This fix most of the screen
  94. drawing problems and random cursor movement.
  95.  
  96. 2) I am also including a beta version of my port of BSD's Ntalk Daemon. This
  97. is mostly for IAK users who don't have the talkd that comes with IBM's TCP/IP
  98. kit. It is called ntalkd.exe.
  99.  
  100.  
  101. KNOWN PROBLEMS:
  102. ---------------
  103.  
  104. 1) The Shell feature has been disabled, it is not working yet. Actually, I have
  105. it shelling out, but I don't have the data routing to the other users and to the
  106. proper area in the window.
  107.  
  108. 2) This version has been compiled with the PDcurses lib instead of Curses
  109. (actually two functions still come from the Curses lib). This has fixed most
  110. of the display problems with version .90. A new problem a now exists though:
  111. The scroll feature is now broken :( This is enabled/disabled from the options menu.
  112.  
  113. 3) Due to a bug in the "getservbyname()" function, Ytalk for OS/2 assumes that 
  114. the talk and ntalk ports are 517 and 518, respectively. If you have changed your
  115. talk or ntalk port assignment in the "\tcpip\etc\services" file, Ytalk for OS/2
  116. may not work.
  117.  
  118.  
  119. QUESTIONS AND ANSWERS:
  120. ----------------------
  121.  
  122. Q1) Why do I get: <Ytalk Error, find_daemon: recv() failed...> error every time
  123. I connect to another location?
  124.  
  125. A1) I believe that this happens because talkd is not supporting one of the
  126. talk protocols. Ytalk check for a response on both ports: 517 and 518, talk
  127. and ntalk, respectively. This does not seem to keep Ytalk from working correctly,
  128. as long one of the talk protocols is supported.
  129.  
  130. Q2) Why do I get Error SYS3175 when I start Ytalk for OS/2?
  131.  
  132. A2) You do not have the environment variable TERM and/or HOSTNAME set to something
  133. valid. I know "mono" and "ansi" are valid settings. This is a problem (feature?) in
  134. the "Curses" portion of the EMX porting system. Also remember that the HOSTNAME
  135. is just the Host portion of your domain name. Ex: RIGHT:mthos2 WRONG:mthos2.uwc.edu
  136.  
  137. Q3) When someone rings me at my system and I respond correctly, why does it
  138. start ringing them instead of answering them?
  139.  
  140. A3) Ytalk for OS/2 uses the USER environment variable to get your user name. If
  141. the user name being requested for a ytalk connection doesn't match the USER
  142. environment variable EXACTLY, Ytalk for OS/2 will think you are a different user
  143. and try to start a new connection. The user name is case sensitive.
  144.  
  145. Please feel free to comment, complain, compliment, flame, rant, rave, etc. about
  146. this port. I hope to improve it further with input from you. I have also been
  147. thinking about writing a "ytalk" compatible talk for OS/2 PM from scratch.
  148.  
  149. Email me at: rich@oingomth.uwc.edu
  150. My machine at home is: mthos2.uwc.edu
  151. You can try me at home, but my machine is not always on-line, yet!
  152.  
  153. Rich Dreher
  154. ytalk rich@mthos2.uwc.edu
  155.  
  156.  
  157. **************** START: Original readme from Ytalk ver 3.0 ***********************
  158. YTalk Make Procedure:
  159.  
  160.     To restore the Makefile to its original state, run:
  161.  
  162.     make start
  163.  
  164.     If wish to support the X11 interface, edit the configuration at
  165.     the top of the 'Imakefile' file then run:
  166.  
  167.     xmkmf 
  168.     make
  169.     
  170.     If you do not have "xmkmf" on your system, then you cannot support
  171.     X11 through ytalk at this time.  Ask your system administrator to
  172.     install "xmkmf" (it stands for "X Make Makefile").
  173.  
  174.     If you do not have X11 installed on your system, or you do not
  175.     wish to support the X11 interface, then edit the configuration at
  176.     the top of the 'Makefile' file then run:
  177.  
  178.     make
  179.  
  180. The resulting executable program will be named "ytalk".
  181.  
  182. If you ever go back and change some configuration parameters at the
  183. top of Imakefile or Makefile, you should run 'make clean' before running
  184. 'xmkmf' and/or 'make' again.  This will ensure that everything recompiles.
  185.  
  186. A manpage will automatically be built.  It will be named "ytalk.cat".
  187. You can read the manual page by running:
  188.  
  189.     more ytalk.cat
  190.  
  191. If you make changes to this source code or if you have any ideas for
  192. neat new features, _PLEASE_ mail me and let me know about it.  Chances
  193. are I'll incorporate your ideas/changes into the next version and put a
  194. great big "thank you" note to you in the documentation and source
  195. code.  If you do change something or add features, and you intend to
  196. give a copy to a friend, please make sure _your_ name appears somewhere
  197. in the documentation so that _I_ don't get reams of mail or bug reports
  198. about features I didn't know existed... :-)
  199.  
  200. If you have questions or suggestions, I'd be happy to hear from you
  201. at this email address:
  202.  
  203.     ytalk@austin.eds.com
  204.  
  205. ---- PATCH LEVEL 01
  206.  
  207.   1. Forcibly reset the scrolling region after a shell exits.
  208.   2. Handle a local X resize while in a shell.
  209.   3. Repair the password entry lookup stuff.
  210.   4. Character-wrap to next line if word-wrap is disabled.
  211.   5. Solaris 2.* support, patch by Magnus Hammerin.
  212.   6. Aside messages in X, patch by Jonas Yngvesson.
  213.   7. Fix X support, patch by Carl Edman.
  214.   8. Option -x to disable X from the command line, thanks to John Vanderpool.
  215.   9. Ctrl-L or ctrl-R to redraw screen, thanks to Shih-Chen Huang.
  216.  10. Fix bizarre WINCH bug in exec.c.
  217.  11. Handle 64-bit machines, thanks to Andrew Myers.
  218.  12. Implement raw/cooked curses -- fixes 8-bit/parity problems with some
  219.      terminals and allows ytalk to be suspended.  Thanks to Duncan Sinclair.
  220.  13. System ytalkrc file, thanks to Evan McLean.
  221.  14. Place user's full name in title bar, thanks to Evan McLean.
  222.  15. Better imake support, thanks to Carl Edman.
  223.  16. Installation features for make.
  224.  17. Fix X resource database calls, patch by Andreas Stolcke.
  225.  18. Fix cross-platform problems, thanks to Larry Schwimmer.
  226.  
  227. **************** END: Original readme from Ytalk ver 3.0 ***********************
  228.  
  229.  
  230. **************** START: Original readme from Ytalk ver 2.0 ***********************
  231.  
  232. YTalk is in essence a multi-user chat program.  It works almost exactly like
  233. the UNIX "talk" program and even communicates with the same talk daemon(s),
  234. but YTalk allows for multiple connections.  As you experiment with or use
  235. this software, please bear in mind that YTalk is not completely finished.
  236. It performs every major function it is designed to perform, and as a whole
  237. is much preferable to UNIX "talk".  However, there are several more features
  238. currently being added (including an X Window System interface) which are not
  239. yet complete.
  240.  
  241. Consider this file to be some simplified documentation, for I have not yet
  242. written any comprehensive docs.
  243.  
  244. ****************************************************************************
  245. ** To compile YTalk, you may need to modify the file "config.h", which      **
  246. ** contains configuration options for various systems.  If you don't know **
  247. ** which categories your system falls into, just type "make" to compile      **
  248. ** YTalk and see what breaks.  :-)                      **
  249. ****************************************************************************
  250.  
  251. usage:    ytalk username...
  252.  
  253. The "username" field may be formatted in several different ways:
  254.  
  255.     name          - some user on your machine
  256.     name@host     - some user on a different machine
  257.     name#tty      - some user on a particular terminal
  258.     name#tty@host - some user on a particular tty on a different machine
  259.     name@host#tty - same as "name#tty@host"
  260.  
  261. You can specify multiple user names on the command line, ie:
  262.  
  263.     ytalk george fred@hissun.edu marc@grumpy.cc
  264.  
  265. For each user on the command line, YTalk will attempt to connect to the talk
  266. daemon on the specified user's host and determine if that user has left an
  267. invitation for you to call.  If not, YTalk leaves an invitation for him on
  268. your machine and tells his talk daemon to send an announcement to his screen.
  269. There is not yet a dedicated YTalk daemon, but there will be.  Right now,
  270. YTalk is able to communicate with BOTH existing versions of UNIX talk
  271. daemons.  For any particular host, YTalk will attempt to communicate with
  272. a talk daemon, if the caller's host also supports that talk daemon.  If the
  273. two hosts have no daemon in common, then UNIX "talk" will not function at
  274. all, but a connection is possible through (and only through) YTalk.
  275.  
  276. Once a connection has been established between two users, they can chat back
  277. and forth to their hearts' content.  The connection is terminated when one
  278. of them hits control-C.
  279.  
  280. YTalk is perfectly compatible with UNIX "talk", and they can even converse
  281. with each other without any problems.  However, many of the features of YTalk
  282. can only operate when you are connected to a user who is also using YTalk.
  283. For the rest of this document, it will be assumed that all connected users
  284. are using YTalk, unless otherwise stated.
  285.  
  286. If you specified more than one user on the YTalk command line, then YTalk
  287. will process and add each user to the conversation as they respond to your
  288. invitation.  As each new user enters the conversation, the screen is further
  289. subdivided into smaller and smaller windows, one for each connected user.
  290. Right now, the number of connected users is limited by the number of lines
  291. on your terminal (or window), for each connected user needs at least four
  292. lines.  The absolute maximum number of connections is set to 20 right now,
  293. but this can be changed.
  294.  
  295. As each new user is added to the conversation, YTalk will transmit information
  296. about that user to all other connected YTalk users so that their screens will
  297. also subdivide and incorporate the new user.  If the new user is using UNIX
  298. "talk", then information about him will NOT be transmitted, for his screen
  299. would be unable to accept multiple connections.  I have given brief thought
  300. to allowing at least the output of UNIX "talk" users to be transmitted to
  301. all connected YTalk users, but I have not written any code to do so.  Note
  302. that even though UNIX "talk" cannot handle multiple connections, it is still
  303. possible for YTalk to handle multiple UNIX "talk" connections.  For example,
  304. george (using YTalk) could communicate with fred and joe (both using UNIX
  305. "talk"), but fred and joe would be unaware of each other.  The best way to
  306. understand the limitations that UNIX "talk" places on YTalk is to test
  307. various connections between the two and see how things work.
  308.  
  309. It can be annoying when you are busily chatting with some user, and someone
  310. else attempts to talk to you, sending that talk daemon message to your screen
  311. and messing everything up.  Also, in any multi-talk environment it should
  312. be easy to add new users to the conversation, and remove any particular users
  313. from the conversation on the fly.  Hence, the ESC menu.  Whenever you are
  314. using YTalk, you can hit the ESCAPE key to bring up a menu which at this
  315. moment has three options:
  316.  
  317.     a) Add a new user to session
  318.     d) Delete a user from session
  319.     o) Output a user to a file
  320.  
  321. By choosing option "a", you are given the opportunity to type the name of any
  322. user you wish to include into the conversation.  Again, YTalk will accept an
  323. invitation from that user if an invitation exists, or will leave an invitation
  324. and ring the given user.
  325.  
  326. By choosing option "d", you can type the name of any connected user, and that
  327. connection will be terminated.
  328.  
  329. By choosing option "o", you can type the name of any connected user and the
  330. name of a file, and all further output from that user will be dumped to the
  331. specified file.  The file, if it exists, will be OVERWRITTEN.
  332.  
  333. Oh, one other thing:  when user A attempts to ytalk to user B, but user B is
  334. already ytalking with user C, user A's YTalk program will realize that user
  335. B is already using YTalk, and will communicate with user B's YTalk program
  336. directly in order to initialize the conversation.  User B will see a nice
  337. windowed message like:
  338.  
  339.     Do you wish to talk with user A?
  340.  
  341. and he will be prompted for a yes/no answer.  This, in my opinion, is much
  342. preferable to blitting the announcement message and messing up user B's
  343. screen.
  344.  
  345. This, I believe, is just about everything at this point in time.  Work is
  346. already being done on the following ideas:
  347.  
  348.     1) an X-window interface,
  349.     2) private conversations which do not get interrupted or transmitted
  350.         to all YTalk connections,
  351.     3) a way to send an aside to just one or a few of the connected users,
  352.     4) a dedicated YTalk daemon.
  353.  
  354. If you have any ideas, comments, or questions, I'd be happy to hear from you
  355. at:
  356.  
  357.     yenne@ccwf.cc.utexas.edu
  358.  
  359. **************** END: Original readme from Ytalk ver 2.0 ***********************
  360.  
  361.  
  362. **************** START: Copyright for EMX/BSD Curses  ***********************
  363.  
  364. /*
  365.  * Copyright (c) 1987 Regents of the University of California.
  366.  * All rights reserved.
  367.  *
  368.  * Redistribution and use in source and binary forms, with or without
  369.  * modification, are permitted provided that the following conditions
  370.  * are met:
  371.  * 1. Redistributions of source code must retain the above copyright
  372.  *    notice, this list of conditions and the following disclaimer.
  373.  * 2. Redistributions in binary form must reproduce the above copyright
  374.  *    notice, this list of conditions and the following disclaimer in the
  375.  *    documentation and/or other materials provided with the distribution.
  376.  * 3. All advertising materials mentioning features or use of this software
  377.  *    must display the following acknowledgement:
  378.  *    This product includes software developed by the University of
  379.  *    California, Berkeley and its contributors.
  380.  * 4. Neither the name of the University nor the names of its contributors
  381.  *    may be used to endorse or promote products derived from this software
  382.  *    without specific prior written permission.
  383.  *
  384.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  385.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  386.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  387.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  388.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  389.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  390.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  391.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  392.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  393.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  394.  * SUCH DAMAGE.
  395.  */
  396.  
  397. **************** END: Copyright for EMX/BSD Curses  ***********************
  398.