#include "config.h"
#include <glib.h>
+#ifdef HAVE_LIBHIDAPI
+#include <hidapi.h>
+#endif
#ifdef HAVE_LIBSERIALPORT
#include <libserialport.h>
#endif
#include <libusb.h>
#endif
#include <stdarg.h>
+#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
int parity_bits;
int stop_bits;
} comm_params;
+ GString *rcv_buffer;
#ifdef HAVE_LIBSERIALPORT
/** libserialport port handle */
struct sp_port *sp_data;
#endif
+#ifdef HAVE_LIBHIDAPI
+ /* TODO */
+ hid_device *hid_dev;
+#endif
};
#endif
SR_PRIV GSList *sr_serial_find_usb(uint16_t vendor_id, uint16_t product_id);
SR_PRIV int serial_timeout(struct sr_serial_dev_inst *port, int num_bytes);
+SR_PRIV void sr_ser_discard_queued_data(struct sr_serial_dev_inst *serial);
+SR_PRIV size_t sr_ser_has_queued_data(struct sr_serial_dev_inst *serial);
+SR_PRIV void sr_ser_queue_rx_data(struct sr_serial_dev_inst *serial,
+ const uint8_t *data, size_t len);
+SR_PRIV size_t sr_ser_unqueue_rx_data(struct sr_serial_dev_inst *serial,
+ uint8_t *data, size_t len);
+
struct ser_lib_functions {
int (*open)(struct sr_serial_dev_inst *serial, int flags);
int (*close)(struct sr_serial_dev_inst *serial);
size_t (*get_rx_avail)(struct sr_serial_dev_inst *serial);
};
extern SR_PRIV struct ser_lib_functions *ser_lib_funcs_libsp;
+SR_PRIV int ser_name_is_hid(struct sr_serial_dev_inst *serial);
+extern SR_PRIV struct ser_lib_functions *ser_lib_funcs_hid;
#endif
/*--- ezusb.c ---------------------------------------------------------------*/