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

ipprint

This program loops around a queue and sends files to a printer/screen attached
to either a Spider port or a TTY.

If a TTY port is used, it may be configured using a file in
tables/stty/STTY_PRINTER_ttyx where x is the tty port name.

The parameters may be either specified as Input switches or as keyword options
in a parameter file - or both to confuse everybody.

There is no default parameter file but if one is specified, using the '-Z'
input switch, it should be in tables/print.

Note that normally the 'DF:' header field is ignored. If the '-F' input switch
is specified the DF will be looked for and used as the name of the parameter
file in tables/print. If it does not exist, the default is used; if there is no
default specified (with the '-Z' input switch), the normal default
'tables/print/FORMAT' is used.

Syntax for the parameter file are :
	; comment
	header:	FIP seq for the header of the file	default: none
	trailer: file trailer eg to force a page throw	default: none
	page:	page header within a file		default: none
		if this option is specified, the page number CRNL
		is added automatically.
	toppage: Used in place of the automatic CRNL after page number
							default: CR NL
	eoln:	end-of-line sequence in place of CR, CR NL or NL.
							default: CR NL
	nostrip: do not strip multiple CR/LF	default: strip multiple eolns
	width:	printer width				default: ignored
	depth:	printer page depth			default: ignored
	abstract: no of lines to print the abstract	default: print all text
		An abstract of zero - abtract:0 - will print no text.
		In this case, only banner, page and trailer will be printed.
	ignore: ignore all text after this chr		default: print all text
		Use 32 to ignore the header of a Writer file
	wait:	wait in secs before printing the file	default: none
	endwait: wait in secs after printing the file	default: none
	disconnectwait: wait in secs before disconnecting	default: 3 secs
		from the remote host. This is on 3 for as many devices
		need a moment to drain responses.
	endstring: wait for this string after printing the file.	default: none
		If this string exists, the endwait is used as a timeout if the string
		does NOT return. The default endwait is 20 secs in this case.
		The string is case insensitive.
	speed: pace the file as though it is being printed at this speed.def: none
	offline: If Offline : wait in secs between attempts	default: 60 secs
	nodelete: Do NOT delete the files once sent	default: delete.
	wordwrap: wordwrap			default: do NOT wordwrap lines
	banner: print this banner in place of the normal one
		if Nothing is specified, no banner will be printed.
		ie 'banner:' on a line on its own.
			default: banner of name, category, date and time
	scan:	time between scans of directory		default: 5 secs
	network: Script to run on file after processing. In this case the file
		is processed as per width etc and then run as the
		last parameter to this script. Any TTY port or Terminal
		server is ignored.		 default: TTY or spider
		eg to use a unix printer in /etc/printcap called Training :
			network:lpr -P Training
		The temp file created is NOT deleted by ipprint and so either
		the script should delete the file or some means of maintenance.
		This temp file is created in /fip/spool/printtmp.
	singleshot: run through the queue once and stop.	default: spool
		This is used when ipprint is called from a script to
		send all copy from a single queue.
	grab-first-file: Always process the first file in the queue first.
		This is for WinNT/2000 which sorts alphabetically/timewise.
	first:	Name of optional file in tables/print that is sent
		on startup and on each scan of the queue when a new file has
		been found.  The text of the file is in FipSeq. default:none
	last:	Name of optional file in tables/print that is sent when all the
		files in the queue have been sent and before we rescan the
		queue.  The text of the file is in FipSeq.	default:none
	binary:	The files are already in the correct format so no page, wordwrap
		width, depth  and eoln is necessary		default: no
	alldata: Print all data - normally unprintable (for the Unixbox)
		chrs are stripped from the outbound data. default:printables
	pchr:	Precedent chr for modes.			default: none
	mode:	Mode Strings
		eg Select Univers 9 pt for HP Laserjet
		mode:0	33(s4148t(s7v(s0p(s0S33(s0B
	extras: Extra chrs which are not normally a-z or 0-9 or normal
		printable chrs. These are often accented chrs specific to a
		particular printer that are different from the UnixBox LOCALE
		(see man pages)				 default: none
		Example if octals 221 and 342 are e acute and E acute for
		printer X :	extras:221342
	escape: Printer Escape chr and length of escape seq (optional).
		This is used to ignore fixed length escape sequences in the
		text which play havoc with line lengths	 default: none
		Example to ignore an ESC plus following chr:	escape:33:1
	extra-fiphdr: (FipSeq)	extra FipHdr information to add to each transmission
							default: none
	onefile: Send One file per go and then release the connection and wait
		before sending the next.  default: send all files in the queue.
	logfile: Log file name				default: none
		This should be the full path and filename of the the log file.
		The contents of the Log file are preserved and appended to.
	log-line: Fip Item Log entry		default: filename is logged only
	keep-connection: Normally if there is nothing to send, the connection
		to the output device is dropped (top allow another program to
		connect perhaps). This flag states that this copy of the program
		has full-use of the device - so keep the connection alive.
		keep-connection:	will leave the connection open
		keep-connection:no	will disconnect
		keep-connection:yes	will leave the connection open
	keep-alive-timeout:(number of secs)
	keep-alive-token: (FipSeq string)
		If there is NO data after the katimeout, send out the token
		default is nothing
	balance-seqno:  Send the Sequence number to this Balance Group
		(see 'ipbalance') Use this to make sure the sequence number
		is always updated on any companion systems.
	balance-delete: Send a note for ipbalan/ipsvrd to delete the mirrored
		file on any remote server.
	pad-before: Send a number of padding chars before each file
	pad-chr: actual chr to send - default is SPACE.
	pad-count: Number of pad chrs to send if 'pad-before' has been specified
		default is pad-count:80
		maximum is 2048
	dump-data: This makes a copy in /fip/dump of all incoming raw data

	before: (fipseq)		(eoln)
			String to insert before the data (binary option only)
	after:  (fipseq)		(eoln)
			String to insert after the data (binary option only)
	filebefore:	(filename)	(eoln)
			File of FipSeq to insert before the data (binary option only)
	fileafter:	(filename)	(eoln)
			File of FipSeq to insert after the data (binary option only)
	binary-filebefore: (filename)	(eoln)
			File to insert before the data (binary option only)
	binary-fileafter:  (filename)	(eoln)
			File to insert after the data (binary option only)
	lock-sleep: (millisecs)		default: 50
	lock-loops: (no of loops)	default: 20
			If an input big file (normally WINNT) is being copied
			over, use this to grab the file quickly
	timing-stats: (yes/no)	Turn on/off timing statistics
	tracker-script: Optional script for tracking purposes (fullpath to script
name)
		default: none


Where sections of FipHdr fields are required or changes to the output style,
use keywords : fixed, partial, combie, optional, repeat, newdate and/or style.
(see The SysAdmin manual for more information).

	They are normally specified :
		fixed:QZ	1234543
		partial:QT	ST,3,2,U,<,>
		combie:QY	ep|na,(0000000)a
		option:QE	ep,11,7,s
		repeat:QK	XK,-,3
	or	repeat:QP	PK,,4,#X
		style:QS	XN,%.03d
		newdate:
		replace:

Input Parameters are :
	Mandatory parameters :
	-s : output device				default: none
		unless 'network' or script' parameters are stated.
either	-p : terminal server port number		default: none
or	-P : passive TCP port number			default: none
		for incoming calls
	-q : queue to scan for input			default: none
		This can be specified as a queue under /fip/spool or
		if it starts with a '/', the complete pathname. Note that in
		the second case, the queue MUST reside in the same partition
		as spool.
OR	-1 : name of file to send where we are sending a single file. def:none
		This can be specified as a queue under /fip/spool or
		if it starts with a '/', the complete pathname. Note that in
		the second case, the queue MUST reside in the same partition
		as spool. The input file is NOT deleted in this case.

Optional parameters :
	-a : abstract : no of lines to print		default: print all text
	-b : print this banner in place of the normal one
			default: banner of name, category, date and time
	-B : do not output a banner at all		default: as above
	-c : do not strip multiple CR/LF	default: strip multiple eolns
	-e : end-of-line sequence in place of CR, CR NL or NL.
						default: print eoln as in text
	-f : page header within a file			default: none
	-F : Use the DF header field for all parameters. default: no
		This option ignores any formatting input parameters like -e,-h
	-h : file header				default: none
	-H : extra FipHdr information to add to each transmission
		eg -H '#RH:localhost#RP:9699'		default: none
	-i : ignore all text after this chr		default: print all text
		Use -i 32 to ignore the header of a Writer file
	-I : dump id - add a dump id to the dump file	default: no
		use this where multiple ipprint using the same parameter file are used.
	-k : keep the connection open			default: close after all files
		The default for -P passive port is to hold the connection open
		anyway until the REMOTE side wishes to disconnect.
		In this case to disconnect, use a parameter file with
			"keep-connection:no"
		or	"onefile:"
	-K : file should be sent binary			default: no
		This options ignores all formatting commands
		such as -h, -t, -f, -e, -w, -l etc
	-l : printer page depth				default: ignored
	-L : log each file as it is printed		default: no
	-N : log each network script as it is run	default: no
	-o : output queue for printed files		default: no
		Normally files are deleted after printing.
		unless the 'nodelete:' parameter has been selected.
	-r : wordrap				default: do NOT wordwrap lines
	-t : file trailer eg to force a page throw	default: none
	-w : printer width				default: ignored
	-W : max word size for wordwrap			default: 9
	-x : wait in secs before printing the file	default: none
	-X : If Offline : wait in secs between attempts	default: 60 secs
	-z : time between scans of directory		default: 5 secs
	-Z : parameter file				default: none
	-v : print version no and exit

In all cases where not mentioned, text is printed with no modications unless
forced.

Parameters h, t, e, b and f can be any combination of fixed text, octal number
(03), FIP hdr field (XN or SU) and unix escape format (r). Pls remember to
enclose these with double quotes.


(copyright) 2014 and previous years FingerPost Ltd.