tcflush()

Flush the input and/or output stream

Synopsis:

#include <termios.h>

int tcflush( int fildes, 
             int queue_selector );

Since:

BlackBerry 10.0.0

Arguments:

fildes
A file descriptor that's associated with the data stream that you want to perform the operation on.
queue_selector
The stream or streams that you want to flush. At least the following values for queue_selector are defined in <termios.h>:
  • TCIFLUSH — discard all data that's received, but not yet read, on the device associated with fildes.
  • TCOFLUSH — discard all data that's written, but not yet transmitted, on the device associated with fildes.
  • TCIOFLUSH — discard all data that's written, but not yet transmitted, as well as all data that's received, but not yet read, on the device associated with fildes.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The tcflush() function flushes the input stream, the output stream, or both, depending on the value of the argument queue_selector.

Returns:

0
Success.
-1
An error occurred ( errno is set).

Errors:

EBADF
Invalid fildes argument.
EINVAL
Invalid queue_selector argument.
ENOSYS
The resource manager associated with fildes doesn't support this call.
ENOTTY
The argument fildes doesn't refer to a terminal device.

Examples:

#include <termios.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>

int main( void )
  {
    int fildes;

    fildes = open( "/dev/ser1", O_RDWR );

    /* Throw away all input data */
    tcflush( fildes, TCIFLUSH );

    close( fildes );
    return EXIT_SUCCESS;
  }

Classification:

POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

Last modified: 2014-06-24



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus