X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fgenericdmm%2Fgenericdmm.h;h=cb323e41a77d39e4091f707a335433da1fde9601;hb=161a8a272699a7b818ddab01043838f07d7cf6eb;hp=58d4a906dac2d009e30d56a656c33211122b7fd4;hpb=7fc754a0db73b473fb5c70f59165b43dc682bf1a;p=libsigrok.git diff --git a/hardware/genericdmm/genericdmm.h b/hardware/genericdmm/genericdmm.h index 58d4a906..cb323e41 100644 --- a/hardware/genericdmm/genericdmm.h +++ b/hardware/genericdmm/genericdmm.h @@ -41,10 +41,17 @@ struct dev_profile { char *model; struct dmmchip *chip; 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; @@ -71,9 +78,13 @@ struct context { 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); };