int serial_close(Serial fd) { int result; if (SERIAL_INVALID_CHECK(fd) >= 0) { do { result = close (fd); } while (result < 0 && errno == EINTR); } return result; }
int rr_dev_open (rr_dev dev, const char *port, long speed) { char *error = NULL; dev->fd = serial_open (port, speed, &error); if (SERIAL_INVALID_CHECK(dev->fd) < 0) { rr_dev_log (dev, RR_DEBUG_ALWAYS, "Failed to open device %s", error ? error : "<no error>"); fprintf (stderr, "%s\n", error ? error : "<null>"); return -1; } else return 0; }
int rr_dev_is_connected (rr_dev dev) { return SERIAL_INVALID_CHECK(dev->fd) < 0 ? 0 : 1; }