+SR_PRIV int serial_write(struct sr_serial_dev_inst *serial,
+ const void *buf, size_t count)
+{
+ return _serial_write(serial, buf, count, serial->nonblocking);
+}
+
+SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial,
+ const void *buf, size_t count)
+{
+ return _serial_write(serial, buf, count, 0);
+}
+
+SR_PRIV int serial_write_nonblocking(struct sr_serial_dev_inst *serial,
+ const void *buf, size_t count)
+{
+ return _serial_write(serial, buf, count, 1);
+}
+
+static int _serial_read(struct sr_serial_dev_inst *serial, void *buf,
+ size_t count, int nonblocking)