]> sigrok.org Git - libsigrok.git/blobdiff - libsigrok.h
demo: use driver-private storage for instances
[libsigrok.git] / libsigrok.h
index 9a6ec097efdf0d6a61e3d3483bef1240d3f4820a..eda16c211eee4b723cb527a680ffe90b5ed6f885 100644 (file)
@@ -194,7 +194,7 @@ struct sr_datafeed_analog {
 struct sr_input {
        struct sr_input_format *format;
        GHashTable *param;
-       struct sr_dev *vdev;
+       struct sr_dev_inst *sdi;
        void *internal;
 };
 
@@ -208,7 +208,7 @@ struct sr_input_format {
 
 struct sr_output {
        struct sr_output_format *format;
-       struct sr_dev *dev;
+       struct sr_dev_inst *sdi;
        char *param;
        void *internal;
 };
@@ -251,6 +251,7 @@ struct sr_dev {
 
 enum {
        SR_PROBE_LOGIC,
+       SR_PROBE_ANALOG,
 };
 
 struct sr_probe {
@@ -435,9 +436,6 @@ enum {
 
 /* 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. */
@@ -490,20 +488,19 @@ struct sr_dev_driver {
        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) (const struct sr_dev_inst *sdi, 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_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 {