]> sigrok.org Git - libsigrok.git/blobdiff - sigrok-internal.h
sr: Eliminate usb/serial instances from API.
[libsigrok.git] / sigrok-internal.h
index 4ea5d475c39d87973ced6c864b44961d9f0228fb..4ec9339c2900e90cc9866258af85d27455445f64 100644 (file)
@@ -22,6 +22,9 @@
 
 #include <stdarg.h>
 #include <glib.h>
+#ifdef HAVE_LIBUSB_1_0
+#include <libusb.h>
+#endif
 
 /*--- Macros ----------------------------------------------------------------*/
 
 
 int load_hwplugins(void);
 
+#ifdef HAVE_LIBUSB_1_0
+struct sr_usb_device_instance {
+       uint8_t bus;
+       uint8_t address;
+       struct libusb_device_handle *devhdl;
+};
+#endif
+
+struct sr_serial_device_instance {
+       char *port;
+       int fd;
+};
+
+#ifdef HAVE_LIBUSB_1_0
+/* USB-specific instances */
+struct sr_usb_device_instance *sr_usb_device_instance_new(uint8_t bus,
+               uint8_t address, struct libusb_device_handle *hdl);
+void sr_usb_device_instance_free(struct sr_usb_device_instance *usb);
+#endif
+
+/* Serial-specific instances */
+struct sr_serial_device_instance *sr_serial_device_instance_new(
+                                       const char *port, int fd);
+void sr_serial_device_instance_free(struct sr_serial_device_instance *serial);
+
 /*--- log.c -----------------------------------------------------------------*/
 
 int sr_log(int loglevel, const char *format, ...);