Use the PNP flag as seen with FTD2XX
[libftdi] / src / ftdi.h
index d42c8c2..4132d8a 100644 (file)
@@ -183,6 +183,8 @@ struct ftdi_eeprom
     /** remote wakeup */
     int remote_wakeup;
 
+    int is_not_pnp;
+
     /* Suspend on DBUS7 Low */
     int suspend_dbus7;
 
@@ -252,6 +254,7 @@ struct ftdi_eeprom
     int size;
     /* EEPROM Type 46 for 93xx46, 56 for 93xx56 and 66 for 93xx66*/
     int chip;
+    unsigned char buf[FTDI_MAX_EEPROM_SIZE];
 };
 
 /**
@@ -468,20 +471,16 @@ extern "C"
     int ftdi_set_event_char(struct ftdi_context *ftdi, unsigned char eventch, unsigned char enable);
     int ftdi_set_error_char(struct ftdi_context *ftdi, unsigned char errorch, unsigned char enable);
 
-    /* set eeprom size */
-    void ftdi_eeprom_setsize(struct ftdi_context *ftdi, struct ftdi_eeprom *eeprom, int size);
-
-    /* init and build eeprom from ftdi_eeprom structure */
-    void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi);
-    void ftdi_eeprom_free(struct ftdi_context *ftdi);
-    int ftdi_eeprom_build(struct ftdi_context *ftdi, unsigned char *output);
-    int ftdi_eeprom_decode(struct ftdi_context *ftdi, unsigned char *output, int size, int verbose);
+    /* init eeprom for the given FTDI type */
+    int ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, 
+                                  char * manufacturer, char *product, 
+                                  char * serial);
+    int ftdi_eeprom_build(struct ftdi_context *ftdi);
+    int ftdi_eeprom_decode(struct ftdi_context *ftdi, int verbose);
 
-    /* "eeprom" needs to be valid 128 byte eeprom (generated by the eeprom generator)
-       the checksum of the eeprom is valided */
-    int ftdi_read_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom);
+    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, unsigned char *eeprom);
+    int ftdi_write_eeprom(struct ftdi_context *ftdi);
     int ftdi_erase_eeprom(struct ftdi_context *ftdi);
 
     int ftdi_read_eeprom_location (struct ftdi_context *ftdi, int eeprom_addr, unsigned short *eeprom_val);