X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=069e446fb1c839010b4c2f5ebcbc97b9d5243b39;hb=ac070c7744471350e38836a58dd565750d96ce7f;hp=fba6c9ccf2910c2c86f342480dcf4ec1aba2907b;hpb=2efa699fda95b6d2d722d41407ca741cdbfe709c;p=libsigrok.git diff --git a/libsigrok.h b/libsigrok.h index fba6c9cc..069e446f 100644 --- a/libsigrok.h +++ b/libsigrok.h @@ -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"