Yes. It's sometimes referenced as the "ABI header" project, and is
the only way out of this mess.
"Copy and cleanup" is not maintainable, so then you end up having to
make changes in multiple places every time. Not a good idea. Thus,
what we need is ABI headers, which can be included from both kernel
and userspace. This is different from the current situation, in which
userspace includes random kernel headers and hopes someone has put
#ifdef __KERNEL__ in all the right places. Not sustainable.
Constructing those ABI headers is going to take a lot of effort. For
example <linux/abi/types.h> shouldn't export dev_t, it should export
something like __kernel_dev64_t, and the structures that uses these
things should be adjusted accordingly. The user-space library might
include this from <sys/types.h> and have typedef __kernel_dev64_t
dev_t, but that's user-space policy.
-hpa
-- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64 - 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/