struct sr_input {
struct sr_input_format *format;
GHashTable *param;
- struct sr_dev *vdev;
+ struct sr_dev_inst *sdi;
void *internal;
};
struct sr_output {
struct sr_output_format *format;
- struct sr_dev *dev;
+ struct sr_dev_inst *sdi;
char *param;
void *internal;
};
enum {
SR_PROBE_LOGIC,
+ SR_PROBE_ANALOG,
};
struct sr_probe {
/** The device supports setting/changing its samplerate. */
SR_HWCAP_SAMPLERATE,
- /* TODO: Better description? Rename to PROBE_AND_TRIGGER_CONFIG? */
- /** The device supports setting a probe mask. */
- SR_HWCAP_PROBECONFIG,
-
/** The device supports setting a pre/post-trigger capture ratio. */
SR_HWCAP_CAPTURE_RATIO,
/* Device info IDs */
enum {
- /* struct sr_dev_inst for this specific device */
- /* TODO: obsolete */
- SR_DI_INST,
/* A list of options supported by the driver. */
SR_DI_HWOPTS,
/* A list of capabilities supported by the device. */
GSList *(*scan) (GSList *options);
/* Device-specific */
- int (*dev_open) (int dev_index);
- int (*dev_close) (int dev_index);
- /* TODO remove this */
- const void *(*dev_info_get) (int dev_index, int dev_info_id);
- int (*info_get) (int dev_info_id, const void **data,
+ int (*dev_open) (struct sr_dev_inst *sdi);
+ int (*dev_close) (struct sr_dev_inst *sdi);
+ int (*info_get) (int info_id, const void **data,
const struct sr_dev_inst *sdi);
- int (*dev_status_get) (int dev_index);
- int (*dev_config_set) (int dev_index, int hwcap, const void *value);
- int (*dev_acquisition_start) (int dev_index, void *session_dev_id);
- int (*dev_acquisition_stop) (int dev_index, void *session_dev_id);
+ int (*dev_config_set) (const struct sr_dev_inst *sdi, int hwcap,
+ const void *value);
+ int (*dev_acquisition_start) (const struct sr_dev_inst *sdi,
+ void *cb_data);
+ int (*dev_acquisition_stop) (const struct sr_dev_inst *sdi,
+ void *cb_data);
/* Dynamic */
- GSList *instances;
+ void *priv;
};
struct sr_session {
/* list of sr_receive_data_callback_t */
GSList *datafeed_callbacks;
GTimeVal starttime;
- gboolean running;
unsigned int num_sources;