tcflow()

Выполнить операцию управления потоком данных в потоке данных

Прототип:

#include <termios.h>
int tcflow( int fildes,
int action );

Аргументы:

fildes
Файловый дескриптор, связанный с потоком данных, над которым необходимо выполнить операцию.
action
Выполняемое действие.

Библиотека:

libc

Описание:

Функция tcflow() выполняет операцию управления потоком данных, связанным с fildes,в зависимости от значений action.

По крайней мере следующие действия определены в <termios.h>:

TCOOFF
Использовать программное управление потоком данных, чтобы приостановить вывод на устройство, связанное с fildes.
TCOOFFHW
Использовать аппаратное управление потоком данных, чтобы приостановить вывод на устройство, связанное с fildes.
TCOON
Использовать программное управление потоком данных, чтобы продолжить вывод на устройство, связанное с fildes.
TCOONHW
Использовать аппаратное управление потоком данных, чтобы продолжить вывод на устройство, связанное с fildes.
TCIOFF
Вызвать управление потоком ввода, немедленно отправив символ STOP по линии связи, связанной с fildes (программное управление потоком данных).
TCIOFFHW
Вызвать аппаратное управление входным потоком данных.
TCION
Продолжить поток ввода, немедленно отправив символ START по линии связи, связанной с fildes (программное управление потоком данных).
TCIONHW
Продолжить входной поток данных, используя аппаратное управление.

Возвращаемое значение:

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Некорректный аргумент fildes.
EINVAL
Некорректный аргумент action.
ENOSYS
Менеджер ресурсов, связанный с fildes, не поддерживает этот вызов.
ENOTTY
Аргумент fildes не относится к терминальному устройству.

Примеры:

#include <termios.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
int main( void )
{
int fd;
fd = open( "/dev/ser1", O_RDWR );
/* Resume output on flow-controlled device */
tcflow( fd, TCOON );
close( fd );
return (EXIT_SUCCESS);
}

Классификация:

POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

tcdrain(), tcflush(), tcsendbreak()




Предыдущий раздел: Описание API системной библиотеки