[RFC][PATCH 0/2] KABI example conversion and cleanup

Arjan van de Ven arjan at infradead.org
Sun Mar 26 19:29:55 CEST 2006


On Sun, 2006-03-26 at 19:24 +0200, Avi Kivity wrote:
> Kyle Moffett wrote:
> > On Mar 26, 2006, at 08:29:49, Avi Kivity wrote:
> >> Kyle Moffett wrote:
> >>> Well I guess you could call it UABI, but that might also imply that 
> >>> it's _userspace_ that defines the interface, instead of the kernel.  
> >>> Since the headers themselves are rather tightly coupled with the 
> >>> kernel, I think I'll stick with the KABI name for now (unless 
> >>> somebody can come up with a better one, of course :-D).
> >>
> >> How about __linux, or __linux_abi? There are ABIs for other 
> >> components, and other OSes. Linux is the name of the project after all.
> >
> > The other thing that I quickly noticed while writing up the patches is 
> > that it's kind of tedious typing __kabi_ over and over again.  I 
> > actually did first try with __linux_abi_ but the typing effort and 
> > finger cramps made me give up on that really quickly.
> #define _LA(x) __linux_abi_##x
> 
> struct _LA(whatever) {
>     int foo;
>     int bar;
> };
> 
> struct _LA(another) {
>     ...
> };

this is a good sign that this is all very over designed :)

namespace pollution is perhaps evil, but we also should not overreact.
Especially for struct names. *IF* they are in a "narrow enough" header,
the user of the header knows what he is doing, and accepts these to be
in his namespace.

The problem is things like u64 etc that is VERY common in all headers,
but then again __u64 etc are just fine, history has proven that already.




More information about the llh-discuss mailing list