<html> <head> <title>c3270 Manual Page</title> <link HREF="http://www.w3.org/StyleSheets/Core/Steely" TYPE="text/css" REL="stylesheet"> </head> <body> <h1>c3270 Manual Page</h1> <h2>Contents</h2> <blockquote> <a HREF="#Name">Name</a><br> <a HREF="#Synopsis">Synopsis</a><br> <a HREF="#Description">Description</a><br> <a HREF="#Options">Options</a><br> <a HREF="#Character-Sets">Character Sets</a><br> <a HREF="#Hosts-Database">Hosts Database</a><br> <a HREF="#NVT-ANSI-Mode">NVT (ANSI) Mode</a><br> <a HREF="#Toggles">Toggles</a><br> <a HREF="#Status-Line">Status Line</a><br> <a HREF="#Actions">Actions</a><br> <a HREF="#Keymaps">Keymaps</a><br> <a HREF="#The-Meta-or-Alt-Key">The Meta or Alt Key</a><br> <a HREF="#File-Transfer">File Transfer</a><br> <a HREF="#Scripts">Scripts</a><br> <a HREF="#Composite-Characters">Composite Characters</a><br> <a HREF="#Printer-Support">Printer Support</a><br> <a HREF="#Passthru">Passthru</a><br> <a HREF="#Resources">Resources</a><br> <a HREF="#Files">Files</a><br> <a HREF="#See-Also">See Also</a><br> <a HREF="#Copyrights">Copyrights</a><br> <a HREF="#Version">Version</a><br> </blockquote> <a NAME="Name"></a><h2>Name</h2> c3270 - curses-based <font size=-1>IBM</font> host access tool <a NAME="Synopsis"></a><h2>Synopsis</h2> <b>c3270</b> [<i>options</i>] [<i>host</i>] <a NAME="Description"></a><h2>Description</h2> <b>c3270</b> opens a telnet connection to an <font size=-1>IBM</font> host in a console window. It implements RFCs 2355 (TN3270E), 1576 (TN3270) and 1646 (LU name selection), and supports IND$FILE file transfer. If the console is capable of displaying colors, then <b>c3270</b> emulates an <font size=-1>IBM</font> 3279. Otherwise, it emulates a 3278. <p> The full syntax for <i>host</i> is: <blockquote>[<i>prefix</i>:]...[<i>LUname</i>@]<i>hostname</i>[:<i>port</i>]</blockquote> <p> Prepending a <b>p:</b> onto <i>hostname</i> causes the connection to go through the <i>telnet-passthru</i> service rather than directly to the host. See <a HREF="#Passthru"><font size=-1>PASSTHRU</font></a> below. <p> Prepending an <b>s:</b> onto <i>hostname</i> removes the "extended data stream" option reported to the host. See <a HREF="#tn"><b>-tn</b></a> below for further information. <p> Prepending an <b>n:</b> onto <i>hostname</i> turns off TN3270E support for the session. <p> A specific LU name to use may be specified by prepending it to the <i>hostname</i> with an `<b>@</b>'. Multiple LU names to try can be separated by commas. An empty LU can be placed in the list with an extra comma. <p> On systems that support the <i>forkpty</i> library call, the <i>hostname</i> may be replaced with <b>-e</b> and a command string. This will cause <b>c3270</b> to connect to a local child process, such as a shell. <p> The port to connect to defaults to <b>telnet</b>. This can be overridden with the <b>-port</b> option, or by appending a <i>port</i> to the <i>hostname</i> with a colon `<b>:</b>'. (For compatability with previous versions of <b>c3270</b> and with <i>tn3270</i>(1), the <i>port</i> may also be specified as a second, separate argument.) <a NAME="Options"></a><h2>Options</h2> <b>c3270</b> understands the following options:<dl> <dt><b>-allbold</b></dt><dd> Forces all characters to be displayed in bold. This helps with PC consoles which display non-bold characters in unreadably dim colors. <dt><b>-charset</b> <i>name</i></dt><dd> Specifies an <font size=-1>EBCDIC</font> host character set. See <a HREF="#Character-Sets"><font size=-1>CHARACTER SETS</font></a> below. <dt><b>-clear</b> <i>toggle</i></dt><dd> Sets the initial value of <i>toggle</i> to <b>false</b>. The list of toggle names is under <a HREF="#Toggles"><font size=-1>TOGGLES</font></a> below. <dt><b>-hostsfile</b> <i>file</i></dt><dd> Uses <i>file</i> as the hosts file, which allows aliases for host names and scripts to be executed at login. See <a HREF="ibm_hosts.html"><i>ibm_hosts</i>(1)</a> for details. <dt><b>-keymap</b> <i>name</i></dt><dd> Specifies a keyboard map to be found in the resource <b>c3270.keymap.</b><i>name</i> or the file <i>name</i>. See <a HREF="#Keymaps"><font size=-1>KEYMAPS</font></a> below for details. <dt><b>-model</b> <i>name</i></dt><dd> The model of 3270 display to be emulated. The model name is in two parts, either of which may be omitted: <p> The first part is the <b>base model</b>, which is either <b>3278</b> or <b>3279</b>. <b>3278</b> specifies a monochrome 3270 display; <b>3279</b> specifies a color 3270 display. <p> The second part is the <b>model number</b>, which specifies the number of rows and columns. Model 4 is the default. <p> <table BORDER cols=3 width="75%"> <tr><td ><center>Model Number</center></td> <td ><center>Columns</center></td> <td ><center>Rows</center></td></tr> <tr><td ><center>2</center></td> <td ><center>80</center></td> <td ><center>24</center></td></tr> <tr><td ><center>3</center></td> <td ><center>80</center></td> <td ><center>30</center></td></tr> <tr><td ><center>4</center></td> <td ><center>80</center></td> <td ><center>43</center></td></tr> <tr><td ><center>5</center></td> <td ><center>132</center></td> <td ><center>27</center></td></tr> </table> <p> Note: Technically, there is no such 3270 display as a 3279-4 or 3279-5, but most hosts seem to work with them anyway. <p> The default model for a color display is <b>3279-4</b>. For a monochrome display, it is <b>3278-4</b>. <dt><b>-mono</b></dt><dd> Forces 3278 emulation. <dt><b>-oversize</b> <i>cols</i><b>x</b><i>rows</i></dt><dd> Makes the screen larger than the default for the chosen model number. This option has effect only in combination with extended data stream support (controlled by the "c3270.extended" resource), and only if the host supports the Query Reply structured field. The number of columns multiplied by the number of rows must not exceed 16383 (3fff hex), the limit of 14-bit 3270 buffer addressing. <dt><b>-port</b> <i>n</i></dt><dd> Specifies a different <font size=-1>TCP</font> port to connect to. <i>n</i> can be a name from <b>/etc/services</b> like <b>telnet</b>, or a number. This option changes the default port number used for all connections. (The positional parameter affects only the initial connection.) <dt><b>-printerlu <i>luname</i></b></dt><dd> Causes <b>c3270</b> to automatically start a <i>pr3287</i> printer session. If <i>luname</i> is ".", then the printer session will be associated with the interactive terminal session (this requires that the host support TN3270E). Otherwise, the value is used as the explicit LU name to associate with the printer session. <dt><b>-set</b> <i>toggle</i></dt><dd> Sets the initial value of <i>toggle</i> to <b>true</b>. The list of toggle names is under <a HREF="#Toggles"><font size=-1>TOGGLES</font></a> below. <dt><a NAME="tn"></a><b>-tn</b> <i>name</i></dt><dd> Specifies the terminal name to be transmitted over the telnet connection. The default name is <b>IBM-</b><i>model_name</i><b>-E</b>, for example, <b>IBM-3279-4-E</b> for a color display, or <b>IBM-3278-4-E</b> for a monochrome display. <p> Some hosts are confused by the <b>-E</b> suffix on the terminal name, and will ignore the extra screen area on models 3, 4 and 5. Prepending an <b>:s</b> on the hostname, or setting the "c3270.extended" resource to "false", removes the <b>-E</b> from the terminal name when connecting to such hosts. <p> The name can also be specified with the "c3270.termName" resource. <dt><b>-trace</b></dt><dd> Turns on data stream and event tracing at startup. The default trace file name is <b>/tmp/x3trc.</b><i>process_id</i>. <dt><b>-tracefile</b> <i>file</i></dt><dd> Specifies a file to save data stream and event traces into, overriding the default of <b>/tmp/x3trc.</b><i>process_id</i>. <dt><b>-tracefilesize</b> <i>size</i></dt><dd> Places a limit on the size of a trace file. If this option is not specified, or is specified as <b>0</b> or <b>none</b>, the trace file will be unlimited. If specified, the trace file cannot already exist, and the (silently enforced) minimum size is 64 Kbytes. The value of <i>size</i> can have a <b>K</b> or <b>M</b> suffix, indicating kilobytes or megabytes respectively. <dt><b>-xrm</b> "c3270.<i>resource</i>: <i>value</i>"</dt><dd> Sets the value of the named <i>resource</i> to <i>value</i>. Resources control less common <b>c3270</b> options, and are defined under <a HREF="#Resources"><font size=-1>RESOURCES</font></a> below. </dl> <a NAME="Character-Sets"></a><h2>Character Sets</h2> The <b>-charset</b> option or the "c3270.charset" resource controls the <font size=-1>EBCDIC</font> host character set used by <b>c3270</b>. Available sets include: <p> <table BORDER cols=3 width="75%"> <tr><td ><center>Charset Name</center></td> <td ><center>Code Page</center></td> <td ><center>Display Character Sets</center></td></tr> <tr><td ><center>apl</center></td> <td ><center>37</center></td> <td ><center>3270cg-1a</center></td></tr> <tr><td ><center>belgian</center></td> <td ><center>500</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>bracket</center></td> <td ><center>37</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>brazilian</center></td> <td ><center>275</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>finnish</center></td> <td ><center>278</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>french</center></td> <td ><center>297</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>german</center></td> <td ><center>273</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>icelandic</center></td> <td ><center>871</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>iso-hebrew</center></td> <td ><center>424</center></td> <td ><center>iso8859-8</center></td></tr> <tr><td ><center>iso-turkish</center></td> <td ><center>1026</center></td> <td ><center>iso8859-9</center></td></tr> <tr><td ><center>italian</center></td> <td ><center>280</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>norwegian</center></td> <td ><center>277</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>russian</center></td> <td ><center>880</center></td> <td ><center>koi8-r</center></td></tr> <tr><td ><center>solvenian</center></td> <td ><center>870</center></td> <td ><center>iso8859-2</center></td></tr> <tr><td ><center>thai</center></td> <td ><center>838</center></td> <td ><center>iso8859-11 tis620.2529-0</center></td></tr> <tr><td ><center>uk</center></td> <td ><center>285</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> <tr><td ><center>us-intl</center></td> <td ><center>37</center></td> <td ><center>3270cg-1a 3270-cg1 iso8859-1</center></td></tr> </table> <p> The default character set is <b>bracket</b>, which is useful for common <font size=-1>IBM</font> hosts which use <font size=-1>EBCDIC</font> codes 0xAD and 0xBD for the `[' and `]' characters, respectively. <a NAME="Hosts-Database"></a><h2>Hosts Database</h2> <b>c3270</b> uses the <i>ibm_hosts</i> database to define aliases for host names, and to specify macros to be executed when a connection is first made. See <a HREF="ibm_hosts.html"><i>ibm_hosts</i>(5)</a> for details. <p> You may specify a different <i>ibm_hosts</i> database with the "c3270.hostsFile" resource. <a NAME="NVT-ANSI-Mode"></a><h2>NVT (ANSI) Mode</h2> Some hosts use an <font size=-1>ASCII</font> front-end to do initial login negotiation, then later switch to 3270 mode. <b>c3270</b> will emulate an <font size=-1>ANSI</font> X.64 terminal until the host places it in 3270 mode (telnet <font size=-1>BINARY</font> and <font size=-1>SEND EOR</font> modes, or <font size=-1>TN3270E</font> mode negotiation). <p> If the host later negotiates to stop functioning in 3270 mode, <b>c3270</b> will return to <font size=-1>ANSI</font> emulation. <p> In <font size=-1>NVT</font> mode, <b>c3270</b> supports both character-at-a-time mode and line mode operation. You may select the mode with a menu option. When in line mode, the special characters and operational characteristics are defined by resources: <p> <table BORDER cols=3 width="75%"> <tr><td >Mode/Character</td> <td >Resource</td> <td >Default</td></tr> <tr><td >Translate CR to NL</td> <td >c3270.icrnl</td> <td >true</td></tr> <tr><td >Translate NL to CR</td> <td >c3270.inlcr</td> <td >false</td></tr> <tr><td >Erase previous character</td> <td >c3270.erase</td> <td >^?</td></tr> <tr><td >Erase entire line</td> <td >c3270.kill</td> <td >^U</td></tr> <tr><td >Erase previous word</td> <td >c3270.werase</td> <td >^W</td></tr> <tr><td >Redisplay line</td> <td >c3270.rprnt</td> <td >^R</td></tr> <tr><td >Ignore special meaning of next character</td> <td >c3270.lnext</td> <td >^V</td></tr> <tr><td >Interrupt</td> <td >c3270.intr</td> <td >^C</td></tr> <tr><td >Quit</td> <td >c3270.quit</td> <td >^\</td></tr> <tr><td >End of file</td> <td >c3270.eof</td> <td >^D</td></tr> </table> <p> Separate keymaps can be defined for use only when <b>c3270</b> is in 3270 mode or <font size=-1>NVT</font> mode. See <a HREF="#Keymaps"><font size=-1>KEYMAPS</font></a> for details. <a NAME="Toggles"></a><h2>Toggles</h2> <b>c3270</b> has a number of configurable modes which may be selected by the <b>-set</b> and <b>-clear</b> options. <dl><dt><b>monoCase</b></dt><dd> If set, <b>c3270</b> operates in uppercase-only mode. <dt><b>blankFill</b></dt><dd> If set, <b>c3270</b> behaves in some un-3270-like ways. First, when a character is typed into a field, all nulls in the field to the left of that character are changed to blanks. This eliminates a common 3270 data-entry surprise. Second, in insert mode, trailing blanks in a field are treated like nulls, eliminating the annoying `lock-up' that often occurs when inserting into an field with (apparent) space at the end. <dt><b>lineWrap</b></dt><dd> If set, the <font size=-1>ANSI</font> terminal emulator automatically assumes a <font size=-1>NEWLINE</font> character when it reaches the end of a line. </dl> <p> The names of the toggles for use with the <b>-set</b> and <b>-clear</b> options are as follows: <p> <table BORDER cols=2 width="75%"> <tr><td >Option</td> <td >Name</td></tr> <tr><td >Monocase</td> <td >monoCase</td></tr> <tr><td >Blank Fill</td> <td >blankFill</td></tr> <tr><td >Track Cursor</td> <td >cursorPos</td></tr> <tr><td >Trace Data Stream</td> <td >dsTrace</td></tr> <tr><td >Trace Events</td> <td >eventTrace</td></tr> <tr><td >Save Screen(s) in File</td> <td >screenTrace</td></tr> <tr><td >Wraparound</td> <td >lineWrap</td></tr> </table> <p> These names are also used as the first parameter to the <b>Toggle</b> action. <a NAME="Status-Line"></a><h2>Status Line</h2> If the terminal that <b>c3270</b> is running on has at least one more row that the 3270 model requires (e.g., 25 rows for a model 2), <b>c3270</b> will display a status line. The <b>c3270</b> status line contains a variety of information. From left to right, the fields are: <dl><dt><b>comm status</b></dt><dd> Three symbols indicate the state of the connection to the host. If connected, the right-hand symbol is a solid box; if not, it is a question mark. <dt><b>keyboard lock</b></dt><dd> If the keyboard is locked, an "X" symbol and a message field indicate the reason for the keyboard lock. <dt><b>typeahead</b></dt><dd> The letter "T" indicates that one or more keystrokes are in the typeahead buffer. <dt><b>temporary keymap</b></dt><dd> The letter "K" indicates that a temporary keymap is in effect. <dt><b>reverse</b></dt><dd> The letter "R" indicates that the keyboard is in reverse field entry mode. <dt><b>insert mode</b></dt><dd> The letter "I" indicates that the keyboard is in insert mode. <dt><b>printer session</b></dt><dd> The letter "P" indicates that a <i>pr3287</i> session is active. <dt><b>LU name</b></dt><dd> The LU name associated with the session, if there is one. <dt><b>cursor position</b></dt><dd> The cursor row and column are optionally displayed, separated by a "/". </dl> <a NAME="actions"></a><a NAME="Actions"></a><h2>Actions</h2> Here is a complete list of basic c3270 actions. Script-specific actions are described on the <a HREF="x3270-script.html"><i>x3270-script</i>(1)</a> manual page. <p> Actions marked with an asterisk (*) may block, sending data to the host and possibly waiting for a response. <p> <table BORDER cols=2 width="75%"> <tr><td >*Attn</td> <td >attention key</td></tr> <tr><td >BackSpace</td> <td >move cursor left (or send <font size=-1>ASCII BS</font>)</td></tr> <tr><td >BackTab</td> <td >tab to start of previous input field</td></tr> <tr><td >CircumNot</td> <td >input "^" in <font size=-1>NVT</font> mode, or "¬" in 3270 mode</tr></td> <tr><td >*Clear</td> <td >clear screen</td></tr> <tr><td >Compose</td> <td >next two keys form a special symbol</td></tr> <tr><td >*Connect(<i>host</i>)</td> <td >connect to <i>host</i></td></tr> <tr><td >*CursorSelect</td> <td >Cursor Select <font size=-1>AID</font></td></tr> <tr><td >Delete</td> <td >delete character under cursor (or send <font size=-1>ASCII DEL</font>)</td></tr> <tr><td >DeleteField</td> <td >delete the entire field</td></tr> <tr><td >DeleteWord</td> <td >delete the current or previous word</td></tr> <tr><td >*Disconnect</td> <td >disconnect from host</td></tr> <tr><td >Down</td> <td >move cursor down</td></tr> <tr><td >Dup</td> <td >duplicate field</td></tr> <tr><td >*Enter</td> <td >Enter <font size=-1>AID</font> (or send <font size=-1>ASCII CR</font>)</td></tr> <tr><td >Erase</td> <td >erase previous character (or send <font size=-1>ASCII BS</font>)</td></tr> <tr><td >EraseEOF</td> <td >erase to end of current field</td></tr> <tr><td >EraseInput</td> <td >erase all input fields</td></tr> <tr><td >Escape</td> <td >escape to <b>c3270></b> prompt</td></tr> <tr><td >Execute(<i>cmd</i>)</td> <td >execute a command in a shell</td></tr> <tr><td >FieldEnd</td> <td >move cursor to end of field</td></tr> <tr><td >FieldExit</td> <td >clear to end of field and skip to next (5250 emulation)</td></tr> <tr><td >FieldMark</td> <td >mark field</td></tr> <tr><td >HexString(<i>hex_digits</i>)</td> <td >insert control-character string</td></tr> <tr><td >Home</td> <td >move cursor to first input field</td></tr> <tr><td >Insert</td> <td >set insert mode</td></tr> <tr><td >*Interrupt</td> <td >send <font size=-1>TELNET IP</font> to host</td></tr> <tr><td >Key(<i>keysym</i>)</td> <td >insert key <i>keysym</i></td></tr> <tr><td >Key(0x<i>xx</i>)</td> <td >insert key with <font size=-1>ASCII</font> code <i>xx</i></td></tr> <tr><td >Left</td> <td >move cursor left</td></tr> <tr><td >Left2</td> <td >move cursor left 2 positions</td></tr> <tr><td >MonoCase</td> <td >toggle uppercase-only mode</td></tr> <tr><td >MoveCursor(<i>row</i>, <i>col</i>)</td> <td >move cursor to (<i>row</i>,<i>col</i>)</td></tr> <tr><td >Newline</td> <td >move cursor to first field on next line (or send <font size=-1>ASCII LF</font>)</td></tr> <tr><td >NextWord</td> <td >move cursor to next word</td></tr> <tr><td >*PA(<i>n</i>)</td> <td >Program Attention <font size=-1>AID</font> (<i>n</i> from 1 to 3)</td></tr> <tr><td >*PF(<i>n</i>)</td> <td >Program Function <font size=-1>AID</font> (<i>n</i> from 1 to 24)</td></tr> <tr><td >PreviousWord</td> <td >move cursor to previous word</td></tr> <tr><td >Printer(Start[,<i>lu</i>]|Stop)</td> <td >Start or stop printer session</td></tr> <tr><td >PrintText(<i>command</i>)</td> <td >print screen text on printer</td></tr> <tr><td >Quit</td> <td >exit <b>c3270</b></td></tr> <tr><td >Redraw</td> <td >redraw window</td></tr> <tr><td >Reset</td> <td >reset locked keyboard</td></tr> <tr><td >Right</td> <td >move cursor right</td></tr> <tr><td >Right2</td> <td >move cursor right 2 positions</td></tr> <tr><td >*Script(<i>command</i>[,<i>arg</i>...])</td> <td >run a script</td></tr> <tr><td >*String(<i>string</i>)</td> <td >insert string (simple macro facility)</td></tr> <tr><td >*SysReq</td> <td >System Request <font size=-1>AID</font></td></tr> <tr><td >Tab</td> <td >move cursor to next input field</td></tr> <tr><td >Toggle(<i>option</i>[,<i>set|clear</i>])</td> <td >toggle an option</td></tr> <tr><td >ToggleInsert</td> <td >toggle insert mode</td></tr> <tr><td >ToggleReverse</td> <td >toggle reverse-input mode</td></tr> <tr><td >*Transfer(<i>option</i>=<i>value</i>...)</td> <td >file transfer</td></tr> <tr><td >Up</td> <td >move cursor up</td></tr> <tr><td >ignore</td> <td >do nothing</td></tr> </table> <p> Any of the above actions may be entered at the <b>c3270></b> prompt; these commands are also available for use in keymaps (see <a HREF="#Keymaps"><font size=-1>KEYMAPS</font></a>). Command names are case-insensitive. Parameters can be specified with parentheses and commas, e.g.: <blockquote>PF(1)</blockquote> or with spaces, e.g.: <blockquote>PF 1</blockquote> Parameters can be quoted with double-quote characters, to allow spaces, commas, and parentheses to be used. <p> <b>c3270</b> also supports the following interactive commands: <dl><dt><b>Help</b></dt><dd> Displays a list of available commands. <dt><b>Show</b></dt><dd> Displays statistics and settings. <dt><b>Trace</b></dt><dd> Turns tracing on or off. The command <b>trace on</b> enables data stream and keyboard event tracing; the command <b>trace off</b> disables it. The qualifier <b>data</b> or <b>keyboard</b> can be specified before <b>on</b> or <b>off</b> to enable or disable a particular trace. After <b>on</b>, a filename may be specified to override the default trace file name of <b>/tmp/x3trc.</b><i>pid</i>. </dl> <a NAME="Keymaps"></a><h2>Keymaps</h2> The <b>-keymap</b> option allows a <b>keymap</b> to be specified. If the option <b>-keymap</b> <i>xxx</i> is given, then <b>c3270</b> will first look for a resource named <b>c3270.keymap.</b><i>xxx</i>; if that is not found, then it will look for a file named <i>xxx</i>. <p> Multiple keymaps may be specified be separating their names with commas. Definitions in later keymaps supercede those in earlier keymaps. <p> In addition, separate keymaps may be defined that apply only in 3270 mode or only in <font size=-1>NVT</font> mode. For example, the resource definition <b>c3270.keymap.</b><i>xxx</i><b>.nvt</b> will augment the definition of <b>c3270.keymap.</b><i>xxx</i>, when <b>c3270</b> is in <font size=-1>NVT</font> mode. Similarly, the resource definition <b>c3270.keymap.</b><i>xxx</i><b>.3270</b> will augment the definition of <b>c3270.keymap.</b><i>xxx</i>, when <b>c3270</b> is in 3270 mode. <p> Keymaps specify actions to perform when a particular sequence of keys is pressed. Each line in a keymap has the following syntax: <p> <blockquote>[<b>Meta</b>][<b>Ctrl</b>]<b><Key></b><i>key</i>...: <i>Action</i>[(<i>param</i>[,...])] ...</blockquote> <p> For example: <p> <blockquote>Meta<Key>c: Clear() <br> <Key>PPAGE: PF(7) <br> Ctrl<Key>A <Key>F1: PF(13)</blockquote> <br> <p> The optional <b>Meta</b> or <b>Ctrl</b> qualifiers specify that the <b>Meta</b> and <b>Ctrl</b> keys are pressed along with the specified <i>key</i>, respectively. The <i>key</i> is either a valid X11 keysym (these are the <font size=-1>ISO</font> 8859-1 symbol names, such as <b>equal</b> for `=' and <b>a</b> for `a') or a valid symbolic <b>ncurses</b> key name, such as <b>UP</b>. The <i>Action</i> is an action from the <font size=-1>ACTIONS</font> list, above. More than one action may be specified. (Note that symbolic <b>ncurses</b> key names can be used only if the <b>c3270.cursesKeymap</b> resource is set to <b>True</b>, which enables ncurses keymap mode.) <p> Keymap entries are case-sensitive and modifier-specific. This means that a keymap for the <b>b</b> key will match only a lowercase <b>b</b>. Actions for uppercase <b>B</b>, or for <b>Meta-b</b> or <b>Control-B</b>, must be specified separately. <p> The base keymap is: <p> <table BORDER cols=2 width="75%"> <tr><td >Key</td> <td >Action</td></tr> <tr><td >Ctrl<Key>]</td> <td >Escape</td></tr> <tr><td >Ctrl<Key>a Ctrl<Key>a</td> <td >Key(0x01)</td></tr> <tr><td >Ctrl<Key>a Ctrl<Key>]</td> <td >Key(0x1d)</td></tr> <tr><td >Ctrl<Key>a <Key>Tab</td> <td >BackTab</td></tr> <tr><td >Ctrl<Key>a <Key>c</td> <td >Clear</td></tr> <tr><td >Ctrl<Key>a <Key>e</td> <td >Escape</td></tr> <tr><td >Ctrl<Key>a <Key>r</td> <td >Reset</td></tr> <tr><td >Ctrl<Key>a <Key>l</td> <td >Redraw</td></tr> <tr><td >Ctrl<Key>a <Key>m</td> <td >Compose</td></tr> <tr><td >Ctrl<Key>a <Key>^</td> <td >Key(notsign)</td></tr> <tr><td ><Key>UP</td> <td >Up</td></tr> <tr><td ><Key>DOWN</td> <td >Down</td></tr> <tr><td ><Key>LEFT</td> <td >Left</td></tr> <tr><td ><Key>RIGHT</td> <td >Right</td></tr> <tr><td ><Key>F(<i>n</i>)</td> <td >PF(<i>n</i>)</td></tr> <tr><td >Ctrl<Key>a <Key>F(<i>n</i>)</td> <td >PF(<i>n</i>+12)</td></tr> <tr><td >Ctrl<Key>a <Key>1</td> <td >PA(1)</td></tr> <tr><td >Ctrl<Key>a <Key>2</td> <td >PA(2)</td></tr> <tr><td >Ctrl<Key>a <Key>3</td> <td >PA(3)</td></tr> </table> <p> The base 3270-mode keymap adds: <p> <table BORDER cols=2 width="75%"> <tr><td >Key</td> <td >Action</td></tr> <tr><td >Ctrl<Key>c</td> <td >Clear</td></tr> <tr><td >Ctrl<Key>r</td> <td >Reset</td></tr> <tr><td >Ctrl<Key>l</td> <td >Redraw</td></tr> <tr><td ><Key>Tab</td> <td >Tab</td></tr> <tr><td ><Key>DC</td> <td >Delete</td></tr> <tr><td ><Key>BACKSPACE</td> <td >BackSpace</td></tr> <tr><td ><Key>BackSpace</td> <td >BackSpace</td></tr> <tr><td ><Key>Return</td> <td >Enter</td></tr> <tr><td ><Key>Linefeed</td> <td >Newline</td></tr> </table> <a NAME="The-Meta-or-Alt-Key"></a><h2>The Meta or Alt Key</h2> Some keyboards do not have a <b>Meta</b> key. Instead, they have an <b>Alt</b> key. Sometimes this key acts as a proper <b>Meta</b> key, that is, it is a modifier key that sets the high-order bit (0x80) in the code that is transmitted for each key. Other keyboards send a two-character sequence when the <b>Alt</b> key is pressed with another key: the Escape character (0x1b), followed by the code for the other key. <p> The resource <b>c3270.metaEscape</b> and the termcap <b>km</b> attribute control how <b>c3270</b> will interpret these sequences. When <b>c3270.metaEscape</b> is set to <b>true</b>, or when <b>c3270.metaEscape</b> is set to <b>auto</b> and the termcap <b>km</b> attribute is set, the keyboard is assumed to have a separate <b>Meta</b> key. The Escape key can be used as an ordinary data key and has no special meaning. <p> When <b>c3270.metaEscape</b> is set to <b>true</b>, or when <b>c3270.metaEscape</b> is set to <b>auto</b> and the termcap <b>km</b> attribute is not set, the keyboard is assumed to use the Escape character as a prefix to indicate that the following character is supposed to have the high-order bit set. When <b>c3270</b> sees an Escape character from the keyboard, it sets a short timeout. If another character arrives before the timeout expires, then <b>c3270</b> will combine the two characters, setting the high-order bit of the second. In an event trace file, the combined character is listed as <i>derived</i>. In a keymap, only the combined character or the <b>Meta</b> prefix may be used. The Escape key can still be used by itself, but only if there is a short pause before pressing another key. <p> The default value for <b>c3270.metaEscape</b> is <b>auto</b>. <a NAME="File-Transfer"></a><h2>File Transfer</h2> The <b>Transfer</b> action implements <b>IND$FILE</b> file transfer. This action requires that the <b>IND$FILE</b> program be installed on the <font size=-1>IBM</font> host, and that the 3270 cursor be located in a field that will accept a <font size=-1>TSO</font> or <font size=-1>VM/CMS</font> command. <p> Because of the complexity and number of options for file transfer, the parameters to the <b>Transfer</b> action take the unique form of <i>option</i>=<i>value</i>, and can appear in any order. The options are: <p> <table BORDER cols=4 width="75%"> <tr><td >Option</td> <td >Required?</td> <td >Default</td> <td >Other Values</td></tr> <tr><td >Direction</td> <td >No</td> <td >send</td> <td >receive</td></tr> <tr><td >HostFile</td> <td >Yes</td> <td > </td> <td > </td></tr> <tr><td >LocalFile</td> <td >Yes</td> <td > </td> <td > </td></tr> <tr><td >Host</td> <td >No</td> <td >tso</td> <td >vm</td></tr> <tr><td >Mode</td> <td >No</td> <td >ascii</td> <td >binary</td></tr> <tr><td >Cr</td> <td >No</td> <td >remove</td> <td >add, keep</td></tr> <tr><td >Exist</td> <td >No</td> <td >keep</td> <td >replace, append</td></tr> <tr><td >Recfm</td> <td >No</td> <td > </td> <td >fixed, variable, undefined</td></tr> <tr><td >Lrecl</td> <td >No</td> <td > </td> <td > </td></tr> <tr><td >Blksize</td> <td >No</td> <td > </td> <td > </td></tr> <tr><td >Allocation</td> <td >No</td> <td > </td> <td >tracks, cylinders, avblock</td></tr> <tr><td >PrimarySpace</td> <td >No</td> <td > </td> <td > </td></tr> <tr><td >SecondarySpace</td> <td >No</td> <td > </td> <td > </td></tr> </table> <p> The option details are as follows. <dl><dt><b>Direction</b></dt><dd> <b>send</b> (the default) to send a file to the host, <b>receive</b> to receive a file from the host. <dt><b>HostFile</b></dt><dd> The name of the file on the host. <dt><b>LocalFile</b></dt><dd> The name of the file on the local workstation. <dt><b>Host</b></dt><dd> The type of host (which dictates the form of the <b>IND$FILE</b> command): <b>tso</b> (the default) or <b>vm</b>. <dt><b>Mode</b></dt><dd> Use <b>ascii</b> (the default) for a text file, which will be translated between <font size=-1>EBCDIC</font> and <font size=-1>ASCII</font> as necessary. Use <b>binary</b> for non-text files. <dt><b>Cr</b></dt><dd> Controls how <b>Newline</b> characters are handled when transferring <b>Mode=ascii</b> files. <b>remove</b> (the default) strips <b>Newline</b> characters in local files before transferring them to the host. <b>add</b> adds <b>Newline</b> characters to each host file record before transferring it to the local workstation. <b>keep</b> preserves <b>Newline</b> characters when transferring a local file to the host. <dt><b>Exist</b></dt><dd> Controls what happens when the destination file already exists. <b>keep</b> (the default) preserves the file, causing the <b>Transfer</b> action to fail. <b>replace</b> overwrites the destination file with the source file. <b>append</b> appends the source file to the destination file. <dt><b>Recfm</b></dt><dd> Controls the record format of files created on the host. <b>fixed</b> creates a file with fixed-length records. <b>variable</b> creates a file with variable-length records. <b>undefined</b> creates a file with undefined-length records (<font size=-1>TSO</font> hosts only). The <b>Lrecl</b> option controls the record length or maximum record length for <b>Recfm=fixed</b> and <b>Recfm=variable</b> files, respectively. <dt><b>Lrecl</b></dt><dd> Specifies the record length (or maximum record length) for files created on the host. <dt><b>Blksize</b></dt><dd> Specifies the block size for files created on the host. (<font size=-1>TSO</font> hosts only.) <dt><b>Allocation</b></dt><dd> Specifies the units for the <font size=-1>TSO</font> host <b>PrimarySpace</b> and <b>SecondarySpace</b> options: <b>tracks</b>, <b>cylinders</b> or <b>avblock</b>. <dt><b>PrimarySpace</b></dt><dd> Primary allocation for a file created on a <font size=-1>TSO</font> host. The units are given by the <b>Allocation</b> option. <dt><b>SecondarySpace</b></dt><dd> Secondary allocation for a file created on a <font size=-1>TSO</font> host. The units are given by the <b>Allocation</b> option. </dl> <a NAME="Scripts"></a><h2>Scripts</h2> There are several types of script functions available. <dl><dt><b>The String Action</b></dt><dd> The simplest method for scripting is provided via the <b>String</b> action. The arguments to <b>String</b> are one or more double-quoted strings which are inserted directly as if typed. The C backslash conventions are honored as follows. (Entries marked * mean that after sending the <font size=-1>AID</font> code to the host, <b>c3270</b> will wait for the host to unlock the keyboard before further processing the string.) <table BORDER cols=2 width="75%"> <tr><td >\b</td> <td >Left</td></tr> <tr><td >\f</td> <td >Clear*</td></tr> <tr><td >\n</td> <td >Enter*</td></tr> <tr><td >\pa<i>n</i></td> <td >PA(<i>n</i>)*</td></tr> <tr><td >\pf<i>nn</i></td> <td >PF(<i>nn</i>)*</td></tr> <tr><td >\r</td> <td >Newline</td></tr> <tr><td >\t</td> <td >Tab</td></tr> <tr><td >\T</td> <td >BackTab</td></tr> </table> <p> An example keymap entry would be: <blockquote>Meta<Key>p: String("probs clearrdr\n")</blockquote> <p> <b>Note:</b> The strings are in <font size=-1>ASCII</font> and converted to <font size=-1>EBCDIC</font>, so beware of inserting control codes. <p> There is also an alternate form of the <b>String</b> action, <b>HexString</b>, which is used to enter non-printing data. The argument to <b>HexString</b> is a string of hexadecimal digits, two per character. A leading 0x or 0X is optional. In 3270 mode, the hexadecimal data represent <font size=-1>EBCDIC</font> characters, which are entered into the current field. In <font size=-1>NVT</font> mode, the hexadecimal data represent <font size=-1>ASCII</font> characters, which are sent directly to the host. <dt><b>The Script Action</b></dt><dd> This action causes <b>c3270</b> to start a child process which can execute <b>c3270</b> actions. Standard input and output from the child process are piped back to <b>c3270</b>. The <b>Script</b> action is fully documented in <a HREF="x3270-script.html"><i>x3270-script</i>(1)</a>. </dl> <a NAME="Composite-Characters"></a><h2>Composite Characters</h2> <b>c3270</b> allows the direct entry of accented letters and special symbols. Pressing and releasing the "Compose" key, followed by two other keys, causes entry of the symbol combining those two keys. For example, "Compose" followed by the "C" key and the "," (comma) key, enters the "C-cedilla" symbol. A C on the status line indicates a pending composite character. <p> The mappings between these pairs of ordinary keys and the symbols they represent is controlled by the "c3270.composeMap" resource; it gives the name of the map to use. The maps themselves are named "c3270.composeMap.<i>name</i>". The default is "latin1", which gives mappings for most of the symbols in the <font size=-1>ISO</font> 8859-1 Latin-1 character set that are not in the 7-bit <font size=-1>ASCII</font> character set. <p> <b>Note:</b> The default keymap defines Meta<Key>m as the "Compose" key. You may set up your own "Compose" key with a keymap that maps some other keysym onto the <b>Compose</b> action. <a NAME="Printer-Support"></a><h2>Printer Support</h2> c3270 supports associated printer sessions via the <i>pr3287</i>(1) program. The <b>Printer</b> action is used to start or stop a <i>pr3287</i> session. <p> The action <b>Printer Start</b> starts a printer session, associated with the current LU. (This works only if the host supports TN3270E.) <p> The action <b>Printer Start</b> <i>lu</i> starts a printer session, associated with a specific <i>lu</i>. <p> The action <b>Printer Stop</b> stops a printer session. <p> The resource <b>c3270.printer.command</b> specifies the command used to print each job; it defaults to <b>lpr</b>. The resource <b>c3270.printer.assocCommandLine</b> specifies the command used to start an associated printer session. It defaults to: <p> <blockquote>pr3287 -assoc %L% -command "%C%" %H%</blockquote> <p> The resource <b>c3270.printer.luCommandLine</b> specifies the command used to start a specific-LU printer session. It defaults to: <p> <blockquote>pr3287 -command "%C%" %L%@%H%</blockquote> <p> When the printer session command is run, the following substitutions are made: <p> <table BORDER cols=2 width="75%"> <tr><td >Token</td> <td >Substitition</td></tr> <tr><td >%C%</td> <td >Command (value of <b>c3270.printer.command</b>)</td></tr> <tr><td >%H%</td> <td >Host IP address</td></tr> <tr><td >%L%</td> <td >Current or specified LU</td></tr> </table> <p> See <i>pr3287</i>(1) for further details. <a NAME="Passthru"></a><h2>Passthru</h2> <b>c3270</b> supports the Sun <i>telnet-passthru</i> service provided by the <i>in.telnet-gw</i> server. This allows outbound telnet connections through a firewall machine. When a <b>p:</b> is prepended to a hostname, <b>c3270</b> acts much like the <i>itelnet</i>(1) command. It contacts the machine named <b>internet-gateway</b> at the port defined in <b>/etc/services</b> as <b>telnet-passthru</b> (which defaults to 3514). It then passes the requested hostname and port to the <b>in.telnet-gw</b> server. <a NAME="Resources"></a><h2>Resources</h2> Certain <b>c3270</b> options can be configured via resources. Resources are defined in the file <b>.c3270pro</b> in the user's home directory, and by <b>-xrm</b> options. The definitions are similar to X11 resources, and use a similar syntax. The resources available in <b>c3270</b> are: <p> <table BORDER cols=4 width="75%"> <tr><td >Resource</td> <td >Default</td> <td >Option</td> <td >Purpose</td></tr> <tr><td >allBold</td> <td >Auto</td> <td >-allbold</td> <td >Display all characters bold</td></tr> <tr><td >blankFill</td> <td >False</td> <td >-set blankFill</td> <td >Blank Fill mode</td></tr> <tr><td >charset</td> <td >bracket</td> <td >-charset</td> <td ><font size=-1>EBCDIC</font> character set</td></tr> <tr><td >charset.<i>foo</i></td> <td > </td> <td > </td> <td >Definition of character set <i>foo</i></td></tr> <tr><td >composeMap</td> <td >latin1</td> <td > </td> <td >Name of composed-character map</td></tr> <tr><td >cursesKeymap</td> <td >True</td> <td > </td> <td >Set curses keymap option</td></tr> <tr><td >dsTrace</td> <td >False</td> <td >-trace</td> <td >Data stream tracing</td></tr> <tr><td >eof</td> <td >^D</td> <td > </td> <td ><font size=-1>NVT</font>-mode <font size=-1>EOF</font> character</td></tr> <tr><td >erase</td> <td >^H</td> <td > </td> <td ><font size=-1>NVT</font>-mode erase character</td></tr> <tr><td >extended</td> <td >True</td> <td > </td> <td >Use 3270 extended data stream</td></tr> <tr><td >eventTrace</td> <td >False</td> <td >-trace</td> <td >Event tracing</td></tr> <tr><td >ftCommand</td> <td >ind$file</td> <td > </td> <td >Host file transfer command</td></tr> <tr><td >hostsFile</td> <td > </td> <td >-hostsfile</td> <td >Host alias/macro file</td></tr> <tr><td >icrnl</td> <td >False</td> <td > </td> <td >Map <font size=-1>CR</font> to <font size=-1>NL</font> on <font size=-1>NVT</font>-mode input</td></tr> <tr><td >inlcr</td> <td >False</td> <td > </td> <td >Map <font size=-1>NL</font> to <font size=-1>CR</font> in <font size=-1>NVT</font>-mode input</td></tr> <tr><td >intr</td> <td >^C</td> <td > </td> <td ><font size=-1>NVT</font>-mode interrupt character</td></tr> <tr><td >keymap</td> <td > </td> <td >-keymap</td> <td >Keyboard map name</td></tr> <tr><td >keymap.<i>foo</i></td> <td > </td> <td > </td> <td >Definition of keymap <i>foo</i></td></tr> <tr><td >kill</td> <td >^U</td> <td > </td> <td ><font size=-1>NVT</font>-mode kill character</td></tr> <tr><td >lineWrap</td> <td >False</td> <td >-set lineWrap</td> <td ><font size=-1>NVT</font> line wrap mode</td></tr> <tr><td >lnext</td> <td >^V</td> <td > </td> <td ><font size=-1>NVT</font>-mode lnext character</td></tr> <tr><td >m3279</td> <td ><a HREF="#rn1">(note 1)</a></td> <td >-mono</td> <td >3279 (color) emulation</td></tr> <tr><td >metaEscape</td> <td >Auto</td> <td > </td> <td >Interpret ESC-x as Meta-x</td></tr> <tr><td >monoCase</td> <td >False</td> <td >-set monoCase</td> <td >Mono-case mode</td></tr> <tr><td >numericLock</td> <td >False</td> <td > </td> <td >Lock keyboard for numeric field error</td></tr> <tr><td >oerrLock</td> <td >True</td> <td > </td> <td >Lock keyboard for input error</td></tr> <tr><td >oversize</td> <td > </td> <td >-oversize</td> <td >Oversize screen dimensions</td></tr> <tr><td >port</td> <td >telnet</td> <td >-port</td> <td >Non-default TCP port</td></tr> <tr><td >printer.*</td> <td ><a HREF="#rn4">(note 4)</a></td> <td > </td> <td >Printer session config</td></tr> <tr><td >quit</td> <td >^\</td> <td > </td> <td ><font size=-1>NVT</font>-mode quit character</td></tr> <tr><td >rprnt</td> <td >^R</td> <td > </td> <td ><font size=-1>NVT</font>-mode reprint character</td></tr> <tr><td >secure</td> <td >False</td> <td > </td> <td >Disable "dangerous" options</td></tr> <tr><td >termName</td> <td ><a HREF="#rn2">(note 2)</a></td> <td >-tn</td> <td ><font size=-1>TELNET</font> terminal type string</td></tr> <tr><td >traceDir</td> <td >/tmp</td> <td > </td> <td >Directory for trace files</td></tr> <tr><td >traceFile</td> <td ><a HREF="#rn3">(note 3)</a></td> <td >\-tracefile</td> <td >File for trace output</td></tr> <tr><td >typeahead</td> <td >True</td> <td > </td> <td >Allow typeahead</td></tr> <tr><td >werase</td> <td >^W</td> <td > </td> <td ><font size=-1>NVT</font>-mode word-erase character</td></tr> </table> <p> <blockquote><a NAME="rn1"></a><i>Note 1</i>: <b>m3279</b> defaults to <b>True</b> if the terminal supports color, <b>False</b> otherwise. It can be forced to <b>False</b> with the <b>-mono</b> option. <p> <a NAME="rn2"></a><i>Note 2</i>: The default terminal type string is constructed from the model number, color emulation, and extended data stream modes. E.g., a model 2 with color emulation and the extended data stream option would be sent as <b>IBM-3279-2-E</b>. Note also that when <font size=-1>TN3270E</font> mode is used, the terminal type is always sent as some type of 3278. <p> <a NAME="rn3"></a><i>Note 3</i>: The default trace file is <b>x3trc.</b><i>pid</i> in the directory specified by the <b>traceDir</b> resource. <p> <a NAME="rn4"></a><i>Note 4</i>: See <a HREF="#Printer-Support"><font size=-1>PRINTER SUPPORT</font></a> for details.</blockquote> <p> In <b>.c3270pro</b>, lines are continued with a backslash character. <p> <b>-xrm</b> options override definitions found in <b>.c3270pro</b>. If more than one <b>-xrm</b> option is given for the same resource, the last one on the command line is used. <a NAME="Files"></a><h2>Files</h2> /usr/local/lib/x3270/ibm_hosts <br> $HOME/.c3270pro <a NAME="See-Also"></a><h2>See Also</h2> <a HREF="x3270-man.html">x3270(1)</a>, <a HREF="s3270-man.html">s3270(1)</a>, <a HREF="tcl3270-man.html">tcl3270(1)</a>, <a HREF="ibm_hosts.html">ibm_hosts(5)</a>, <a HREF="x3270-script.html">x3270-script(1)</a>, <a HREF="pr3287-man.html">pr3287(1)</a>, telnet(1), tn3270(1) <br> Data Stream Programmer's Reference, IBM GA23-0059 <br> Character Set Reference, IBM GA27-3831 <br> RFC 1576, TN3270 Current Practices <br> RFC 1646, TN3270 Extensions for LUname and Printer Selection <br> RFC 2355, TN3270 Enhancements <a NAME="Copyrights"></a><h2>Copyrights</h2> <p> Modifications Copyright © 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001 by Paul Mattes. <br> Original X11 Port Copyright © 1990 by Jeff Sparkes. <blockquote>Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.</blockquote> Copyright © 1989 by Georgia Tech Research Corporation, Atlanta, GA 30332. <blockquote>All Rights Reserved. GTRC hereby grants public use of this software. Derivative works based on this software must incorporate this copyright notice.</blockquote> 5250 Emulation Code Copyright © Minolta (Schweiz) AG, Beat Rubischon. <a NAME="Version"></a><h2>Version</h2> c3270 3.2.19 <hr> <address> This HTML document and the accompanying troff document were generated with a set of write-only <b>m4</b> macros and the powerful <b>vi</b> editor. <br>Last modified 01 May 2002. </address> </body> </html>