]> sigrok.org Git - libsigrok.git/blobdiff - sigrok-internal.h
sr: Eliminate usb/serial instances from API.
[libsigrok.git] / sigrok-internal.h
index 4aeae18e4cdd904b0edb97517b6dcb24c79b3f96..4ec9339c2900e90cc9866258af85d27455445f64 100644 (file)
 #ifndef SIGROK_SIGROK_INTERNAL_H
 #define SIGROK_SIGROK_INTERNAL_H
 
+#include <stdarg.h>
+#include <glib.h>
+#ifdef HAVE_LIBUSB_1_0
+#include <libusb.h>
+#endif
+
 /*--- Macros ----------------------------------------------------------------*/
 
 #ifndef ARRAY_SIZE
 #endif
 
 /* Size of a datastore chunk in units */
-#define DATASTORE_CHUNKSIZE 512000
+#define DATASTORE_CHUNKSIZE (512 * 1024)
 
 /*--- hwplugin.c ------------------------------------------------------------*/
 
 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, ...);
+int sr_spew(const char *format, ...);
+int sr_dbg(const char *format, ...);
+int sr_info(const char *format, ...);
+int sr_warn(const char *format, ...);
+int sr_err(const char *format, ...);
+
 /*--- hardware/common/serial.c ----------------------------------------------*/
 
 GSList *list_serial_ports(void);
@@ -54,7 +94,7 @@ int serial_set_params(int fd, int speed, int bits, int parity, int stopbits,
 
 #ifdef HAVE_LIBUSB_1_0
 int ezusb_reset(struct libusb_device_handle *hdl, int set_clear);
-int ezusb_install_firmware(libusb_device_handle *hdl, char *filename);
+int ezusb_install_firmware(libusb_device_handle *hdl, const char *filename);
 int ezusb_upload_firmware(libusb_device *dev, int configuration,
                          const char *filename);
 #endif