X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.h;h=f170881d390c4482a0e7076c923ce7b0044e54bf;hp=9a6ec79ee0ba1e03ec681d7eb923b337880e5608;hb=5bf1c1e3ff1616fda20c26cc3e3df7b807744c99;hpb=6e962b9a0991bf28571c7a143a532d83237c05af diff --git a/src/ftdi.h b/src/ftdi.h index 9a6ec79..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; @@ -480,9 +483,18 @@ extern "C" void ftdi_list_free(struct ftdi_device_list **devlist); void ftdi_list_free2(struct ftdi_device_list *devlist); int ftdi_usb_get_strings(struct ftdi_context *ftdi, struct libusb_device *dev, - char * manufacturer, int mnf_len, - char * description, int desc_len, - char * serial, int serial_len); + char *manufacturer, int mnf_len, + char *description, int desc_len, + char *serial, int serial_len); + int ftdi_usb_get_strings2(struct ftdi_context *ftdi, struct libusb_device *dev, + 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); @@ -491,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); @@ -521,6 +534,7 @@ extern "C" struct ftdi_transfer_control *ftdi_read_data_submit(struct ftdi_context *ftdi, unsigned char *buf, int size); int ftdi_transfer_data_done(struct ftdi_transfer_control *tc); + void ftdi_transfer_data_cancel(struct ftdi_transfer_control *tc, struct timeval * to); int ftdi_set_bitmode(struct ftdi_context *ftdi, unsigned char bitmask, unsigned char mode); int ftdi_disable_bitbang(struct ftdi_context *ftdi); @@ -533,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); @@ -563,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 }