Re: Why 'linux/fs.h' cannot be included? I *can*...

DervishD (raul@viadomus.com)
Wed, 30 Jan 2002 13:07:37 +0100


Hi Jeff :)

>> Given the number of user-space apps that needs ioctl definitions
>> and things like those (that are supposed not to change easily), those
>> definitions should go in user-includable headers... IMHO.
>>
>> Fortunately, we have some of them in libc headers now.
>The policy is, never ever include kernel headers from userspace.

I know, but sometimes it is just impossible (when they aren't
appropriate glibc headers, for example). In fact, all this question
arose because I'm coding an 'ioctl' command line interface, so you
can send any 'documented' ioctl to any device. And, since I'm going
to start with block devices, I need linux/fs.h.

The problem is that I don't want to copy the definitions I need
from linux/fs.h, because this will lead to problems if those
definitions change. Anyway this is not an issue, because by changing
the running kernel those definitions in fact may not be valid...

Resuming: I don't know how properly address this problem.

>Your libc should provide a "sanitized" version of the kernel headers,
>which is completely separate from any kernel sources.

I suppose that those headers will contain definitions not subject
to change, won't they? But I don't know if I can consider the ioctl
constants as not subject to change (they should be permanent, though).

>So, any problems should be reported to your libc maintainer :)

Well, I try... I can even try to make the sanitized header myself
and pray for it to be included in next glibc revision :)

Thanks :)
Raśl
-
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/