home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
ytalkos2.zip
/
readme.1st
< prev
next >
Wrap
Text File
|
1995-03-06
|
18KB
|
398 lines
03/06/95
Version 0.91
Ytalk 3.0.2 for OS/2 port using EMX - Version 0.91 (Beta version)
Ported by Richard W. Dreher
Please DO NOT bother the original author: Britt Yenne about this program.
Feel free to E-mail me about it any time, at: rich@oingomth.uwc.edu
******************** START: Ytalk Author's Copyright *************************
*
* Copyright (c) 1990,1992,1993 Britt Yenne. All rights reserved.
*
* This software is provided AS-IS. The author gives no warranty,
* real or assumed, and takes no responsibility whatsoever for any
* use or misuse of this software, or any damage created by its use
* or misuse.
*
* This software may be freely copied and distributed provided that
* no part of this NOTICE is deleted or edited in any manner.
*
*********************** END: Ytalk Author's Copyright ************************
This file contains information about setting up your system to run Ytalk for
OS/2. It also contains the original two readme files that came with the Unix
source code for Ytalk 2.0 and Ytalk 3.0.
You will need a TCP/IP protocol stack running on your OS/2 system. I am using
IBM's TCP/IP 2.0 with CSD 64092. Ytalk does NOT come with its own talk daemon,
so you will NEED to run one. I have included my port of the ntalk daemon. If you
don't have a talk daemon, using this one. I use talkd that comes with IBM's
TCP/IP 2.0. The following files, which have been included, are needed to run
Ytalk for OS/2:
1) ytalk.exe
2) emx.dll
3) termcap.dat
The following files are optional to run Ytalk for OS/2:
1) ytalkrc ytalk configuration file (not tested yet)
NOTE 1: This file is not included.
NOTE 2: The leading "." has been removed from the original UNIX style name.
2) ntalkd.exe A port of BSD's ntalkd. Only needed if you don't have a talk
daemon already.
I recommend that the Ytalk for OS/2 files be place in a directory of their own.
For example: d:\ytalk. If you have the EMX development system already installed
on your system, you may already have the emx.dll and termcap.dat files. These
should work fine.
The following environment variables are needed by EMX & Ytalk for OS/2 to run
properly. I have added these to my config.sys file:
*** Please use the proper entries for your configuration ***
SET HOSTNAME=<your host name>
SET USER=<your user name> NOTE: Ytalk will use this as your user name during a connection. It is case sensitive.
SET TERM=<terminal type> NOTE: "mono" and "ansi" seem to work here.
SET TERMCAP=<full path to termcap.dat> NOTE: use forward slashes:"/"
SET YTALK_HOME=<location of ytalkrc file> NOTE: Only needed if you are using a ytalkrc configuration file.
Here is an example of the settings I use:
SET HOSTNAME=mthos2
SET USER=rich
SET TERM=mono
SET TERMCAP=d:/ytalk/termcap.dat
SET YTALK_HOME=d:/ytalk
NOTE: Yes, those should be "/" not "\".
The EMX.DLL file can go anywhere on you system, but the typical location of the
EMX.DLL file is either d:\os2\dll or d:\emx\dll. Be sure that whatever
directory you choose, there is a corresponding entry in your LIBPATH statement
in your config.sys file.
In the following example, d:\emx\dll; has been added to the end of the LIBPATH:
LIBPATH=.;d:\os2\dll;d:\os2\mdos;d:\ibmcom\dll;d:\;d:\os2\apps\dll;d:\tcpip\dll;d:\emx\dll;
This program represents my first attempt at porting a UNIX program to OS/2 using
EMX. Although EMX makes the porting process _MUCH_ easier, there are still a
number of thing wrong with Ytalk for OS/2, and several things not tested.
Please feel free to tell me what you think of it. (I can take it). This beta
build, seems to be stable and functional.
CHANGES FROM VERSION 0.90
-------------------------
1) Recompiled with PDcurses instead of Curses. This fix most of the screen
drawing problems and random cursor movement.
2) I am also including a beta version of my port of BSD's Ntalk Daemon. This
is mostly for IAK users who don't have the talkd that comes with IBM's TCP/IP
kit. It is called ntalkd.exe.
KNOWN PROBLEMS:
---------------
1) The Shell feature has been disabled, it is not working yet. Actually, I have
it shelling out, but I don't have the data routing to the other users and to the
proper area in the window.
2) This version has been compiled with the PDcurses lib instead of Curses
(actually two functions still come from the Curses lib). This has fixed most
of the display problems with version .90. A new problem a now exists though:
The scroll feature is now broken :( This is enabled/disabled from the options menu.
3) Due to a bug in the "getservbyname()" function, Ytalk for OS/2 assumes that
the talk and ntalk ports are 517 and 518, respectively. If you have changed your
talk or ntalk port assignment in the "\tcpip\etc\services" file, Ytalk for OS/2
may not work.
QUESTIONS AND ANSWERS:
----------------------
Q1) Why do I get: <Ytalk Error, find_daemon: recv() failed...> error every time
I connect to another location?
A1) I believe that this happens because talkd is not supporting one of the
talk protocols. Ytalk check for a response on both ports: 517 and 518, talk
and ntalk, respectively. This does not seem to keep Ytalk from working correctly,
as long one of the talk protocols is supported.
Q2) Why do I get Error SYS3175 when I start Ytalk for OS/2?
A2) You do not have the environment variable TERM and/or HOSTNAME set to something
valid. I know "mono" and "ansi" are valid settings. This is a problem (feature?) in
the "Curses" portion of the EMX porting system. Also remember that the HOSTNAME
is just the Host portion of your domain name. Ex: RIGHT:mthos2 WRONG:mthos2.uwc.edu
Q3) When someone rings me at my system and I respond correctly, why does it
start ringing them instead of answering them?
A3) Ytalk for OS/2 uses the USER environment variable to get your user name. If
the user name being requested for a ytalk connection doesn't match the USER
environment variable EXACTLY, Ytalk for OS/2 will think you are a different user
and try to start a new connection. The user name is case sensitive.
Please feel free to comment, complain, compliment, flame, rant, rave, etc. about
this port. I hope to improve it further with input from you. I have also been
thinking about writing a "ytalk" compatible talk for OS/2 PM from scratch.
Email me at: rich@oingomth.uwc.edu
My machine at home is: mthos2.uwc.edu
You can try me at home, but my machine is not always on-line, yet!
Rich Dreher
ytalk rich@mthos2.uwc.edu
**************** START: Original readme from Ytalk ver 3.0 ***********************
YTalk Make Procedure:
To restore the Makefile to its original state, run:
make start
If wish to support the X11 interface, edit the configuration at
the top of the 'Imakefile' file then run:
xmkmf
make
If you do not have "xmkmf" on your system, then you cannot support
X11 through ytalk at this time. Ask your system administrator to
install "xmkmf" (it stands for "X Make Makefile").
If you do not have X11 installed on your system, or you do not
wish to support the X11 interface, then edit the configuration at
the top of the 'Makefile' file then run:
make
The resulting executable program will be named "ytalk".
If you ever go back and change some configuration parameters at the
top of Imakefile or Makefile, you should run 'make clean' before running
'xmkmf' and/or 'make' again. This will ensure that everything recompiles.
A manpage will automatically be built. It will be named "ytalk.cat".
You can read the manual page by running:
more ytalk.cat
If you make changes to this source code or if you have any ideas for
neat new features, _PLEASE_ mail me and let me know about it. Chances
are I'll incorporate your ideas/changes into the next version and put a
great big "thank you" note to you in the documentation and source
code. If you do change something or add features, and you intend to
give a copy to a friend, please make sure _your_ name appears somewhere
in the documentation so that _I_ don't get reams of mail or bug reports
about features I didn't know existed... :-)
If you have questions or suggestions, I'd be happy to hear from you
at this email address:
ytalk@austin.eds.com
---- PATCH LEVEL 01
1. Forcibly reset the scrolling region after a shell exits.
2. Handle a local X resize while in a shell.
3. Repair the password entry lookup stuff.
4. Character-wrap to next line if word-wrap is disabled.
5. Solaris 2.* support, patch by Magnus Hammerin.
6. Aside messages in X, patch by Jonas Yngvesson.
7. Fix X support, patch by Carl Edman.
8. Option -x to disable X from the command line, thanks to John Vanderpool.
9. Ctrl-L or ctrl-R to redraw screen, thanks to Shih-Chen Huang.
10. Fix bizarre WINCH bug in exec.c.
11. Handle 64-bit machines, thanks to Andrew Myers.
12. Implement raw/cooked curses -- fixes 8-bit/parity problems with some
terminals and allows ytalk to be suspended. Thanks to Duncan Sinclair.
13. System ytalkrc file, thanks to Evan McLean.
14. Place user's full name in title bar, thanks to Evan McLean.
15. Better imake support, thanks to Carl Edman.
16. Installation features for make.
17. Fix X resource database calls, patch by Andreas Stolcke.
18. Fix cross-platform problems, thanks to Larry Schwimmer.
**************** END: Original readme from Ytalk ver 3.0 ***********************
**************** START: Original readme from Ytalk ver 2.0 ***********************
YTalk is in essence a multi-user chat program. It works almost exactly like
the UNIX "talk" program and even communicates with the same talk daemon(s),
but YTalk allows for multiple connections. As you experiment with or use
this software, please bear in mind that YTalk is not completely finished.
It performs every major function it is designed to perform, and as a whole
is much preferable to UNIX "talk". However, there are several more features
currently being added (including an X Window System interface) which are not
yet complete.
Consider this file to be some simplified documentation, for I have not yet
written any comprehensive docs.
****************************************************************************
** To compile YTalk, you may need to modify the file "config.h", which **
** contains configuration options for various systems. If you don't know **
** which categories your system falls into, just type "make" to compile **
** YTalk and see what breaks. :-) **
****************************************************************************
usage: ytalk username...
The "username" field may be formatted in several different ways:
name - some user on your machine
name@host - some user on a different machine
name#tty - some user on a particular terminal
name#tty@host - some user on a particular tty on a different machine
name@host#tty - same as "name#tty@host"
You can specify multiple user names on the command line, ie:
ytalk george fred@hissun.edu marc@grumpy.cc
For each user on the command line, YTalk will attempt to connect to the talk
daemon on the specified user's host and determine if that user has left an
invitation for you to call. If not, YTalk leaves an invitation for him on
your machine and tells his talk daemon to send an announcement to his screen.
There is not yet a dedicated YTalk daemon, but there will be. Right now,
YTalk is able to communicate with BOTH existing versions of UNIX talk
daemons. For any particular host, YTalk will attempt to communicate with
a talk daemon, if the caller's host also supports that talk daemon. If the
two hosts have no daemon in common, then UNIX "talk" will not function at
all, but a connection is possible through (and only through) YTalk.
Once a connection has been established between two users, they can chat back
and forth to their hearts' content. The connection is terminated when one
of them hits control-C.
YTalk is perfectly compatible with UNIX "talk", and they can even converse
with each other without any problems. However, many of the features of YTalk
can only operate when you are connected to a user who is also using YTalk.
For the rest of this document, it will be assumed that all connected users
are using YTalk, unless otherwise stated.
If you specified more than one user on the YTalk command line, then YTalk
will process and add each user to the conversation as they respond to your
invitation. As each new user enters the conversation, the screen is further
subdivided into smaller and smaller windows, one for each connected user.
Right now, the number of connected users is limited by the number of lines
on your terminal (or window), for each connected user needs at least four
lines. The absolute maximum number of connections is set to 20 right now,
but this can be changed.
As each new user is added to the conversation, YTalk will transmit information
about that user to all other connected YTalk users so that their screens will
also subdivide and incorporate the new user. If the new user is using UNIX
"talk", then information about him will NOT be transmitted, for his screen
would be unable to accept multiple connections. I have given brief thought
to allowing at least the output of UNIX "talk" users to be transmitted to
all connected YTalk users, but I have not written any code to do so. Note
that even though UNIX "talk" cannot handle multiple connections, it is still
possible for YTalk to handle multiple UNIX "talk" connections. For example,
george (using YTalk) could communicate with fred and joe (both using UNIX
"talk"), but fred and joe would be unaware of each other. The best way to
understand the limitations that UNIX "talk" places on YTalk is to test
various connections between the two and see how things work.
It can be annoying when you are busily chatting with some user, and someone
else attempts to talk to you, sending that talk daemon message to your screen
and messing everything up. Also, in any multi-talk environment it should
be easy to add new users to the conversation, and remove any particular users
from the conversation on the fly. Hence, the ESC menu. Whenever you are
using YTalk, you can hit the ESCAPE key to bring up a menu which at this
moment has three options:
a) Add a new user to session
d) Delete a user from session
o) Output a user to a file
By choosing option "a", you are given the opportunity to type the name of any
user you wish to include into the conversation. Again, YTalk will accept an
invitation from that user if an invitation exists, or will leave an invitation
and ring the given user.
By choosing option "d", you can type the name of any connected user, and that
connection will be terminated.
By choosing option "o", you can type the name of any connected user and the
name of a file, and all further output from that user will be dumped to the
specified file. The file, if it exists, will be OVERWRITTEN.
Oh, one other thing: when user A attempts to ytalk to user B, but user B is
already ytalking with user C, user A's YTalk program will realize that user
B is already using YTalk, and will communicate with user B's YTalk program
directly in order to initialize the conversation. User B will see a nice
windowed message like:
Do you wish to talk with user A?
and he will be prompted for a yes/no answer. This, in my opinion, is much
preferable to blitting the announcement message and messing up user B's
screen.
This, I believe, is just about everything at this point in time. Work is
already being done on the following ideas:
1) an X-window interface,
2) private conversations which do not get interrupted or transmitted
to all YTalk connections,
3) a way to send an aside to just one or a few of the connected users,
4) a dedicated YTalk daemon.
If you have any ideas, comments, or questions, I'd be happy to hear from you
at:
yenne@ccwf.cc.utexas.edu
**************** END: Original readme from Ytalk ver 2.0 ***********************
**************** START: Copyright for EMX/BSD Curses ***********************
/*
* Copyright (c) 1987 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
**************** END: Copyright for EMX/BSD Curses ***********************