Очистить входной и/или выходной поток
#include <termios.h>
int tcflush( int fildes,
int queue_selector );
- fildes
- Файловый дескриптор, связанный с потоком данных, над которым необходимо выполнить операцию.
- queue_selector
- Поток или потоки, которые необходимо очистить. По крайней мере следующие значения queue_selector определены в
<termios.h>
: - TCIFLUSH
- Отклонить все принятые, но ещё не прочитанные данные, на устройстве, связанном с fildes.
- TCOFLUSH
- Отклонить все записанные, но ещё не отправленные данные, на устройстве, связанном с fildes.
- TCIOFLUSH
- Отклонить все записанные, но ещё не отправленные данные, также как и все принятые, но ещё не прочитанные данные, на устройстве, связанном с fildes.
libc
Функция tcflush() очищает входной поток, выходной поток или оба, в зависимости от значения аргумента queue_selector.
- 0
- Успешное завершение.
- -1
- Возникла ошибка. Код ошибки записан в errno.
- EBADF
- Некорректный аргумент fildes.
- EINVAL
- Некорректный аргумент queue_selector.
- ENOSYS
- Менеджер ресурсов, связанный с fildes, не поддерживает этот вызов.
- ENOTTY
- Аргумент fildes не относится к терминальному устройству.
#include <termios.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
int main( void )
{
int fildes;
fildes = open( "/dev/ser1", O_RDWR );
tcflush( fildes, TCIFLUSH );
close( fildes );
return (EXIT_SUCCESS);
}
POSIX 1003.1
- Нет
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Да
- В потоке
- Да
tcdrain(), tcflow(), tcsendbreak()
Предыдущий раздел: Описание API системной библиотеки