]> sigrok.org Git - libsigrok.git/blobdiff - sigrok-internal.h
sr: Eliminate usb/serial instances from API.
[libsigrok.git] / sigrok-internal.h
index b30d417dd1cda8e8154e020fda89708a2d2bdf30..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
+#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
+#endif
+
+#ifndef ARRAY_AND_SIZE
+#define ARRAY_AND_SIZE(a) (a), ARRAY_SIZE(a)
+#endif
+
+/* Size of a datastore chunk in units */
+#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);
@@ -37,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