+SR_PRIV int hp_3457a_select_input(const struct sr_dev_inst *sdi,
+ enum channel_conn loc)
+{
+ int ret;
+ struct sr_scpi_dev_inst *scpi = sdi->conn;
+ struct dev_context *devc = sdi->priv;
+
+ if (devc->input_loc == loc)
+ return SR_OK;
+
+ ret = sr_scpi_send(scpi, "TERM %s", (loc == CONN_FRONT) ? "FRONT": "REAR");
+ if (ret == SR_OK)
+ devc->input_loc = loc;
+
+ return ret;
+}
+
+SR_PRIV int hp_3457a_send_scan_list(const struct sr_dev_inst *sdi,
+ unsigned int *channels, size_t len)
+{
+ size_t i;
+ char chan[16], list_str[64] = "";
+
+ for (i = 0; i < len; i++) {
+ g_snprintf(chan, sizeof(chan), ",%u", channels[i]);
+ g_strlcat(list_str, chan, sizeof(list_str));
+ }
+
+ return sr_scpi_send(sdi->conn, "SLIST %s", list_str);
+}
+