libftdi Archives

Subject: Re: merging of libusb-1.0 support into mainline

From: Mike Frysinger <vapier@xxxxxxxxxx>
To: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx>
Cc: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Fri, 3 Sep 2010 15:22:03 -0400
On Friday, September 03, 2010 10:55:01 Thomas Jarosch wrote:
> On Thursday, 2. September 2010 20:58:59 you wrote:
> > > The "ftdi_context" structure was expanded in libftdi-1.x,
> > > IMHO this won't be ABI compatible.
> > 
> > yes & no.  i see the items were added to the end -- good.  and the
> > allocation is always handled by libftdi ?  so users will not be doing
> > malloc(struct ftdi_context) but rather ftdi_new() ?
> 
> Please look again at ftdi_context, a pointer variable was
> added in the middle of the structure.

i guess i'm looking at an older snapshot that does not have this (and why i 
started this thread in the first place ... local snaps suck).  there's no 
reason why the structure members have to be at the start of a structure, and 
for ABI compatibility, adding new members should always be at the end.

i do however see a change in the ftdi_eeprom structure in the main ftdi tree 
already (completely ignoring libftdi-1.x) with commit 
2ff8b87c6e8ec258b705240b03cc2100b50c16bf.  so do people not care about ABI 
stability ?  is this whole conversation a waste of time if libftdi has never 
been compatible ?

> Also I guess most people don't do ftdi_new(), so IMHO it's not ABI
> compatible.

if the new members only get used when someone enables async support, and doing 
that requires using new functions, then it is ABI compat
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Current Thread