ipxgtw
ipxgtw
IPXGTW gets a single file via Gateway.
Both Classified (IAS) and Editorial files may be sent over with the header
being processed accordingly.
It is started from an xstart on the j11 as per the example in Appendix A of the
Gateway installation manual.
ie wrklst sy:lib-usr,xstart,/d,liberr-usr,,mpb4:<ipxgtw,PRAM,$f-$q-$g
The type of processing is determined by the name of the parameter file before
the $f-$q-$g :
Note that there should be a comma between the PRAM and the f-q-g as the < or >
signs have other meanings to Unix.
IPXGTW can be run manually on the Gateway by running at the unix prompt :
fip>ipxgtw atx2web,file-queue-grp
where atx2web is the parameter file
file is the atex filename
queue is the atex queue name
grp is the atex group name.
(fip> is the unix prompt, not the command by the way!)
If the file is actually a 16 bit Atex file residing NOT on the Atex file system
but on a Unix (or Windows) file syntem, the systax can be :
fip>ipxgtw param,/data1/exports/filename
ie there is no queue and group added and the path is hard coded.
If using this method for files which have NOT been generated on the Atex - such
as Babble - you may need to use the parameter 'allow-short-header:' to process
files with Header which have not been padded out to the end of a block.
Defining the actual destination can be a one or a two step affair.
First a route is found which is either the contents of a particular J11 field
OR forced to a fixed route using the 'force:' parameter.
IF the parameter 'noroutefile' is flagged, this route is the final destination
-
IF NOT this route is checked against the tables/gateway/ROUTE routing table and
the match is the final destination. This allows multiple destinations/copies
from a single outbound file.
The resultant destination(s) is the DU field as required for IPWHEEL and the
tables/sys/USERS file.
The two steps allow multiple or group destinations from a single Atex code.
The first step or route is normally the contents of the J11 header field 'TO'.
This field can be any other J11 field if specified with the 'fiphdr:NO'
parameter (see below). However it is more often forced to a specific route
(using the 'force:' parameter)
The name of the file is either the original filename or it can be changed to a
j11 header field (the SLug or CAtch for example where the actual filename may
be a SysGen $xxx type filename) or any FIPseq name. If not the original name,
the 'fiphdr' parameter for SN needs to be present in the parameter file. This
name is forced lowercase.
While the J11 header is stripped, individual J11 header fields can be converted
to those FIP header fields according to the parameter file, PRAM.
IAS files SHOULD be identified correctly from its start-of-header. But you can
force it with the 'ias:' keyword.
IAS files need multiple 'arecord:' keywords to PRECISELY map out the hold A
record (including fillers). Pls confer with whoever has the correct (?) doc on
A record for the IAS field names and sizes.
Syntax of the parameter file is :
; comment
force : force the route to this parameter which is then compared to
the tables/gateway/ROUTE file. Normally EITHER the TO field
OR force is used to define the route. default: use TO field.
default : default route if the TO field is blank or has not been
specified or is not in the header. default: no default ROUTE
type : type of text processing (see below) default: blank
modes : if the type of processing included mode strip, these
are the modes to strip default: 2678
pchr : (mode precedent chr) default: {
end-modes: use this flag to end modes with (pchr) E (mode). default: no
For conversions to XML/HTML/NITF, this allows end tags to be added
before the start of the next mode.
noshowmodes: do not insert the mode change string - eg {M0. default: do
noroutefile : do NOT use the tables/gateway/ROUTE file. def: use ROUTE
In this case the 'force' or the 'TO' hdr field contains the
destination to use (DU Fip Header field) which needs to be in
the parameter file tables/sys/USERS.
For the type of processing for the TEXT - If type is NOT specified then the
modes, hnj and markup are stripped. Type is one or more single letter flags
which can be b=bin, t=typsetter file, m=pass modes, k=pass markup, h=leave hnj
chrs.
There is also a type:a for all-modes (ie up to mode 14 rather than to mode 8).
Do NOT specify both type:m and type:a.
For each header field that needs filling in :
fiphdr: (2 letter FIP header field) (space/tab) (Atex sequence field)
The Atex sequence field is any fixed text and/or 2letter Atex
hdr fields (must be uppercase with preceeding Backslash) and/or
Unix escape chrs (\r, \n etc) or Escaped Numbers (\003)
Note that Atex header fields are stripped of leading and
trailing spaces.
Certain FIP header fields are used to control the routing/processing.
SN - slugname -> FIP header field SN
TO - to field - checked against entries in the ROUTE file
To force ALL traffic to a destination, do NOT specify TO
and set 'force:' to force the destination to the same
as the parameter file name.
PR - Priority (if necessary)
DI - Msg line for Mailbox (only)
SY - Atex Sys and Terminal number for logging purposes
DE - delay until time/date
DL - limit until time/date (Broadcast only)
eg:
; use the CATCH j11 field for SN, the FIP filename
fiphdr:SN \CA
; use the TO j11 field for TO, the FIP routing field
fiphdr:TO \TO
fiphdr:PR \PR
fiphdr:DI \MS
fiphdr:SY \SY
: for the DELAY FIP header field, DE, use the j11 TIME (spc) (plus) DATE
fiphdr:DE \TI +\DA
Pseudo J11 header field '$$' may be used to put the first line of the J11 text
into a FIP header field. Eg:
fiphdr:DI \$$
This allows only text in the chosen modes, strips leading quads, strips leading
and multiple spaces up to a quad or characters up to the line size (default 80
chrs or environment variable FIP_GTWY_LINE).
In addition FipHdr field SJ is always filled in with the actual j11 filename -
while SsG will have the queue and group.
The two FIP header fields DE and DL are flagged for DELAY and LIMIT fields and
hold the date/time for when the file should be delayed before sending OR by
which the file must be sent.
Delay and Limit are converted to a time in seconds from a header field of
format :
hh:mm +d where d is no of days relative from now
If the parameter 'date:abs' is set the format is :
hh:mm dd/mm where dd/mm is the day/month
If the parameter 'date:abs' and 'usadate:' is set the format is :
hh:mm mm/dd where mm/dd is the month/day if parameter usadate is set
There are a number of further Optional parameters which normally do not need to
be changed.
queue : queue to put output file in. default: spool/2go
This is a queue under 'spool' unless the parameter starts with
a '/' when it is considered the full pathname.
For example, specify 'queue:hdrchk' when you want all files
to be routed via iphdrchk.
private : queuename. If specified, this parameter creates a file
named the same as the J11 in that queue. Only the text is
placed in (the header is ignored) and all IPXGTW routing
parameters, like 'queue', 'force' 'route', are ignored.
There is neither an Atex J11 header nor a FIP header on the
new file.
privname: For private sessions, replace the filename with the following
FipSeq.
Normally the original Atex filename is used but this can be used
to replace or add information.
privname:\SN.\$Z will add an extention with a sequence number
nolog : do NOT log incoming files default: log
chrset : source chrset default: atex
usadate : Delay and/or Limit dates are in USA Date format
default: no
before : FIP sequence of text to go at the top of the text
after : FIP sequence of text to go after the text
default for both before and after is none
noj11hdr: The j11 file is headerless default: file has hdr
This will also use the mount point /Atex/commgr/noh by default
rather than /Atex/commgr/x11. This can be overridden by the
keyword 'j11path'.
nofiphdr: do NOT place a FIP header at the top of the data. ie the data
part of the file contains TEXT only. default: do
atex012 : The 1st non-space character of the parameter is that used for
any Octal 12 atex chrs. The octal 12 chr is a NL which
is what we normally use for any Quad. This defaults to
octal 220. The parameter can be a chr, unix escape or
octal number.
softquad: Where non-quad end-of-lines need to be preserved, this is the
string, which can be one or more fipseq chrs, to flag
such a being. A non-quad eoln is, for example, an hnj
loose line. A quad is QL to QM (2, 3, 4, 5) unless
changed by the FIP_GTWY_EOLN environment variable.
date : Delay and/or Limit dates are in absolute
ie actual days/month like 16/03 for 16th March
The default is relative dates : +1 for tomorrow
maxdelay : Maximum number of days for Delay and Limit.
This logs a message in the Item Log if the delay is
longer. Without this parameter, files are NEVER delayed.
default: no delay
olddelay :(no of days) If the Delay or Limit field is BEFORE the current
date/time and within this period, send it immediately.
default: ignored if no maxdelay, 60 days otherwise.
j11path : Gateway Unix path name default: /Atex/commgr/x11
route : routing file in tables/gateway default: ROUTE
preserve-dishy: allow te discretionatry hyphen (034) thru. default: strip it.
If dishy is NOT 034, there can be an optional chr (in FipSeq) to use as the
Dishy
preserve-dishy:\037
IAS A record fields are specified with :
arecord: 2 letter code and length of an IAS Classified Arecord field.
These are in sequential order or use; any fillers - use a junk
code (often the same junk code will do). While it is good
practise to use the same codes as for IAS, Be careful NOT to
reuse Fields that FIP uses for programs downstream.
eg: arecord:AB 10
arecord:AD 4
arecord:ZZ 7 ; filler
arecord:CC 12 .. etc
Extra FIP header fields can also be specified on the j11 by specifying on the
wrklst line:
wrklst sy:lib-usr,xstart,/d,liberr-usr,,mpb4:<ipxgtw,PRAM,$f-$q-$g/QP:212777121
As per normal, take care to choose a hdr field that does not conflict with any
other FIP hdr field - we advise using ones starting with Q.
IPXGTW is also in /atx/prgms as UPPERCASE as required by gateway. This should
be a symbolic link to the program in /fip/bin
For checking the version number, type :
ipxgtw -v
to print version number and exit
Version Control
;014m 19oct98 ias better
;a/b 17aug01 allow modes up to 13 with type:a for allmodes
;c 24may02 allmodes now even leaves flashing....
;d 14jun02 added end-modes
;e 19sep02 allow unix files as is /fip/spool/xbabble/thision
;f 28sep02 added 'allow-short-header:'
;g-h 05feb03 added preserve-dishy:
;i 18jul03 added -F to allow for a FipHdr in the incoming file
;j-l 21aug03 flashing L for Loose line MAY be mode 8 or 9
(copyright) 2025 and previous years FingerPost Ltd.