+static int sr_ser_libsp_set_handshake(struct sr_serial_dev_inst *serial,
+ int rts, int dtr)
+{
+ int ret;
+
+ if (!serial->sp_data) {
+ sr_dbg("Cannot configure unopened serial port %s.", serial->port);
+ return SR_ERR;
+ }
+
+ if (rts >= 0) {
+ ret = sp_set_rts(serial->sp_data, rts ? SP_RTS_ON : SP_RTS_OFF);
+ if (ret != SP_OK)
+ return SR_ERR;
+ }
+ if (dtr >= 0) {
+ ret = sp_set_dtr(serial->sp_data, dtr ? SP_DTR_ON : SP_DTR_OFF);
+ if (ret != SP_OK)
+ return SR_ERR;
+ }
+
+ return SR_OK;
+}
+