X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.h;h=f170881d390c4482a0e7076c923ce7b0044e54bf;hp=ca38bbe6c382c2fc8ab8c3958d4afe53e93033a5;hb=5bf1c1e3ff1616fda20c26cc3e3df7b807744c99;hpb=15079e78d3cbca7e33bd7f421c00ada20599e495 diff --git a/src/ftdi.h b/src/ftdi.h index ca38bbe..f170881 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -2,7 +2,7 @@ ftdi.h - description ------------------- begin : Fri Apr 4 2003 - copyright : (C) 2003-2014 by Intra2net AG and the libftdi developers + copyright : (C) 2003-2017 by Intra2net AG and the libftdi developers email : opensource@intra2net.com ***************************************************************************/ @@ -18,7 +18,9 @@ #define __libftdi_h__ #include +#ifndef _WIN32 #include +#endif /* 'interface' might be defined as a macro on Windows, so we need to * undefine it so as not to break the current libftdi API, because @@ -82,7 +84,8 @@ enum ftdi_interface enum ftdi_module_detach_mode { AUTO_DETACH_SIO_MODULE = 0, - DONT_DETACH_SIO_MODULE = 1 + DONT_DETACH_SIO_MODULE = 1, + AUTO_DETACH_REATACH_SIO_MODULE = 2 }; /* Shifting commands IN MPSSE Mode*/ @@ -265,7 +268,7 @@ struct ftdi_context struct ftdi_eeprom *eeprom; /** String representation of last error */ - char *error_str; + const char *error_str; /** Defines behavior in case a kernel module is already attached to the device */ enum ftdi_module_detach_mode module_detach_mode; @@ -487,6 +490,11 @@ extern "C" char *manufacturer, int mnf_len, char *description, int desc_len, char *serial, int serial_len); + + int ftdi_eeprom_get_strings(struct ftdi_context *ftdi, + char *manufacturer, int mnf_len, + char *product, int prod_len, + char *serial, int serial_len); int ftdi_eeprom_set_strings(struct ftdi_context *ftdi, char * manufacturer, char * product, char * serial); @@ -495,6 +503,7 @@ extern "C" const char* description, const char* serial); int ftdi_usb_open_desc_index(struct ftdi_context *ftdi, int vendor, int product, const char* description, const char* serial, unsigned int index); + int ftdi_usb_open_bus_addr(struct ftdi_context *ftdi, uint8_t bus, uint8_t addr); int ftdi_usb_open_dev(struct ftdi_context *ftdi, struct libusb_device *dev); int ftdi_usb_open_string(struct ftdi_context *ftdi, const char* description); @@ -538,6 +547,7 @@ extern "C" /* flow control */ int ftdi_setflowctrl(struct ftdi_context *ftdi, int flowctrl); + int ftdi_setflowctrl_xonxoff(struct ftdi_context *ftdi, unsigned char xon, unsigned char xoff); int ftdi_setdtr_rts(struct ftdi_context *ftdi, int dtr, int rts); int ftdi_setdtr(struct ftdi_context *ftdi, int state); int ftdi_setrts(struct ftdi_context *ftdi, int state); @@ -568,7 +578,7 @@ extern "C" int ftdi_read_eeprom_location (struct ftdi_context *ftdi, int eeprom_addr, unsigned short *eeprom_val); int ftdi_write_eeprom_location(struct ftdi_context *ftdi, int eeprom_addr, unsigned short eeprom_val); - char *ftdi_get_error_string(struct ftdi_context *ftdi); + const char *ftdi_get_error_string(struct ftdi_context *ftdi); #ifdef __cplusplus }