Начну с того, что пишу на С++ прогу работы с одной железкой, обмен осуществляется с использованием сигналов RTS/CTS, DTR/DSR. Как известно ioctl() позволяет извлечь состояния этих сигналов, но только по опросу. Мне необходимо как можно скорее получеть состояния этих сигналов после их изменения. В книге Михаила Гука Аппаратные ср-ва ПК говорится о изменении состяния региста MSR UARTа - регистр состояния модема.
Назначение бит регистра MSR:
Бит 7 - DCD (Data Carrier Detect) - состояние линии DCD.
Бит 6 - Rl(Ring Indicator) - состояние линии Rl.
Бит 5 - DSR(Data Set Ready) - состояние линии DSR.
Бит 4 - CTS(Clear To Send) - состояние линии CTS.
Бит 3 - DDCD(Delta Data Carrier Detect) - изменение состояния DCD.
Бит 2 - TERI(Trailing Edge OfRing Indicator) -спад огибающей Rl (окончание звонка).
Бит 1 - DDSR (Delta Data Set Ready) - изменение состояния DSR.
Бит 0 - DCTS (Delta Clear To Send) - изменение состояния CTS.
Меня в данном случае интересуют биты 0,1,3. Нет ли в системных вызовах функций позволяющих получить сигнал(в смысле SIGALRM или SIGUSR) при изменении состояния этих трех бит регистра.