-Поиск по дневнику

Поиск сообщений в lj_ru_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 09.09.2006
Записей:
Комментариев:
Написано: 4


Вопрос по псевдотелетайпам

Вторник, 05 Февраля 2019 г. 14:55 + в цитатник
Пытаюсь использовать pty в Debian, 32-разрядном. Получаю дескриптор, но когда пытаюсь сбросить сигнал RTS, получаю от ioctl -1. Код приведён ниже:

include
include
include ioctl.h>
include
include
include
int main(int argc, char* argv[]) {
int master,slave;

char slname[255];
struct termios termios_p;

termios_p.c_iflag &= ~(INPCK|IXON|IXOFF|ICRNL|INLCR|IGNBRK|BRKINT);
termios_p.c_oflag &= ~OPOST;

termios_p.c_cflag |= (CLOCAL|CREAD);
termios_p.c_cflag &= ~CSIZE;
termios_p.c_cflag |= (CS8);
termios_p.c_cflag &= ~(CSTOPB|PARENB);

termios_p.c_lflag |= IEXTEN;
termios_p.c_lflag &= ~(ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHONL);

termios_p.c_cc[VMIN] = 1;
termios_p.c_cc[VTIME] = 0;
openpty(&master,&slave,slname,&termios_p,NULL);
if (master < 0)
printf("Open error!\n");
else {
int data = TIOCM_RTS;
int err = ioctl(master,TIOCMBIC,&data);
printf("RTS setting result err=%d\n",err);
}
return 0;
}

Что я делаю не так?
UPD. errno содержит EINVAL. Не пойму, вроде всё хорошо
UPD.2. Видимо, команда TIOCMGET/TIOCMBIC/TIOCMSET не работают в данной версии Linux. Вопрос - а как можно изменять состояние линий, например RTS/CTS?

https://ru-programming.livejournal.com/1366312.html


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку