char *vendor;
char *model;
struct dmmchip *chip;
- /* Only use when the VID:PID is really specific to a DMM. */
- uint16_t vid;
- uint16_t pid;
int transport;
+ int poll_timeout;
+ struct sr_hwopt *defaults_opts;
};
-struct context {
+/* Private driver context. */
+struct drv_context {
+ GSList *instances;
+};
+
+/* Private, per-device-instance driver context. */
+struct dev_context {
struct dev_profile *profile;
uint64_t limit_samples;
uint64_t limit_msec;
struct dmmchip {
/* Optional, called once before measurement starts. */
- int (*init) (struct context *ctx);
+ int (*init) (void);
+
+ /* Scan for devices with the given options. */
+ GSList *(*scan) (GSList *options);
+
/* Called whenever a chunk of data arrives. */
- int (*data) (struct context *ctx, unsigned char *data);
+ int (*data) (struct sr_dev_inst *sdi);
};