Messages in this thread | | | Date | Sat, 3 Sep 2005 00:41:24 -0600 | From | Erik Andersen <> | Subject | Re: [RFC] Splitting out kernel<=>userspace ABI headers |
| |
On Fri Sep 02, 2005 at 10:53:19PM -0700, H. Peter Anvin wrote: > Erik Andersen wrote: > >On Fri Sep 02, 2005 at 10:22:20PM -0700, H. Peter Anvin wrote: > > > >>Exportable types need to be double-underscore types, because the header > >>files in user space that would include them can generally not include > >><stdint.h>. > > > > > >I'm not talking about kernel headers that have to worry about > >eventually being included in user space headers. Those nearly > >all live in include/asm. I'm talking about the kernel headers > >that define how userspace is supposed to interface with > >particular kernel drivers or hardware. Headers such as > >linux/cdrom.h and linux/loop.h and linux/fb.h. > > > > What are you going to do with them if you're not going to include them > in userspace?!!! > > If you're proposing one policy for linux/loop.h and one for sys/stat.h, > I would have to classify that as insane. Everything that gets exported > to userspace should behave the same way, please.
That is certainly not what I was proposing. Why are you bringing sys/stat.h into this? The contents of sys/stat.h are entirely up to SUSv3 and the C library to worry about. Nobody has proposed mucking with that. I dunno about your C library, but mine doesn't include linux/* header files (not even sys/stat.h). And I'd really like to fix uClibc to not use any asm/* either, since much of it is entirely unsuitable for user space.
I am proposing a single consistant policy for all of linux/* such that all linux/* headers that need integer types of a specific size shall #include unistd.h and use ISO C99 types rather that the ad-hoc kernel types they now use.
The policy has _long_ been that user space must never include linux/* header files. Since we are now proposing a project to reverse this policy, the long standing policy making linux/* verboten now leaves us completely free to do pretty much anything with linux/*. And what I want is for linux/* to use the shiny ISO C99 types.
-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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |