]> sigrok.org Git - libsigrok.git/blobdiff - libsigrok.h
sr: add conn to sdi, for storing a ptr to device-specific connection info
[libsigrok.git] / libsigrok.h
index fba6c9ccf2910c2c86f342480dcf4ec1aba2907b..069e446fb1c839010b4c2f5ebcbc97b9d5243b39 100644 (file)
@@ -70,6 +70,7 @@ enum {
        SR_ERR_ARG        = -3, /**< Function argument error. */
        SR_ERR_BUG        = -4, /**< Errors hinting at internal bugs. */
        SR_ERR_SAMPLERATE = -5, /**< Incorrect samplerate. */
+       SR_ERR_NA         = -6, /**< Not applicable. */
 };
 
 #define SR_MAX_NUM_PROBES    64 /* Limited by uint64_t. */
@@ -703,6 +704,7 @@ struct sr_dev_inst {
        char *model;
        char *version;
        GSList *probes;
+       void *conn;
        void *priv;
 };
 
@@ -760,7 +762,7 @@ struct sr_dev_driver {
 struct sr_session {
        /** List of struct sr_dev pointers. */
        GSList *devs;
-       /** List of sr_receive_data_callback_t items. */
+       /** List of struct datafeed_callback pointers. */
        GSList *datafeed_callbacks;
        GTimeVal starttime;
 
@@ -775,6 +777,14 @@ struct sr_session {
        struct source *sources;
        GPollFD *pollfds;
        int source_timeout;
+
+       /*
+        * These are our synchronization primitives for stopping the session in
+        * an async fashion. We need to make sure the session is stopped from
+        * within the session thread itself.
+        */
+       GMutex stop_mutex;
+       gboolean abort_session;
 };
 
 #include "proto.h"