Re: [RFC][PATCH 1/2] Create initial kernel ABI header infrastructure

Pavel Machek
2006-04-01T17:27:47Z

Hi!

> I plan to add a lot of other definitions to this file
> later on. For example different architectures have
> different notions of what a __kernel_ino_t is (unsigned
> int versus unsigned long). I may rename this file as
> types.h, but from looking through the code I figure I'll
> have enough general purpose declarations about "This
> architecture has blah" that a separate stddef.h file
> will be worth it.
>
> >(and... why do you prefix these with _KABI? that's a
> >mistake imo. Don't bother with that. Really. Either
> >these need exporting to userspace, but then either use
> >__ as prefix or don't use a prefix. But KABI.. No.)
>
> According to the various standards all symbols beginning
> with __ are reserved for "The Implementation", including
> the compiler, the standard library, the kernel, etc. In
> order to avoid clashing with any/all of those, I picked
> the __KABI_ and __kabi_ prefixes for uniqueness. In
> theory I could just use __, but there are problems with
> that too. For example, note how the current compiler.h
> files redefine __always_inline to mean something kinda
> different. The GCC manual says we should be able to
> write this:

__KABI_ everywhere will just make your headers totally unreadable.
Please don't do that.

--
Thanks, Sharp!