termiox(7) termiox(7)
HP-PB Only
NAME [Toc] [Back]
termiox - extended general terminal interface
SYNOPSIS [Toc] [Back]
#include <sys/termiox.h>
ioctl (int fildes, int request, struct termiox * arg)
DESCRIPTION [Toc] [Back]
The extended general terminal interface supplements the termio(7)
general terminal interface by adding support for asynchronous hardware
flow control and local implementations of additional asynchronous
features. Some systems may not support all of these capabilities
because of hardware or software limitations. Other systems may not
permit certain functions to be disabled. In such cases, the
appropriate bits are ignored. If the capabilities can be supported,
the interface described here must be used.
Hardware Flow Control Modes [Toc] [Back]
Hardware flow control supplements the termio IXON, IXOFF, and IXANY
character flow control (see termio(7)). Character flow control occurs
when one device controls the data transfer of another device by
inserting control characters in the data stream between devices.
Hardware flow control occurs when one device controls the data
transfer of another device by using electrical control signals on
wires (circuits) of the asynchronous interface. Character flow
control and hardware flow control can be simultaneously set.
In asynchronous, full duplex applications, the use of the Electronics
Industries Association's EIA-232-D Request To Send (RTS) and Clear To
Send (CTS) circuits is the preferred method of hardware flow control.
The EIA-232-D standard specified only unidirectional hardware flow
control where the Data Circuit-terminating Equipment or Data
Communications Equipment (DCE) indicates to the Data Terminal
Equipment (DTE) to stop transmitting data. The termiox interface
allows both unidirectional and bidirectional hardware flow control;
when bidirectional flow control is enabled, either the DCE or DTE can
indicate to each other to stop transmitting data across the interface.
Clock Modes [Toc] [Back]
Isochronous flow control and clock mode communication are not
supported.
Terminal Parameters [Toc] [Back]
Parameters that control the behavior of devices providing the termiox
interface are specified by the termiox structure, defined in the
<sys/termiox.h> header file. Several ioctl() system calls (see
ioctl(5)) that fetch or change these parameters use the termiox
structure which contains the following members:
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
termiox(7) termiox(7)
HP-PB Only
unsigned short x_hflag; /* hardware flow control modes */
unsigned short x_cflag; /* clock modes */
unsigned short x_rflag; /* reserved modes */
unsigned short x_sflag; /* spare local modes */
The x_hflag field describes hardware flow control modes:
RTSXOFF 0000001 Enable RTS hardware flow control on
input.
CTSXON 0000002 Enable CTS hardware flow control on
input.
The RTS and CTS circuits are involved in establishing CCITT modem
connections. Since RTS and CTS circuits are used both by CCITT modem
connections and by hardware flow control, CCITT modem and hardware
flow control cannot be simultaneously enabled.
Variations of different hardware flow control methods can be selected
by setting the appropriate bits. For example, bidirectional RTS/CTS
flow control is selected by setting both the RTSXOFF and CTSXON bits.
Unidirectional CTS hardware flow control is selected by setting only
the CTSXON bit.
If RTSXOFF is set, the Request to Send (RTS) circuit (line) is raised,
and if the asynchronous port needs to have its input stopped, it
lowers the Request to Send (RTS) line. If the RTS line is lowered, it
is assumed that the connected device will stop its output until RTS is
raised.
If CTSXON is set, output occurs only if the Clear To Send (CTS)
circuit (line) is raised by the connected device. If the CTS line is
lowered by the connected device, output is suspended until CTS is
raised.
termiox Structure Related IOCTL Command
The ioctl() system calls that reference the termiox structure have the
form:
ioctl (fildes, command, arg)
struct termiox *arg;
Commands using this form are:
TCGETX The argument is a pointer to a termiox structure.
The current terminal parameters are fetched and
stored into that structure.
TCSETX The argument is a pointer to a termiox structure.
The current terminal parameters are set from the
values stored in that structure. The change is
immediate. Errors that can be returned include:
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003
termiox(7) termiox(7)
HP-PB Only
[EINVAL] The port does not support hardware
flow control.
[ENOTTY] The file descriptor for this port is
configured for CCITT mode access.
Hardware flow control is not allowed
on CCITT mode devices.
TCSETXW The argument is a pointer to a termiox structure.
The current terminal parameters are set from the
values stored in that structure. The change
occurs after all characters queued for output have
been transmitted. This form should be used when
changing parameters that affect output. Errors
that can be returned include:
[EINVAL] The port does not support hardware
flow control.
[ENOTTY] The file descriptor for this port is
configured for CCITT mode access.
Hardware flow control is not allowed
on CCITT mode devices.
TCSETXF The argument is a pointer to a termiox structure.
The current terminal parameters are set from the
values stored in that structure. The change
occurs after all characters queued for output have
been transmitted; all characters queued for input
are discarded, then the change occurs. Errors
that can be returned include:
[EINVAL] The port does not support hardware
flow control.
[ENOTTY] The file descriptor for this port is
configured for CCITT mode access.
Hardware flow control is not allowed
on CCITT mode devices.
AUTHOR [Toc] [Back]
termiox was developed by HP and AT&T.
FILES [Toc] [Back]
Files in or under /dev/tty*.
SEE ALSO [Toc] [Back]
ioctl(2), termio(7), modem(7).
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: August 2003 [ Back ] |