> What I specifically thought it might be is in  <linux/types.h>
> there is a section that reads something like
>
>         #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
>         typedef         __u64           uint64_t;
>         typedef         __u64           u_int64_t;
>         typedef         __s64           int64_t;
>         #endif
>
> I don't understand the reasoning behind this,
> but it looks like if  1)  GNU C is not indicated,  -or-
> if  2)  ANSI C is indicated,  then  __u64  doesn't get typedef'ed.

The types in question can't be exposed to user space in a strict posix/ansi
compliant environment. __GNUC__ is one of the things defined when you ask
the compiler to use the GNU extensions, and __STRICT_ANSI__ is one of the
symbols coming out when you want to be exactly correct.

So its basically "if its gnu stuff and I'm not a language lawyer.."

Reply via email to