Re: [RFC] Splitting out kernel<=>userspace ABI headers

From: Erik Andersen
Date: Fri Sep 02 2005 - 23:29:23 EST


On Sat Sep 03, 2005 at 12:07:58AM +0000, H. Peter Anvin wrote:
> Followup to: <20050902235833.GA28238@xxxxxxxxxxxx>
> By author: Erik Andersen <andersen@xxxxxxxxxxxx>
> In newsgroup: linux.dev.kernel
> >
> > <uClibc maintainer hat on>
> > That would be wonderful.
> > </off>
> >
> > It would be especially nice if everything targeting user space
> > were to use only all the nice standard ISO C99 types as defined
> > in include/stdint.h such as uint32_t and friends...
> >
>
> Absolutely not. This would be a POSIX namespace violation; they
> *must* use double-underscore types.

I assume you are worried about the stuff under asm that ends up
being included by nearly every header file in the world. Of
course asm must use double-underscore types. But the thing is,
the vast majority of the kernel headers live under
linux/include/linux/ and do not use double-underscore types, they
use kernel specific, non-underscored types such as s8, u32, etc.
My copy of IEEE 1003.1 and my copy of ISO/IEC 9899:1999 both fail
to prohibit using the shiny new ISO C99 type for the various
#include <linux/*> header files, which is what I was suggesting.

The world would be so much nicer a place if user space were free
to #include linux/* header files rather than keeping a
per-project private copy of all kernel structs of interest. And
where these kernel headers would #include stdint.h and define
their stucts in terms of ISO C99 types. I see nothing at all in
the standards preventing such a change,

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/