X extension interface && LSB

Wichmann, Mats D mats.d.wichmann at intel.com
Mon Jul 23 09:12:54 PDT 2007


Backgrounder:  the LSB specification doesn't
necessarily include all the interfaces in a given
library.  Some judgement is applied to eliminate
interfaces that were not meant to exported, that
are not useful to applications, and/or which
maybe expose too much implementation detail such
that they may not be as stable or standard-appropriate
as one might like.

In libXext, the following interfaces were excluded
from the LSB, but are giving us trouble because it
turns out a bunch of applications actually include
calls to them:

Xext{Create,Destroy}Extension
Xext{Add,Remove,Find}Display
XSetExtensionErrorHandler
XMissingExtension

I've kicked this around a bit with Stuart Anderson,
who feels:

"My problem with these, is that they expose too many 
internal data structures. If someone would define & 
implement the function needed to provide an API for 
extension writers that hides the internal structures,
then that would be suitable for inclusion. "

and 

"it needs to be fixed upstream first, and done in such
a way that the old interfaces become opaque (like the
Display structure did in X11R5) so people are forced 
to use the new interfaces.

I haven't even looked to see how using an XCB based 
Xlib might affect this area."


With that, we're kind of stuck between two poles:
a strongly held opinion not to include these and
some strongly held opinions that these are really
needed and leaving them out is a problem.

I'm hoping to get some more comment on this so I
can figure out how we should proceed.

Thanks,

Mats



More information about the xorg mailing list