Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > T

termiox(7)

HP-PB Only
HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

termiox — extended general terminal interface

SYNOPSIS

#include <sys/termiox.h>

ioctl (int fildes, int request, struct termiox * arg)

DESCRIPTION

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

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

Isochronous flow control and clock mode communication are not supported.

Terminal Parameters

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:

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:

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

termiox was developed by HP and AT&T.

FILES

Files in or under /dev/tty*.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.