libftdi Archives

Subject: Re: stable ABI

From: Uwe Bonnes <bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Cc: Mike Frysinger <vapier@xxxxxxxxxx>
Date: Sun, 26 Sep 2010 12:57:27 +0200
>>>>> "Mike" == Mike Frysinger <vapier@xxxxxxxxxx> writes:

    Mike> On Friday, September 17, 2010 15:51:35 Michael Plante wrote:
    >> Mike Frysinger wrote: >> then people may make all the changes they
    >> want to the structure >> without disrupting the ABI.
    >> 
    >> But there are libftdi binaries floating around that still do
    >> encourage transparent access to elements of the data structure, and
    >> there are older programs that still touch those.  Even if we now make
    >> the structure opaque, won't moving those elements around break the
    >> older programs?

    Mike> we're already breaking them.  we might as well break them once
    Mike> properly so that the future is stable free.  -mike

For the EEPROM side, what about simple enumerating the available options in
the public header, move struct ftdi_eeprom to a private header and have 
functions 
int res = Get_EEPROM_Value(struct ftdi_context *, char * Option, int * value);
int res = Set_EEPROM_Value(struct ftdi_context *, char * Option, const int 
value);
value);

The Option string is compared against the available options, if no match is
found, an error returned and else the value fetched or set.

A similar thing could be done with user settable options in ftdi_context and
with ftdi_context opaque we should have a stable ABI.

Any thoughts
-- 
Uwe Bonnes                bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread