Josh Triplett <[email protected]> wrote:
> > Sure. And 0 is perfectly fine value for the flag. Like with MAP_FILE.
>
> Rephrasing: the flag should always exist with the correct value.
> Whether the kernel handles it or not, the kernel *headers* shouldn't
> change to match the kernel, not least of which because they don't
> necessarily match the running kernel. Just like we define the
> prototypes for syscalls that the running kernel may return ENOSYS for.
Josh is correct.
CONFIG_xxx *should* *not* be seen in UAPI headers, except inside #ifdef
__KERNEL__ guards under special circumstances - and #ifdef __KERNEL__ guards
*should* *not* be seen in UAPI headers except under special circumstances.
In terms of such special circumstances, take a peek in
include/uapi/linux/acct.h at struct acct with this:
/* m68k had no padding here. */
#if !defined(CONFIG_M68K) || !defined(__KERNEL__)
__u16 ac_ahz; /* AHZ */
#endif
in the middle of it...
Or include/{,uapi/}linux/agpgart.h where it defines two different but
same-named variants of several structs.
Now, some of these - particularly things like the latter - can be fixed by
someone who has the time.
David
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html