man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

tcflush(3C)

Name

tcflush - flush non-transmitted output data, non-read input data or both

Synopsis

#include <termios.h>

int tcflush(int fildes, int queue_selector);

Description

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 queue_selector:

  • If queue_selector is TCIFLUSH it flushes data received but not read.

  • If queue_selector is TCOFLUSH it flushes data written but not transmitted.

  • If queue_selector is TCIOFLUSH it flushes both data received but not read and data written but not transmitted.

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.

Return Values

Upon successful completion, 0 is returned. Otherwise, −1 is returned and errno is set to indicate the error.

Errors

The tcflush() function will fail if:

EBADF

The fildes argument is not a valid file descriptor.

EINVAL

The queue_selector argument is not a supported value.

ENOTTY

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 SIGTTOU.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe, and Async-Signal-Safe
Standard

See Also

tcdrain(3C), attributes(5), standards(5), termio(7I)