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

Kyle Moffett
2006-03-26T13:14:57Z

On Mar 26, 2006, at 07:59:26, Martin Mares wrote:
> Hello!
>
>> As a result, I kinda want to stay away from anything that remotely
>> looks like a conflicting namespace. Using such a unique namespace
>> means we can also safely do this if necessary (Since you can't
>> "typedef struct foo struct bar"):
>>
>> kabi/foo.h:
>> struct __kabi_foo {
>> int x;
>> int y;
>> };
>>
>> linux/foo.h:
>> #define __kabi_foo foo
>> #include <kabi/foo.h>
>
> This looks very fragile -- <kabi/foo.h> can be included earlier by
> another header.

It _is_ fragile, but for a number of POSIX-defined structs that's
actually the only way to do it without duplicating the data structure
in entirety, unless the GCC people can implement a "typedef struct
foo struct bar;" Hopefully it would be a relatively rare occurrence
and carefully thought out in any case. We may end up with some
duplication regardless :-\.

Cheers,
Kyle Moffett