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! ----- -----