tcflush - flush non-transmitted output data, non-read input
data or both
int tcflush(int fildes, int queue_selector);
Upon successful completion, tcflush() discards data written
to the object referred to by fildes (an open file descriptor
associated with a terminal) but not transmitted, or data
received but not read, depending on the value of
o If queue_selector is TCIFLUSH it flushes data received
but not read.
o If queue_selector is TCOFLUSH it flushes data written
but not transmitted.
o If queue_selector is TCIOFLUSH it flushes both data
received but not read and data written but not
Attempts to use tcflush() 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.
Upon successful completion, 0 is returned. Otherwise, -1 is
returned and errno is set to indicate the error.
The tcflush() function will fail if:
EBADF The fildes argument is not a valid file descriptor.
The queue_selector argument is not a supported value.
The file associated with fildes is not a terminal.
The tcflush() function may fail if:
EIO The process group of the writing process is orphaned,
and the writing process is not ignoring or blocking
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | MT-Safe, and Async-Signal-Safe|
tcdrain(3C), attributes(5), termio(7I)
Man(1) output converted with