TN3270(1)               NetBSD General Commands Manual               TN3270(1)

NAME
     tn3270 -- full-screen remote login to IBM VM/CMS

SYNOPSIS
     tn3270 [-d] [-n filename] [-t commandname] [sysname [port]]

DESCRIPTION
     tn3270 permits a full-screen, full-duplex connection from a UNIX machine
     to an IBM (or compatible) machine.  tn3270 gives the appearance of being
     logged in to the remote machine from an IBM 3270 terminal.  Of course,
     you must have an account on the machine to which you connect in order to
     log in.  tn3270 looks to the user in many respects like the Yale ASCII
     Terminal Communication System II.  tn3270 is actually a modification of
     the ARPANET TELNET user interface (see telnet(1)) which will, in certain
     circumstances, interpret and generate raw 3270 control streams.

     The flags to tn3270 are as follows:

     -d      Turn on socket-level tracing (for super-user only)

     -n filename
             Specify a file to receive network trace data output (from com-
             mands "toggle netdata" and "toggle options", see telnet(1)); the
             default is for output to be directed to the standard error file.

     -t commandname
             Specify a UNIX command to process IBM 4994 style transparent mode
             data received from the remote IBM machine.

     sysname
             The name of the remote system.  If the remote name is NOT speci-
             fied, the user will be prompted for a command (see below).

     port    The port to connect to on the remote system.  Normally, tn3270
             attempts to connect to the standard TELNET port (port 23) on the
             remote machine.

     When tn3270 first connects to the remote system, it will negotiate to go
     into 3270 mode.  Part of this negotiation involves telling the remote
     system what model 3270 it is emulating.  In all cases, tn3270 emulates a
     3278 terminal.  To decide which specific model, tn3270 looks at the num-
     ber of lines and columns on the actual terminal (as defined in the TERM
     environment variable; see termcap(5)).  The terminal (or window in which
     tn3270 is running, on multiple window systems) must have at least 80 col-
     umns and 24 lines, or tn3270 will not go into emulation mode.  If the
     terminal does have at least 80 columns and at least 24 lines, the follow-
     ing table describes the emulation:

                       minimum_size      emulated
                       (rows*columns)    terminal
                       --------------    ------------
                       27*132            3278 model 5
                       43*80             3278 model 4
                       32*80             3278 model 3
                       24*80             3278 model 2.

     Emulation of the 3270 terminal is done in the UNIX process.  This emula-
     tion involves mapping 3270-style commands from the host into appropriate
     sequences to control the user's terminal screen.  tn3270 uses curses(3)
     and the /usr/share/misc/termcap file to do this.  The emulation also
     involves simulating the special 3270 keyboard keys (program function
     keys, etc.)  by mapping sequences of keystrokes from the ASCII keyboard
     into appropriate 3270 control strings.  This mapping is terminal depen-
     dent and is specified in a description file, /usr/share/misc/map3270,
     (see map3270(5)) or in an environment variable MAP3270 (and, if neces-
     sary, MAP3270A, MAP3270B, and so on - see mset(1)).  Any special function
     keys on the ASCII keyboard are used whenever possible.  If an entry for
     the user's terminal is not found, tn3270 looks for an entry for the ter-
     minal type unknown.  If this is not found, tn3270 uses a default keyboard
     mapping (see map3270(5)).

     The first character of each special keyboard mapping sequence is either
     an ASCII escape (ESC), a control character, or an ASCII delete (DEL).  If
     the user types an unrecognized function key sequence, tn3270 sends an
     ASCII bell (BEL), or a visual bell if defined in the user's termcap
     entry, to the user's terminal and nothing is sent to the IBM host.

     If tn3270 is invoked without specifying a remote host system name, it
     enters local command mode, indicated by the prompt ``tn3270> ''.  In this
     mode, tn3270 accepts and executes all the commands of telnet(1), plus one
     additional command:

     transcom      Specify UNIX command for IBM 4994 style transparent mode
                   processing.

     tn3270 command mode may also be entered, after connecting to a host, by
     typing a special escape sequence.  If tn3270 has succeeded in negotiating
     3270 mode with the remote host, the escape sequence will be as defined by
     the map3270 (see map3270(5)) entry for the user's terminal type (typi-
     cally control-C); otherwise the escape sequence will initially be set to
     the single character `^]' (control right square bracket).

     While in command mode, any host login session is still alive but tempo-
     rarily suspended.  The host login session may be resumed by entering an
     empty line (press the RETURN key) in response to the command prompt.  A
     session may be terminated by logging off the foreign host, or by typing
     ``quit'' or ``close'' while in local command mode.

FILES
     /usr/share/misc/termcap
     /usr/share/misc/map3270

NOTES
     The IBM 4994 style transparent mode command is invoked when tn3270
     receives IBM 4994 style transparent output from the remote host.  Output
     and input pipes are created for communication between the two processes.
     The pipes are closed when a 3270 clear command is received from the
     remote hosts, signaling the end of transparent mode output.  Transparent
     mode is necessary for sending ASCII control characters over the 3270 ter-
     minal connection; ASCII graphics terminal support is accomplished this
     way.  Developers of transcom commands should note that the transcom stdin
     pipe end will be in CBREAK mode, with ECHO and CRMOD turned off.

ENVIRONMENT
     tn3270 checks the following environment variables: TERM, MAP3270,
     MAP3270[A...].  Information on these can be found in mset(1).  tn3270
     also checks SHELL, KEYBD and API3270.

SEE ALSO
     mset(1), telnet(1), curses(3), termcap(3), map3270(5), termcap(5)

     "Yale ASCII Terminal Communication", System II Program
     Description/Operator's Manual, IBM SB30-1911.

HISTORY
     The tn3270 command appeared in 4.3BSD.

BUGS
     tn3270 is slow and uses system resources prodigiously.

     Not all 3270 functions are supported, nor all Yale enhancements.

     Error conditions (attempting to enter data in a protected field, for
     example) should cause a message to be sent to the user's terminal instead
     of just ringing a bell.

NetBSD 5.0_STABLE                July 27, 1991               NetBSD 5.0_STABLE
