Merge remote-tracking branch 'origin/get-library-version'
[libftdi] / src / ftdi.h
index 20ecc26..759e61b 100644 (file)
@@ -249,7 +249,7 @@ struct ftdi_eeprom
 
     /* Special function of FT232R/FT232H devices (and possibly others as well) */
     /** CBUS pin function. See CBUS_xxx defines. */
-    int cbus_function[9];
+    int cbus_function[10];
     /** Select hight current drive on R devices. */
     int high_current;
     /** Select hight current drive on A channel (2232C */
@@ -498,6 +498,23 @@ typedef struct
 typedef int (FTDIStreamCallback)(uint8_t *buffer, int length,
                                  FTDIProgressInfo *progress, void *userdata);
 
+/**
+ * Provide libftdi version information
+ * major: Library major version
+ * minor: Library minor version
+ * micro: Currently unused, ight get used for hotfixes.
+ * version_str: Version as (static) string
+ * snapshot_str: Git snapshot version if known. Otherwise "unknown" or empty string.
+*/
+struct ftdi_version_info
+{
+    int major;
+    int minor;
+    int micro;
+    const char *version_str;
+    const char *snapshot_str;
+};
+
 
 #ifdef __cplusplus
 extern "C"
@@ -512,6 +529,8 @@ extern "C"
     void ftdi_free(struct ftdi_context *ftdi);
     void ftdi_set_usbdev (struct ftdi_context *ftdi, struct libusb_device_handle *usbdev);
 
+    struct ftdi_version_info ftdi_get_library_version();
+
     int ftdi_usb_find_all(struct ftdi_context *ftdi, struct ftdi_device_list **devlist,
                           int vendor, int product);
     void ftdi_list_free(struct ftdi_device_list **devlist);