X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=src%2Fftdi.h;h=e307824da67b7f45f9509137cd778e08633ba8d8;hp=debf053bb9735b3f7ab4448043a790426f616c31;hb=c9eeb2f12fe5632bab5b35766c1b6261e591872a;hpb=add00ad60e3d942f23233a0a25a39cebfced5c15 diff --git a/src/ftdi.h b/src/ftdi.h index debf053..e307824 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -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 @@ -265,7 +267,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; @@ -332,6 +334,8 @@ enum ftdi_eeprom_value CHANNEL_C_RS485 = 53, CHANNEL_D_RS485 = 54, RELEASE_NUMBER = 55, + EXTERNAL_OSCILLATOR= 56, + USER_DATA_ADDR = 57, }; /** @@ -478,9 +482,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); @@ -519,6 +532,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); @@ -551,6 +565,8 @@ extern "C" int ftdi_get_eeprom_buf(struct ftdi_context *ftdi, unsigned char * buf, int size); int ftdi_set_eeprom_buf(struct ftdi_context *ftdi, const unsigned char * buf, int size); + int ftdi_set_eeprom_user_data(struct ftdi_context *ftdi, const char * buf, int size); + int ftdi_read_eeprom(struct ftdi_context *ftdi); int ftdi_read_chipid(struct ftdi_context *ftdi, unsigned int *chipid); int ftdi_write_eeprom(struct ftdi_context *ftdi); @@ -559,7 +575,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 }