WIRE collects wire input that is in standard message format ANPA or IPTC or CCN
Matthews or AWP Zurich.

The header is parsed and put in the FIP header field SH.

The file is slotted into the spool/2brouted queue for IPROUTE to process and

Input Parameters :
Mandatory :
    -n : name of this wire (usually the agency)     default: none
either  -s : 'px25', 'sx25', Spider name or TTY device name default: none
    -p : Terminal Server port number (Not for TTY)      default: none
or  -P : Port on UnixBox to use for outbound        default: none
        This is only used where Terminal Servers canNOT run reverse telnet
        correctly and need to set a Permanent Virtual Connection across
        the ethernet to a fixed port number on the UnixBox
Optional :
    -7/-8 : data is 7 or 8 bits     default: 7 (except x25 is 8)
    -0 : (zero) save null characters    default: nulls are stripped.
    -a : messages are in ANPA format            default: iptc
    -i : messages are in IPTC format            default: iptc
    -A : name of the archive file if not the -n name field  default: 'name'
    -b : other formats  -bCCN for CCN Matthews      default: iptc
                -bAWP for AWP Zurich
    -B : Passive connection (-P) uses UDP           default: TCP
    -c : the chrset of the source (SC header field)     default: ascii
    -C : treat all Controls as data (especially CntlA, B and C)
        within data             default: NO
    -d : the name of a DUPLICATE wire where 2 copies of the same
        file is required (SD header field).     default: none
    -D : Ignore all STX and ETX without a preceeding SOH    def: save data
    -e : Chunk file size (size in bytes)            def: whole file
        Use this to specify the maximum take size chunk
        Any incoming file bigger than this is sent in multiple
        files with FipHdr field D1: holding the take number.
        The last take also sets D2 to 'END'.
        The SN field also has a 3 digit extention containing the take
        number so redundancy does NOT kick in to stip alternate files.
        Otherwise the whole FipHdr is sent each time.
        Use this option with care ! - The Chunk Size MUST be big
        enough to contain the incoming hdr plus the first bit of data.
        There are some functions which work badly with this option
        such as Trailer FipHdr fields and Ack/Enqs.
        The minimum size is 400 bytes and maximum is 31k.

    -E : maximum number of threads              default: 1
        up to a max of 100
    -f : Extra FIP header information           default: none
        For fixed header info in FIP. eg -f #QA:AA#QB:BASIC
        As this flag is normally the last specified, its contents
        can be used to overwrite any unique fields such as DU, DP,
        SN etc.
    -h : Add the PreHeader as FipHdr field SW   default: ignore prehdr
        -h all      allow all prehdr chars
        -h visable  save only visable/printable chrs (spc and above)
        The maximum size of the prehdr is 1000 chrs
        Any CR, NL, FF/VT, SYN, ~/tilde and DEL are stripped.
    -H : need a logon - use the parameter file (see below)  default: no
    -I : id of this instance                default: ignored
        Where there are several copies of 'wire' running with the same -n
    -k : Add the message keyword as first line of text  default: no
    -L : For Passive (-P) type connections, reestablish the 
        link after disconnection            default: no
    -m : Keyword is a Mercury/Atex formatted        default: no
            filename (spc) queue-group
    -M : Add in the Item log extra start details        default: no
    -o : Name of output format (DF field)           default: WIRE
    -O : Name of the output folder if not default       default: spool/2brouted
        This folder will be under /fip/spool
    -r : the name of a DIFFERENT routing table to 'name'
        (SR field : used by iproute)            default: name
    -R : dump all raw data in a dump file in /fip/dump  default: no
    -S : minimum size of a file             default: 20
        Normally files are ignored if less than 20 chrs.
    -t : Do NOT strip date/time stamp from end of text  default: strip
    -T : timing stats yes/no                default: no
    -u : Force keyword lowercase                default: leave as is
    -U : Force keyword uppercase                default: leave as is
    -W : File header obeys IPTC keyword rules and is forced 
        uppercase.              default: no
    -w : File header obeys IPTC keyword rules and is forced 
        lowercase.              default: no
    -x : Wakeup string for Pad/modem etc        default: none
    -X : Timeout in seconds          default: none
        If this time is exceeded WITHOUT an End-of-file, the file is terminated.
    -y : Banner string to strip from terminal server.default: SpiderBanner
    -Y : There is no banner to strip        default: as above
    -z : Contents of a prehdr which MUST be checked for
        before a valid file is started      default: none
    -Z : do NOT archive any incoming files      default: archive
    -v : Print the version number and exit

FipHdr field SH for AWP are :
    S service
    N item number
    L- language F/D/E
    D date
    Z seqno
    P priority
    W words
    Y news type (awp 'T')
    X subject codes (awp 'E')
    T sector codes (awp 'F')
    B country - only 2 letters (awp 'G')
SH::SAWP:LF:N10688:Z90032968:D200406280313:P4:W000979:YP:XPOL:BCH |

Plus ticker codes (awp 'B') are mapped to FipHdr E*:

-- Remote devices that need a logon --

Specify the '-H' input switch and a parameter file with the same name as the
'-n' switch in tables/wire

This optional parameter file may be included if there needs to be a logon
The syntax of the file is the normal Fip Style of ..
    ; comment line
    logon: logon sequence of strings to send and to receive (see below)
                            default: not used.
    waitchr:\176    wait one sec chr        default: tilde (0176)

    plus the usual FipSeq of partial, fixed, replace etc commands.

For Logons, 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.

eg: logon:~"" Userid: ~root\r Password? ~bongos\r LanRoverE_FIP# ~"connect
port5\r" options

This mimics the following sequence :
@ Userid: root

Shiva LanRover/E PLUS, Version 5.7 98/11/06
LanRoverE_JV1# connect port5
Connecting to Serial5 at 9600 BPS.
Escape character is CTRL-^ (30).

Type the escape character followed by C to get back,
or followed by ? to see other options.

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
Embedded spaces may be specified by enclosing within double quotes.

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

Version Control
;154x3  14feb99 added -h vis/all/pa for prehdr
    ;a  1mar99 cosmetic - commonwr.c
    ;b  9jun99 altzone for AIX etc
    ;c  2nov99 added -S to ignore out-of-format data
    ;d-e 14feb00 added -u/-U (s_PIPE)
    ;f-h small mod to commonwr for anpa Spaces and WINNT tuning
    ;i 27nov01 added -R dump file
    ;j 15apr03 added CCN in -bCCN
    ;k 03jul03 added -e chunksize
    ;l 18aug03 bugette in commonwr
    ;m 07jan04 bugette in chunks and added -O outque
    ;n-o 26mar04 added -bAWP
    ;p 15may04 timing stats
    ;q 28jun04 tuning AWP
    ;r 24sep04 speedy
    ;s 02dec04 allow AWP timechecks if -S 0
    ;t 07apr05 added -B Passive connection uses UDP
    ;u 29dec06 added logon
    ;v 12apr06 bugettes with do_widget
    ;w 21nov07 added -E
    ;x2 27nov07 added -X timeout and -I wireId

(copyright) 2022 and previous years FingerPost Ltd.