NAME
tcflow — suspend
or restart the transmission or reception of data
SYNOPSIS
#include <termios.h> int tcflow(int fildes, int action);
DESCRIPTION
The tcflow() function suspends transmission or reception of data on the object referred to by fildes , depending on the value of action . The fildes argument is an open file descriptor associated with a terminal.
- If action is TCOOFF, output is suspended.
- If action is TCOON, suspended output is restarted.
- If action is TCIOFF, the system transmits a STOP character, which is intended to cause the terminal device to stop transmitting data to the system.
- If action is TCION, the system transmits a START character, which is intended to cause the terminal device to start transmitting data to the system.
The default on the opening of a terminal file is that neither its input nor its output are suspended.
Attempts to use tcflow() from a process which is a member of a background process group on a fildes associated with its controlling terminal, will cause the process group to be sent a SIGTTOU signal. If the calling process is blocking or ignoring SIGTTOU signals, the process is allowed to perform the operation, and no signal is sent.
RETURN VALUE
Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error.
ERRORS
The tcflow() function will fail if:
- [EBADF]
- The fildes argument is not a valid file descriptor.
- [EINVAL]
- The action argument is not a supported value.
- [ENOTTY]
- The file associated with fildes is not a terminal.
The tcflow() function may fail if:
- [EIO]
- The process group of the writing process is orphaned, and the writing process is not ignoring or blocking SIGTTOU.
EXAMPLES
None.
APPLICATION USAGE
None.
FUTURE DIRECTIONS
In the ISO POSIX-1 standard, the possibility of an [EIO] error occurring is described in XBD specification, Terminal Access Control , but it is not mentioned in the tcflow() interface definition. It has become clear that this omission was unintended, so it is likely that the [EIO] error will be re-classified as a "will fail" in a future issue of the POSIX standard.
SEE ALSO
tcsendbreak(3) , <termios.h> , <unistd.h> , the XBD specification, General Terminal Interface .
DERIVATION
Derived from the POSIX.1-1988 standard.