The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### 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() shall discard 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 shall flush data received but not read.

> - If queue_selector is TCOFLUSH, it shall flush data written but not transmitted.

> - If queue_selector is TCIOFLUSH, it shall flush 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 shall cause the process group to be sent a SIGTTOU signal. If the calling process is blocking or ignoring SIGTTOU signals, the process shall be allowed to perform the operation, and no signal is sent.

#### RETURN VALUE

> Upon successful completion, 0 shall be returned. Otherwise, -1 shall be returned and errno set to indicate the error.

#### ERRORS

> The tcflush() function shall 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.

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> tcdrain(), the Base Definitions volume of IEEE Std 1003.1-2001, Chapter 11, General Terminal Interface, <termios.h>, <unistd.h>

#### CHANGE HISTORY

> First released in Issue 3. Included for alignment with the POSIX.1-1988 standard.

#### Issue 6

> The Open Group Corrigendum U035/1 is applied. In the ERRORS and APPLICATION USAGE sections, references to tcflow() are replaced with tcflush().

> The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:

> - In the DESCRIPTION, the final paragraph is no longer conditional on _POSIX_JOB_CONTROL. This is a FIPS requirement.

> - The [EIO] error is added.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]