tcsendbreak()

Утвердить условия обрыва линии связи

Прототип:

#include <termios.h>
int tcsendbreak( int fildes,
int duration );

Аргументы:

fildes
Файловый дескриптор, связанный с каналом связи, в который необходимо передать поток нулевых битов.
duration
Время в миллисекундах, в течение которого необходимо передавать поток нулевых битов.

Библиотека:

libc

Описание:

Функция tcsendbreak() передает непрерывный поток нулевых битов по линии связи, связанной с открытым файловым дескриптором fildes.

Передача длится не менее duration миллисекунд или приблизительно 300 миллисекунд, если duration равна нулю. Система округляет эффективное значение duration до следующего наибольшего поддерживаемого интервала, который обычно кратен 100 миллисекундам.

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

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

Коды ошибок:

EBADF
Некорректный аргумент fildes.
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 );
/* Send a 500 millisecond break */
tcsendbreak( fd, 500 );
close( fd );
return (EXIT_SUCCESS);
}

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

POSIX 1003.1

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

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

tcdrain(), tcflow(), tcflush()




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