wjm 09-dec-1996: My *totally* *unsupported* and not quite functional collection 
		 of Unix/TCPIP-related ZT programs consists of:

	ZT4.C		the VMS end (built for UCX via ZT-MAKE => ZT4_UCX.EXE).
			Contains some obsolete(!) code for NETLIB V1 support

	ZTNS4.C		unix main program

	ZTNS4.H		definitions common to ZT4 and ZTNS4

	ZTNS4VMS.H	VMS definitions required by ZTNS4.C

	TAPRD.*_C	subroutines implementing tape operations
			(* = AIX, DECOSF1 (also works on ULTRIX)).
			tape device given by environment variable
			("TAPE" by default)

	DSKTAP.C	(replaces TAPRD) tape emulation on disk file,
			compatible with the VMS version(!)

	NULTAP.C	(replaces TAPRD) tape "null device"

	TDUP.C		main program for copying between "real" tape,
			DSKTAP, and NULTAP (the latter only for the
			purpose of listing the tape structure).
			MAKEFILE.* knows how to build some combinations

	CTAPE.C,
	CTAPE2.C	"cache tape" routines (go in between main program
			and TAPRD) that work around non-functional tape
			I/O operations (e.g. "skip record" that won't
			work across tape marks). MAKEFILE.* knows how to
			build a lot of combinations ...

	MAKEFILE.*	the "makefile"s expect to operate in a 	subdirectory
			that contains the machine-specific "taprd.c";
			the remaining code is taken from the (common) 
			parent directory.

ZTNS4 takes a port number as argument, where it listens for a connection
from ZT4 (or 

ZT4 has 3 [optional] argments:
		ZTdevice:  host  port
	It should be invoked _after_ ZTNS4 has started listening.

Performace issue: ZT4/ZTNS4 use the same protocol messages as ZT2/ZTNS2.
	In that protocol, data transfers require both ends to send several
	messages. With TCP/IP, by default, messages are delayed for a short
	while ("socket option" TCP_NODELAY turns this off). Thruput is very
	low without the latter option. NETLIB V1 wouldn't set it for UCX,
	that's why I gave up NETLIB support (there is some *hack* in ZT4
	for setting the option when both UCX and NETLIB are defined, which
	most likely is version-specific). The "socket" interface now used
	in ZT4 should be o.k. also with other TCP/IP packages.

Bugs/Restrictions: This code has seen much too little testing, so I can't
	guarantee for anything. End-of-tape handling is not implemented.
	As far as I remember, at least on AIX some executables mentioned 
	in the MAKEFILE don't work right with respect to tape positioning, 
	'ztns4C2[T]' may be the best choice.

Wolfgang J. Moeller, Tel. +49 551 2011516 or -510, moeller@gwdvms.dnet.gwdg.de
GWDG, D-37077 Goettingen, F.R.Germany   |       Disclaimer: No claim intended!
<moeller@decus.decus.de>  ----- <moeller@gwdg.de>  -----  <w.moeller@ieee.org>
