home *** CD-ROM | disk | FTP | other *** search
- 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)