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

ipretrev

IPRETREV retrieves files from a remote destination via modem, ISDN or x25.

It reads files from a queue - normally spool/2get, reads the DZ header field
which should contain the tph number to dial unless the -n switch is ON for
ignore dialno if not there.

These files are just headers containing the DZ (and possibly the DF field to
use the correct format file). The data part is ignored.

If the number is busy or the call does not complete, the number is retried
after 10 minutes. This can be modified by the 'interval' parameter.

The modem setup, dial strings plus the remote computer's logon/off strings are
held in a parameter file. The Syntax of this file are :

	; comment
	setup:	 (setup string)
	dial:	 (dial and connect string)
	logon:	 (logon and file setup string)
	filestart:	(start a file string)
	nextfile:	(start of 2nd and subsequent files)
	fileend:	(finish a file string)
	logoff:	 (logoff and kill comms string)
	disconn: (disconnect string)

The strings are in uucp-like format where the syntax is :

	(send1string) (space) (receive1string) (spc) (s2) (spc) (r2) etc
ie you send1, wait 5secs for r1, send s2 wait 5secs for r2 etc.

To send a space, use s or dbl quote that string.
To wait a second - send a tilde (or redefine to your Wait chr)
All keywords - setup, logon etc -  are optional - if one does not exist, it is
ignored.
Embedded spaces may be specified by enclosing within double quotes.

Null fields can be specified by two consequetive double quotes - "". If a wait
is required howver ALWAYS SPECIFY BEFORE the dbl quotes eg: ~~~"" for a 3
second wait with nothing returned.

The sections are done in the following order :
stage 1-	setup
stage 2-		dial
stage 3-			logon
stage 4-				file start
stage 5-				file end
stage 4/5 				(nextfile/fileend if required)
stage 6-			logoff
stage 7-		disconn

In the parameter file several other options are :

	waitchr:176	wait one sec chr		default: tilde (octal 0176)
	dialchr:174	'insert the dialno here' chr	default: pipe  (octal 0174)
	syschr:$	system precedent chr		default: dollar (octal 044)
			This is used for Filename '$f' in filestart parameter.
			or $g for 6chr filename or '$s' for sequence number.
	timeout:10	timeout wait is 10 secs		default: 5 secs
	bits:7		No of databits 			default: 8
	speed:1200	the transmission speed		default: none
			If you are using modems which cannot flow control and
			are not using kermit or zmodem, often pacing the line
			at a speed lower than the CONNECT eg speed:1100 for 
			a 1200 bps line.
	commerror:NOsCARRIER	break in comms		default: none
			This is advisable for large files sent without a
			protocol (ie no kermit or zmodem). If the remote system
			sends/echos copy back then this will also release
			the buffers.
	interval:	Interval between attempts to send.  default: 600secs
	kermit:		Get the text using Kermit Protocol
	xmodem:		Get the text using Xmodem Protocol
	ymodem:		Get the text using Ymodem Protocol
	zmodem:		Get the text using Zmodem Protocol
	zmskip:		If zmodem, allow a SKIP file to be maintained containing
			names, sizes and dates of files brought over; so that
			only new files are received. This maintains a file
			called RETREV.SKIP.(name) in fix.

Sundries
	eof:	End of file for ascii - Not that hashes MUST be specified as
		43 as they are otherwise interpreted as end-of-field
		eof:@43@43
	localname:	to change the filename eg:	localname:$g.xy
	forcename:u/l to force the name of the incoming file upper/lower case.
	maxattempts:	There is the limit on the number of attempts. File are
		sent to woops if this is exceeded. Default is 5 goes.
		Set to zero for NO limit.
	case:		replies from remote system are Case Sensitive (yes)
			or case-insensitive (no)	Default: Yes
	chrset:		Source Character Set (SC Fip Header field) Default:ascii
	nofiles:	String signifying no-files-waiting	Default: none.
		Often you will ring through and, for some reason, there are no
		files to pick up. This is the string which says, go away for now.
			nofiles:NO SUCH FILE
		Note that 'nofiles' are only checked in 'filestart' and 'nextfile'
		sequences AND only if there is a Rcv string (ie 2nd, 4th or other even
		parameter). Ie :
			filestart:"call $fr"	   - NEVER used 'nofiles' 
			filestart:"call $fr" OK	- will check for 'nofiles' 
	nohdr:	Do NOT put a Fip style header on the file.
	dest:	Destination (Fip Hdr field DU) to send the incoming files to.
	logfile: Name of a Logfile to contain the results of the transmission.
		eg 	logfile:/fip/log/retrev/ELE.$d.$m.$y
		If the file exists, it is appended to.		default: none
		There is no default queue where the log file is placed, so
		you must specify the full path.
	namelist: One or more filenames to get. This defaults to the contents of
FipHdr
		field SN. This can be mixture of fixed names and variables as it is in
FipSeq.
		If more than one name is specified, the 'nextfile' parameter must exist for
		the second and subsequent files. names are separated by commas, so to embed
		commas (and spaces and other non-printables), use FipSeq and top/tail with
		double quotes.
		namelist:first.txt , ZZ , "Rh,u, bbbarb17", last.txt
		if FipHdr field ZZ holds "abc,def" this example will try to retreive 5 files:
			first.txt, abc, def,  something begining Rh.. and last.txt
		To specify in the startfile or nextfile, use '$f' or '$g' :
			startfile:"call $f/zr"
			nextfile:"call $f/zr"
	getall:yes/no If more than one file is to be retreived, stop on the first
error
		(getall:no) or try to read all files sequentially (getall:yes - default)

Example :
	setup:rr~+++ OKr athr OKr ~at&fr OKr ~atf0%b9600r OKr
	dial:~atdt9|rn	CONNECT
	logon:lirn	LOGON
	filestart:~~~news$frn~~
	logoff:lorn LOGOFF lorn
	disconn:~~+++ OKr ~+++ OKr athr OKr 

That is for setup, we want to :
	send CR CR , wait a second, send +++
	wait for OK CR
	send ath CR
	wait for OK CR
	send at&f CR
	wait for OK CR
	send atf0%b9600 CR
	wait for OK CR

One point to note if you are using the TTY ports is that they INVARIABLY need
to be setup using the STTY parameter file in tables/stty. Ths syntax of the
file is covered in the Unix manual pages. The name of the file in tables/stty
is :
		STTY_NAME_PORT	(all uppercase)
		where NAME is the name of the parameter table which will be ..
			either "RETREV" or the "-z" default or the contents of the DF field
		where PORT is the TTY name ie for ttya : TTYA; for ttyx16 : TTYX16
For tuning, start off with one of the existing tty files in tables/stty. Note
that stty for the Sparc loads a port using '(stty params) > /dev/ttya'. However
the arrow is reversed on the rs6000 : '(stty params) < /dev/tty4'.

For testing a new destination, it is rare to get it right first time!
There is a 'verbose' flag, -L, which will display the whole dialogue as it
happens. You can run the program manually from any terminal or window. eg
	ipretrev -s black2 -p 1210 -L 
or to also save the results in a log file :
	ipretrev -s black2 -p 1210 -L | tee LOGFILE
Be careful in the latter case, that you are in a personal queue and not a
tables or spool queue and that the name of the log file - LOGFILE in this case
does not exist.

How to specify filename(s) in the filestart and nextfile parameters :
	Fixed name - get the file 'today.txt' :
		filestart:~~~~~~"get today.txtr"
	Pickup name from FipHdr field - get file whose name is in FipHdr field Y3
		filestart:~~~~~~"get Y3r"
	or	namelist:Y3
		filestart:~~~~~~"get $fr"
	
Input Parameters :
	Mandatory :
	-s : Spider name or TTY device name		default: none
	-p : Spider port number				default: none
	Optional :
	-n : do not look for nor check the tph number	default: DZ field is tph
	-z : default parameter table to setup comms if not overwritten by
		the 'DF' FIP header field.	default: tables/retrev/RETREV
	-i : input queue to scan			default: spool/2get
	-o : output queue to leave files in		default: spool/2go
	-d : do NOT delete the files after sending	default: delete
	-D : disconnect from the port after each transmission   default: -
		While 'ipdial' always disconnects from the modem, this also drops
		any TCP connection too. So this will disconnect from the
		terminal server too.
	-l : do NOT log any files sent			default: log outgoings
	-L : Display all in/out for the session		default: no
		except text
	-t : inter-file wait when sending more than one file. default: 1 sec
	-x : wakeup string for terminal server		default: none
	-X : Turn Telnet Transparency OFF		default: ON
		For terminal servers, is the port set to transparency ?
	-U : Raw or Telnet NO-escape mode		default: telnet transparency ON
		For terminal servers, is the port set to transparency ? 
	-y : Banner string to strip from terminal server.default: SpiderBanner
	-Y : There is no banner to strip		default: as above
	-1 : Single pass then stop			default: keep spooling
	-v : Print the version number and exit

(copyright) 2014 and previous years FingerPost Ltd.