-SR_PRIV int sr_scpi_send(struct sr_serial_dev_inst *serial,
- const char *command);
-SR_PRIV int sr_scpi_get_string(struct sr_serial_dev_inst *serial,
- const char *command, char **scpi_response);
-SR_PRIV int sr_scpi_get_bool(struct sr_serial_dev_inst *serial,
- const char *command, gboolean *scpi_response);
-SR_PRIV int sr_scpi_get_int(struct sr_serial_dev_inst *serial,
- const char *command, int *scpi_response);
-SR_PRIV int sr_scpi_get_float(struct sr_serial_dev_inst *serial,
- const char *command, float *scpi_response);
-SR_PRIV int sr_scpi_get_double(struct sr_serial_dev_inst *serial,
- const char *command, double *scpi_response);
-SR_PRIV int sr_scpi_get_opc(struct sr_serial_dev_inst *serial);
-SR_PRIV int sr_scpi_get_floatv(struct sr_serial_dev_inst *serial,
- const char *command, GArray **scpi_response);
-SR_PRIV int sr_scpi_get_uint8v(struct sr_serial_dev_inst *serial,
- const char *command, GArray **scpi_response);
-SR_PRIV int sr_scpi_get_hw_id(struct sr_serial_dev_inst *serial,
- struct sr_scpi_hw_info **scpi_reponse);
-SR_PRIV void sr_scpi_hw_info_free(struct sr_scpi_hw_info *hw_info);
-
-#endif
-
-/*--- hardware/common/dmm/es51922.c -----------------------------------------*/
-
-#define ES51922_PACKET_SIZE 14
-
-struct es51922_info {
- gboolean is_judge, is_vbar, is_voltage, is_auto, is_micro, is_current;
- gboolean is_milli, is_resistance, is_continuity, is_diode, is_lpf;
- gboolean is_frequency, is_duty_cycle, is_capacitance, is_temperature;
- gboolean is_celsius, is_fahrenheit, is_adp, is_sign, is_batt, is_ol;
- gboolean is_max, is_min, is_rel, is_rmr, is_ul, is_pmax, is_pmin;
- gboolean is_dc, is_ac, is_vahz, is_hold, is_nano, is_kilo, is_mega;
+struct sr_scpi_dev_inst {
+ const char *name;
+ const char *prefix;
+ int priv_size;
+ int (*dev_inst_new)(void *priv, const char *resource, char **params,
+ const char *serialcomm);
+ int (*open)(void *priv);
+ int (*source_add)(void *priv, int events,
+ int timeout, sr_receive_data_callback_t cb, void *cb_data);
+ int (*source_remove)(void *priv);
+ int (*send)(void *priv, const char *command);
+ int (*read_begin)(void *priv);
+ int (*read_data)(void *priv, char *buf, int maxlen);
+ int (*read_complete)(void *priv);
+ int (*close)(void *priv);
+ void (*free)(void *priv);
+ void *priv;