x3270if Manual Page
Contents
Name
Synopsis
Description
Options
Exit Status
Environment
See Also
Copyright
Name
x3270if - command interface to
x3270, c3270 and s3270
Synopsis
x3270if [option]... [ action ]
x3270if -i
Description
x3270if provides an interface between scripts and
the 3270 emulators
x3270, c3270 and s3270.
x3270if operates in one of two modes.
In action mode, it passes a single action and parameters to the
emulator for execution.
The result of the action is written to standard output, along with the
(optional) status of the emulator.
(The action is optional as well, so that x3270if can just reports the
emulator status.)
In iterative mode, it forms a continuous conduit between a script and
the emulator.
The action takes the form:
action-name(param[,param]...)
The parentheses are manatory, and usually must be quoted when x3270if is
called from a shell script.
If any param contains a space or comma, it must be surrounded by
double quotes.
Options
- -s field
-
Causes x3270if to write to stdout the value of one of the
emulator status fields.
Field is an integer in the range 0 through 11.
The value 0 is a no-op and is used only to return exit status indicating the
state of the emulator.
The indices 1-11 and meanings of each field are documented on the
x3270-script(1) manual page.
If an action is specified as well, the status field is written after the
output of the action, separated by a newline.
The -s option is mutually exclusive with the
-S and -i options.
- -S
-
Causes x3270if to write to stdout the value of all of the
emulator status fields.
If an action is specified as well, the status fields are written after the
output of the action, separated by a newline.
The -S option is mutually exclusive with the
-s and -i options.
- -i
-
Puts x3270if in iterative mode.
Data from x3270if's standard input is copied to the
emulator's script input; data from the
emulator's script output is copied to
x3270if's standard output.
The -i option is mutually exclusive with the
-s and -S options.
x3270if
runs until it detects end-of-file on its standard input or on the
output from the emulator.
(This mode exists primarily to give expect(1)
a process to run, on systems which do not support bidirectional pipes.)
- -p process-id
-
Causes x3270if to use a Unix-domain socket to connect to the emulator,
rather than pipe file descriptors given in environment variables.
The emulator must have been started with the -socket option.
- -t port
-
Causes x3270if to use a TCP socket to connect to the emulator,
rather than pipe file descriptors given in environment variables.
The emulator must have been started with the -scriptport
option.
- -v
-
Turns on verbose debug messages, showing on stderr the literal data that is
passed between the emulator and x3270if.
Exit Status
In action mode, if the requested action succeeds,
x3270if exits with status 0.
If the action fails, x3270if exits with status 1.
In iterative mode, x3270if
exits with status 0 when it encounters end-of-file.
If there is an operational error within x3270if
itself, such as a command-line syntax error, missing environment
variable, or an unexpectedly closed pipe,
x3270if exits with status 2.
Environment
When a script is run as a child process of one of the emulators via the
Script action, the emulator passes information about how to control it
in environment variables.
On Unix, the emulator process creates a pair of pipes for communication with
the child script process.
The values of the file descriptors for these pipes are encoded as text
in two environment variables:
- X3270OUTPUT
-
Output from the emulator, input to the child process.
- X3270INPUT
-
Input to the emulator, output from the child process.
When an emulator is started with the
-scriptport option, the
emulator will pass the scriptport port number
encoded as text in the X3270PORT environment variable.
x3270if will use that value as if it had been passed to it via the
-t option.
X3270PORT takes precedence over
X3270OUTPUT and X3270INPUT.
See Also
x3270(1), c3270(1),
s3270(1),
x3270-script(1)
Copyright
Copyright © 1999-2009, 2015 Paul Mattes.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- *
-
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- *
-
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- *
-
Neither the names of Paul Mattes nor the names of his contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY PAUL MATTES `AS IS' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL PAUL MATTES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This HTML document and the accompanying troff document were generated with
a set of write-only m4 macros and the powerful vi editor.
Last modified 19 June 2015.