ipxnet (Sat Oct 25 2014 01:31:01)

ipxnet

IPXNET receives files via the ethernet. Generally these will be from another
Unixbox (program IP2NET) or an Atex J11 using program SNDFIP. For robustness,
the underlying protocol used is UDP, so a failure during transmission will not
halt any other processes.

IPXNET can receive up to 25 simultaneous files. The 26th and subsequent are
told to wait and retry in a second or so.

It sits listening on a defined port for traffic. When each packet arrives, the
3 chr header plus the source Internet no/port are used to define which files is
arriving and what to do with it. Each packet is acknowledged unless the sender
has indicated it does not need.

Text is completely transparent and no changes are made. When the file has
finished it is normally passwd to spool/2go for program IPWHEEL to process
further.

A standalone switch can be used for feeding non-FIP systems. Where used in the
standalone version, the FIP header is stripped, and the filename shrunk to the
contents of the SN field which is the original name given by the source
computer. Any existing file is overwritten. In this case the output queue is a
path from root rather than /fip/spool.

Input Parameters are :
	-h : for systems with more than one ethernet connection,
		this is name in /etc/hosts for the hostname to be used
		if different to the default hostname of the machine
						default: system hostname
	-l : log every file in			default: do not log
	-o : output queue			default: spool/2go
	-p : port no				default: IP_NET_NO (9001)
	-u : logon for file permissions		default: logon of activator
		This is normally used only in the standalone version
	-z : standalone version			default: feeding FIP
		This will strip the FIP header, give a pc filename and
		overwrite existing file.
	-s : for stand alone, the size of the filename. default: 9 chrs
	-i : for stand alone, do NOT overwrite any existing files. def: yes
	-L : for stand alone, log to the screen		default: no
	-Q : for stand-alone, use the destination (or name of the
		parameter file) as the sub-queue name (forced lowercase)
		ie is the -o is /data1/input and the parameter file is ROUGH or
		the destination is DU:rough, the file is left in
		/deta1/input/rough		default: no
	-Z : do NOT replace unix metachrs - $, * with '_' in header fields
						default: replace
	-W : watch packets as they arrive	default: no
		print to screen all packets.
		Use this for testing new connections!
	-c : copy file if the temp queue (x) is on a different unix volume
		to the output queue (-o switch)	default: same volume
	-t : log the time taken to receive the file	default: ignore
	-9 : run in Speedy mode			 default: no
	-v : print version and quit

If running with metachrs being stripped, you can change the new chr from the
default '_' to any other chr using environment variable FIP_XNET_META. A space,
tab, CR, NL or FF are not valid metachrs.


If the version is SFFXNET the following is also true :
Other env varis can be used to define where the system is :
	SFF_HOME	where the home or top queue is.		default: /fip/
			eg	setenv	SFF_HOME	/ripexpress/underware
	SFF_TABLES	where the parameter files are		default: (SFF_HOME)/tables/sff
	SFF_INFO	where the help file/doc queue is	default: (SFF_HOME)/info
	SFF_LOG		where the log files queue is		default: (SFF_HOME)/log
	SFF_SPOOL	where the data queues are		default: (SFF_HOME)/spool
	SFF_TMP		where the tmp data queues is		default: (SFF_HOME)/x
			THIS MUST BE ON THE SAME UNIX VOLUME as SFF_SPOOL queues.
			ie if spools are on /data99 which is hard disk /dev/sd0, you MUST also
			have the TMP queue on the same disk/partition

NOTE that for all BUT SFF_HOME, if the parameter starts with a '/' then it is a
hard, absolute path; if not then the spool area is under SFF_HOME.
	eg	setenv	SFF_SPOOL	/data7		will look under /data7 for queues
	while	setenv	SFF_SPOOL	data7		will look under /fip/data7


-----------Internal Information----------

The default port number is IP_NET_NO, currently 9001 which is also that that
IP2NET defaults to. SNDFIP however will send to 9100 + the AtexSystemNo. ie
Atex sys3 will send to 9103. There should be an ipxnet for each Atex J11 that
transmits.

The internal handshake is that a 3 byte header is added to the packet.
	byte 0 is a magic number which differs per transmission.
	byte 1 is the to-do code or sequence number
	byte 2 is ack/dont ack flag
The to-do code can be :
	1 <= byte1 <= 249 (decimal)	Sequence no of this packet.
	IP_NET_SOF	Start of file
	IP_NET_WAIT	Pls wait; we have too many files for the moment
	IP_NET_ABO	Packet out-of-sequence and pls abort.
	IP_NET_EOF	End of file - last packet.
	IP_NET_BIN and IP_NET_MARK are used only for the serial program IPXV24

Small files (where the text, FIP header and FIP filename total less than 1500
bytes combined) are sent in one packet with a IP_NET_EOF flag.

The packet size is restricted (by ethernet and UDP) to 1450 bytes and no split
packets are acceptable.  Packets must arrive in sequential order or they
aborted.  If no traffic has arrived for 60 seconds, the file is aborted and the
error is logged.

(copyright) 2014 and previous years FingerPost Ltd.