Messages in this thread | | | From | Ulrich Drepper <> | Date | Mon, 30 Nov 2009 09:43:49 -0800 | Subject | Re: using kernel headers in libc headers |
| |
On Mon, Nov 30, 2009 at 09:01, H. Peter Anvin <hpa@zytor.com> wrote: > A better way is to factor out subsets; if <linux/sched.h> has too many > things, we can break out the POSIX parts into <linux/sched_posix.h> or > (certainly better if we have more than one of these) > <linux/sched/posix.h> which can also be included by <linux/sched.h>.
This is at least as undesirable.
First, there can be several different of those. E.g., there are different levels of POSIX compliance and the number of growing. There are also conditions like
if POSIX version > 2001012 || GNU source
How do you express this?
Second, it makes it hard to impossible for developers to use the headers as part of the system documentation. Many people (me included) look at headers and the included comments. With your scheme the set of definitions (e.g., SCHED_* macros) might be spread out over several different headers. Currently they are all nicely group (in the kernel and libc headers) and people can see what is available.
None of the #ifdefs should interfere with kernel compilation. It can be easily arranged so that when compiling the kernel all these macros are automatically set.
| |