home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
network
/
tin
/
readme.os2
next >
Wrap
Text File
|
1993-10-02
|
9KB
|
257 lines
This is version 1.2 PL2 of the OS/2 port of TIN.
An executable version can be obtained from ftp.cdrom.com.
TIN is a newsreader for Usenet news. It can read articles either from a
local article data base (newsspool) or via TCP/IP from a news server using
the Network News Transport Protocol (NNTP).
To run TIN you need
- set environment variables
To read news via NNTP
- TCP/IP access to an nntp server,
- some free space on a HPFS or NFS partition (FAT will not work, due to 8.3
file name restriction)
optional:
- uudecode and uushar utilities
Note: uudecode is posted regularly to comp.binaries.os2 in the "OS/2
Binaries Starter's Kit" by mykek@miller.cs.uwm.edu (OS/2
binaries moderator)
Using TIN under OS/2
To run the local newsspool version, start TIN. To run the NNTP version,
start TIN -r, or rename TIN.EXE to RTIN.EXE and run RTIN.
TIN runs in an OS/2 windowed session. It is not a PM application. TIN
needs to know who you are, in order to create headers for posts and mail
correctly. This user information can be supplied to TIN either via
environment variables or through a Unix-style passwd file.
Directories
All directories used by TIN must be on a HPFS or NFS partition. FAT will
not work due to the 8.3 filename limitation.
Environment Variables
USER
userid or short name, no space or punctuation, required.
REALNAME
Your Full Name, required unless passwd file is used.
HOME
\your\home\directory, required unless passwd file is used.
TMP
Temporary directory - must be on a HPFS partition, required.
NNTPSERVER
either the fully qualified domain name of the nntp server or
the dotted internet address of the nntp server, required for
NNTP version.
HOSTNAME
specifies the name of your machine. It is used to identify your
machine to the nntp server, required for NNTP version.
TIN_SPOOLDIR
path to the root of the news spool, required for local newsspool
version.
TIN_LIBDIR
path to news control: active file, newsgroups file etc., required
for local newsspool version.
TIN_NOVROOTDIR
path to overview files, required for local newsspool version.
LINES
specify how many lines you display window has. If LINES is not set,
TIN will use the actual height of the display window. You might need
to set this if you run TIN from a telnet session. Setting this variable
does not change the height of the window. It only tells TIN how many
lines to use.
COLS
specify how many columns you display window has. If COLS is not set,
TIN will use the actual width of the display window. You might need
to set this if you run TIN from a telnet session. Setting this variable
does not change the width of the window. It only tells TIN how many
columns to use.
EDITOR
VISUAL
specify the editor to use for composing articles and replies. Defaults
to 'epm'.
SHELL
specify command shell to use for shell escapes - defaults to whatever
is set by COMSPEC or the shell field in the passwd file record.
Note that none of the environment variables that refer to directories should
have a trailing backslash '\'.
For other environment variables, see ENVIRONMENT VARIABLES in tin.man.
Unix-style passwd file
If only one person is using TIN to post articles, you can set all required
environment variables in your config.sys file.
If a number of users use TIN to post articles, for example via telnet to
the OS/2 machine, it might be easier to use the Unix-style passwd file.
The passwd file is located in the directory set by the environment
variable ETC, usually c:\tcpip\etc. The same passwd file is used by ftp
and telnet (via loginunx.exe). See your TCP/IP User's Guide for more
information.
TIN does not use the password field, but the full user name, the home
directory and the shell are taken from the passwd file entry. The
environment variable USER is used to locate the correct entry in the
passwd file. If it is not set, an error message is issued by TIN. Two
sample passwd entries follow:
andreas:x:1:1:Andreas Wrede:c:/home/andreas:c:/os2/cmd.exe
guest:x:2:2:Guest User:c:/home/guest:d:/ksh/ksh
Setting up TIN to work with UUPC.
UUPC v1.11z has the ability to receive batches of news articles and file
them in a news spool directory hierarchy. See the section on RNEWS in
COMMANDS.PRN in the UUPC documentation. Don't set set snews mode: TIN
expects to find a regular news spool.
In the following I assume that you have installed UUPC in the directory
c:\uupc and that your HOME directory is c:\home\name.
Unless you have INN style .overview files (which you don't have if you are
using UUPC), both TIN_SPOOLDIR and TIN_NOVROOTDIR should point to the same
directory. In the UUPC.RC file, this directory is specified by
NewsDir= . It is the root of the news tree, ie. it should contain a
directory for every top-level newsgroup, such as ALT, COMP, NEWS, BIZ,
REC, SOC etc. Each newsgroup in your active file should have a
corresponding directory path, ie. for alt.sources it should be
c:\uupc\news\alt\sources, for comp.os.os2.misc it should be
c:\uupc\news\comp\os\os2\misc. The articles in each newsgroup should sit
in files with numeric names in the corresponding directories.
TIN_LIBDIR should point to the directory that contains the file ACTIVE
which lists all the newsgroups you have in your newsspool. In the UUPC.RC
file, this directory is specified by the ConfDir= line. Records (=lines)
in the active file should look similar to this:
alt.sources 655 652 y
comp.os.os2.apps 3480 3309 y
comp.os.os2.misc 14565 14513 y
comp.os.os2.programmer 2298 2176 y
The first time you run TIN, it will create the directory .tin in the
directory you specify as HOME, in our example that would be
c:\home\name\.tin. In that directory, tin will create a number of files and
subdirectories. In HOME itself, TIN will create the file .newsrc, in our
case that would be c:\home\name\.newsrc. The .newsrc file lists the
newsgroups you have subscribed to and the article numbers of the articles
you have read. Sample .newsrc lines read like this:
alt.sources: 1-652
comp.os.os2.apps: 1-3309
comp.os.os2.misc: 1-14513
comp.os.os2.programmer: 1-2176
On my system, I have the following variables set:
USER=andreas
REALNAME=Andreas Wrede
HOME=c:\home\andreas
TIN_LIBDIR=c:\uupc
TIN_SPOOLDIR=c:\uupc\news
TIN_NOVROOTDIR=c:\uupc\news
Note: The executable version of TIN as compiled requires IBM's TCP/IP
package. If you do not have the package installed on your system unzip
the file TCPIPDLL.ZIP. It contains a dummy TCPIPDLL.DLL which satisfies
the the load-time references to TCP/IP functions in TIN. Place the DLL
in a directory listed in your LIBPATH.
Building TIN for OS/2
To build TIN, you need the following:
- Borland C++ for OS/2 or IBM C Set/2
- PDCurses 2.0 build for the compiler of your choice
For the NNTP version of TIN:
- IBM TCP/IP 1.2.1 CSD UN37938 or higher,
- IBM TCP/IP 1.2.1 Programmers's Kit CSD UN37942 of higher, with
modifications as outlined below.
1. Make sure that all source files (*.c and *.h) have <CR><LF> as their
line-ends. If not, use 'unix2os2 < original >newfile' to correct this.
2. Select the makefile appropriate for your compiler: Makefile.bcc for
Borland C++ for OS/2 Makefile.icc for IBM's C Set/2 Compiler
Note: Borland C is preferred. You may have to make some adjustments
when you use IBM's C.
3. Edit the makefile, changing location of include and library files to
match your installation
4. Correct bugs in \tcpip\include\netdb.h
find all occurrences of 'char *' that are not followed by '_Seg16'
and add '_Seg16'. For example change
SERVENT * _Seg16 _Far16 _Cdecl getservbyname( char *, char * );
to
SERVENT * _Seg16 _Far16 _Cdecl getservbyname( char * _Seg16, char * _Seg16 );
You will also correct the prototype for getservbyport and getprotobyname.
5. If you are using Borland C++, edit the TCP/IP header files: in
netdb.h, netlib.h sys/socket.h do the following:
- find the #ifndef __32BIT__ near the top of each file
- change the conditional section as follows:
#ifndef __32BIT__
#ifdef __TURBOC__
#define _Packed
#define _Seg16 _far16
#define _Far16 _far16
#define _Cdecl _cdecl
#define __32BIT__
#else
#define _Packed
#define _Seg16
#define _Far16
#define _Cdecl
#endif
#endif
- add the following below the second #endif
#ifdef __TURBOC__
#define FAR16P _far16 *
#else
#define FAR16P * _Seg16
#endif
- throughout the files change '* _Seg16' and '* _Seg16' to 'FAR16P'
After these changes, the TCP/IP package can be used with the Borland
C compiler.
6. If you are using Borland C++ type 'make -f makefile.bcc' If you are
using IBM's C Set/2 type 'nmake -f makefile.icc' Ignore warnings,
especially re _Cdecl and _Seg16 re-definition.
Enjoy!
Andreas Wrede (andreas@scilink.org)