From: Uwe Bonnes Date: Tue, 14 Sep 2010 13:21:16 +0000 (+0200) Subject: Document ftdi_eeprom_initdefaults Add return value to ftdi_eeprom_initdefaults X-Git-Tag: v1.0rc1~133^2~64 X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=commitdiff_plain;h=f14f84d3ab33c785903e5b4fb615076f9cbcefad Document ftdi_eeprom_initdefaults Add return value to ftdi_eeprom_initdefaults --- diff --git a/ftdipp/ftdi.cpp b/ftdipp/ftdi.cpp index 357393c..2754033 100644 --- a/ftdipp/ftdi.cpp +++ b/ftdipp/ftdi.cpp @@ -393,7 +393,7 @@ Eeprom::~Eeprom() { } -void Eeprom::init_defaults(char* manufacturer, char *product, char * serial) +int Eeprom::init_defaults(char* manufacturer, char *product, char * serial) { return ftdi_eeprom_initdefaults(d->context, manufacturer, product, serial); } diff --git a/ftdipp/ftdi.hpp b/ftdipp/ftdi.hpp index d1dec92..2ac4bc2 100644 --- a/ftdipp/ftdi.hpp +++ b/ftdipp/ftdi.hpp @@ -152,9 +152,7 @@ public: Eeprom(Context* parent); ~Eeprom(); - void init_defaults(char *manufacturer, char* product, char * serial); - void set_size(int size); - int size(unsigned char *eeprom, int maxsize); + int init_defaults(char *manufacturer, char* product, char * serial); int chip_id(unsigned int *chipid); int build(unsigned char *output); diff --git a/src/ftdi.c b/src/ftdi.c index 409e294..3daea74 100644 --- a/src/ftdi.c +++ b/src/ftdi.c @@ -2180,18 +2180,25 @@ int ftdi_set_error_char(struct ftdi_context *ftdi, /** Init eeprom with default values. \param ftdi pointer to ftdi_context - + \param manufacturer String to use as Manufacturer + \param product String to use as Product description + \param serial String to use as Serial number description + + \retval 0: all fine + \retval -1: No struct ftdi_context + \retval -2: No struct ftdi_eeprom */ -void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, +int ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, char * product, char * serial) { struct ftdi_eeprom *eeprom; if (ftdi == NULL) - return; + ftdi_error_return(-1, "No struct ftdi_context"); + if (ftdi->eeprom == NULL) - return; + ftdi_error_return(-2,"No struct ftdi_eeprom"); eeprom = ftdi->eeprom; memset(eeprom, 0, sizeof(struct ftdi_eeprom)); @@ -2251,6 +2258,7 @@ void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, } else eeprom->size = -1; + return 0; } /** diff --git a/src/ftdi.h b/src/ftdi.h index df754e3..94d16dc 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -469,8 +469,8 @@ 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); - /* init and build eeprom from ftdi_eeprom structure */ - void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, + /* 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);