3a6 #include #include #include #include #include #include /* TIOCM_CAR, TIOCM_RTS, TIOCM_DTR, TIOCM_RNG, TIOCM_DSR, TIOCM_CTS */ main() { unsigned int modem_info; int fd; char tmp[80]; initscr(); noecho(); keypad(stdscr, TRUE); nodelay(stdscr, TRUE); fd = open("/dev/ttyS3", O_RDWR | O_NONBLOCK); if (fd == -1) { addstr("Error opening serial port\n"); refresh(); endwin(); exit(1); } while (1) { move(1, 1); if (ioctl(fd, TIOCMGET, &modem_info) == -1) sprintf(tmp, "IOCTL error"); else sprintf(tmp, "CD: %d DSR: %d CTS: %d", (modem_info & TIOCM_CD) >> 6, (modem_info & TIOCM_DSR) >> 8, (modem_info & TIOCM_CTS) >> 5); addstr(tmp); refresh(); if(getch() != ERR) break; } close(fd); endwin(); exit(0); } . 0