#include <usb.h>
+enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2 };
+
struct ftdi_context {
// USB specific
struct usb_dev_handle *usb_dev;
int usb_write_timeout;
// FTDI specific
+ enum ftdi_chip_type type;
int baudrate;
unsigned char bitbang_enabled;
unsigned char *readbuffer;
void ftdi_deinit(struct ftdi_context *ftdi);
void ftdi_set_usbdev (struct ftdi_context *ftdi, usb_dev_handle *usbdev);
int ftdi_usb_open(struct ftdi_context *ftdi, int vendor, int product);
+ int ftdi_usb_open_desc(struct ftdi_context *ftdi, int vendor, int product,
+ const char* description, const char* serial);
int ftdi_usb_close(struct ftdi_context *ftdi);
int ftdi_usb_reset(struct ftdi_context *ftdi);
int ftdi_usb_purge_buffers(struct ftdi_context *ftdi);