/* * shutdown program using 232C */ #include #include #include #include #include #include #include #include int main(int argc, char **argv) { int fd; int dtr_bit = TIOCM_DTR; int rts_bit = TIOCM_RTS; int set_bits; int flags; if ((fd = open("/dev/cuaU0", O_RDWR | O_NDELAY)) < 0) { fprintf(stderr, "OPEN ERROR!.\n"); exit(1); } set_bits = TIOCM_DTR | TIOCM_RTS; ioctl(fd, TIOCMSET, &set_bits); sleep(1); while(1) { ioctl(fd, TIOCMGET, &flags); if (flags & TIOCM_CD) { fprintf(stderr, "1"); fprintf(stdout, "1\n"); fflush(stdout); } else { fprintf(stderr, "0"); fprintf(stdout, "0\n"); fflush(stdout); } sleep(1); } close(fd); }