Re: [PATCH] Fix XFree86 build

From: Andries . Brouwer
Date: Fri Nov 14 2003 - 16:18:00 EST


--- a/include/linux/kd.h 29 Jul 2003 17:02:13 -0000 1.1
+++ b/include/linux/kd.h 14 Nov 2003 20:18:38 -0000

+#ifdef __KERNEL__

>From maintaining things like mount and kbd I can tell you
that it is hopeless to try and have user space source that
is source compatible with all kernel source versions.

Today the rule is "avoid including kernel includes".
Thus, one has to write

/* from <linux/kd.h> */
struct kbd_repeat {
int delay; /* in msec; <= 0: don't change */
int period; /* in msec; <= 0: don't change */
};

or so, repeating the kernel include data in the user source.

Usually this is not too bad. It only gets really messy if the
kernel definitions are architecture-dependent.

On the other hand, the kernel is fairly good at staying
binary compatible. Thus, such copies in user space code
do not harm so much - once copied, they tend to remain correct.

Of course everybody hates this situation, and several people
have proposed action to remedy. I think you were one.
I did too, and got half a dozen replies from people who would like to
help constructing a kernel include hierarchy suitable for user space.

But we don't have it yet.

Andries
-
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/