X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fgenericdmm%2Fgenericdmm.h;h=caf2221022fd31c973f396a0f6eb48fc67b301ec;hb=15cb43d67cee5d7381c9cbcf0a355329a5cabfd1;hp=58d4a906dac2d009e30d56a656c33211122b7fd4;hpb=7fc754a0db73b473fb5c70f59165b43dc682bf1a;p=libsigrok.git diff --git a/hardware/genericdmm/genericdmm.h b/hardware/genericdmm/genericdmm.h index 58d4a906..caf22210 100644 --- a/hardware/genericdmm/genericdmm.h +++ b/hardware/genericdmm/genericdmm.h @@ -44,7 +44,13 @@ struct dev_profile { 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 +77,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, unsigned char *data); };