Most of this can be simply solved by a few #ifdef __KERNEL__. Is that really
that difficult? Most of the interesting features of Linux 2.1 are only
available in glibc 2.1 (and some are even not, e.g. netlink), and maintaining
the kernel headers in all applications too is just a major PITA.
The idea is:
All internal kernel stuff (prototypes, internal structures etc.) inside
#ifdef __KERNEL__
Everything else should be 'exported kernel API'
I don't think it is required that these files obey the POSIX/ANSI-C namespace
rules, it should just be possible to include them from userspace for Linux
specific modules.
If the people want POSIX/Unix95 compliance they should use glibc includes,
if they need Linux specific functions (and yes, that is sometimes needed)
they should be able to include (include, not copy!) kernel includes and deal
with the namespace issues themself (because they're outside POSIX/SU now
anyways)
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu