Hi, Mixing user domain and kernel domain stuff is a really bad Idea, but you don't have to take just my word for it. I already have posted the FAQ once today, and I don't want to do so again: Please read the libc FAQ (or email me and I will send you a copy).
The bottom line is: if a program needs kernel header, the chances are that the program, or the design of the program, is broken. (It is not as though the kernel data sructures change every day [oh the good 99.14 days]). If you are talking about the few that are really that version dependent, then they are compatible with just *one* kernel version, and have to abort if *any* other version is running. >>"Bernd" == Bernd Eckenfels <[EMAIL PROTECTED]> writes: Bernd> Hello, >> My contention is: if we are talking about a program that needs >> kernel headers, and can't be satisfied with the headers included in >> the libc5-dev package (which corresponds to 2.0.29, or something), >> that means we are talking about a program that needs some very >> specific kernel data structures, and can't do with the definition >> of that data structure included in the libc headers. Bernd> I think libc6 will rebuild the .../sys/ headers with scripts Bernd> from crrent kernel source. If even libc6 depends on this, why Bernd> not use ith with libc5. Please re-read the FAQ. The why is answered there. Bernd> Simple Example: Bernd> /* -- new Socket ioctl included in kernels 2.1.20++ -- */ >> define SIOC_BLAFASEL 5 Read Linus's example. Bernd> If I want to use new feature BLAFASEL i will have to issue an Bernd> ioctl 5 to the kernel. If I hardwire IOCTL 5 in my program i Bernd> will be able to compile it independend from kernels versions <= Bernd> 2.1.20, but i wont be able to be sure that >= 2.1.21 will Bernd> redefine the ioctl, or even worse, remove it. Its impossible to Bernd> refuse to run on 2.1.21++ Kernels, since I would havbe to Bernd> release new tools every day. Best thing i do is: Bernd> use BLAFASEL if it is defined, dontuse it if not. Then the Bernd> program will compile in <2.1.20 (unable to use the new feature) Bernd> and compile with 2.1.20 (enabled to use the feature as long as Bernd> it is there, even after renumbering). Thats what the headers Bernd> are for. So, you compile it on your machine on 2.1.20. I try to use this. Should it run? What version am I using? or is the user to recompile (!!) it for every kernel upgrade? Bernd> BTW: it seems to be very easy to port net-tools for exapmle to Bernd> libc6, but the reason fr this is, that the headers will include Bernd> all the kernel dependend stuff in a version depending Bernd> manner. (only the release cycle of libc6 has to be more faster Bernd> to include all new features from new kernels). That again is retrogessive. manoj -- Faith in a holy cause is to a considerable extent a substitute for lost faith in ourselves. -- Eric Hoffer Manoj Srivastava <url:mailto:[EMAIL PROTECTED]> Mobile, Alabama USA <url:http://www.datasync.com/%7Esrivasta/> -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .