X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flibsigrok-internal.h;h=b4b32f23ac2a6df21edd845dabe9dc8a3b2e3efe;hb=1190c65397e8246bd3b437006bacc5b7dc9d2bde;hp=f3f6a0269f1b63c02a0db48f39223a32a7a52781;hpb=f3f19d1131025b68d29a11273b627c83d748e7ea;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index f3f6a026..b4b32f23 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -174,14 +174,15 @@ #endif struct sr_context { + struct sr_dev_driver **driver_list; #ifdef HAVE_LIBUSB_1_0 libusb_context *libusb_ctx; gboolean usb_source_present; #ifdef _WIN32 GThread *usb_thread; gboolean usb_thread_running; - GMutex usb_mutex; - HANDLE usb_event; + HANDLE usb_wait_request_event; + HANDLE usb_wait_complete_event; GPollFD usb_pollfd; sr_receive_data_callback usb_cb; void *usb_cb_data; @@ -645,9 +646,11 @@ SR_PRIV void sr_usbtmc_dev_inst_free(struct sr_usbtmc_dev_inst *usbtmc); /*--- hwdriver.c ------------------------------------------------------------*/ +extern SR_PRIV struct sr_dev_driver **drivers_lists[]; + SR_PRIV const GVariantType *sr_variant_type_get(int datatype); SR_PRIV int sr_variant_type_check(uint32_t key, GVariant *data); -SR_PRIV void sr_hw_cleanup_all(void); +SR_PRIV void sr_hw_cleanup_all(const struct sr_context *ctx); SR_PRIV struct sr_config *sr_config_new(uint32_t key, GVariant *data); SR_PRIV void sr_config_free(struct sr_config *src); SR_PRIV int sr_source_remove(int fd); @@ -663,6 +666,8 @@ SR_PRIV int sr_source_add_channel(GIOChannel *channel, int events, int timeout, /*--- session.c -------------------------------------------------------------*/ struct sr_session { + /** Context this session exists in. */ + struct sr_context *ctx; /** List of struct sr_dev_inst pointers. */ GSList *devs; /** List of struct sr_dev_inst pointers owned by this session. */