Я пытаюсь запрограммировать последовательную связь, используя аппаратное рукопожатие в Linux, используя C/C++. Сигналами, реализующими рукопожатие, являются CTS (разрешение на отправку) и RTS (запрос на отправку). В настоящее время моя функция для установки сигнала CTS выглядит следующим образом:
int setCTS(int fd, int value) {
int status;
ioctl(fd, TIOCMGET, &status); // get the current port status
if (value)
status |= TIOCM_CTS; // rise the CTS bit
else
status &= ~TIOCM_CTS; // drop the CTS bit
ioctl(fd, TIOCMSET, $status); // set the modified status
return 0;
}
где fd — файловый дескриптор порта, а value — значение, которое нужно установить для сигнала. Чтобы закодировать эту функцию, я использовал http://www.easysw.com/~mike/serial/serial.html#5_1.
Проблема в том, что gcc не распознает ни одну из констант, использованных в примере. Какие-либо предложения?
-- Обновлять --
Я нашел ответ. Глядя на другой пример, sys/ioctl.h
объявляет константы.