Kernel data types u8, u16, u32, u64 not resolved [closed]

I am trying to compile some files related to wireless subsystem (mac80211) which use datatypes u8, u16, u32, u64. These are not resolved. The header file being referred to is linux/types.h which is included. However, __uxx data types are being recognized. I tried including the asm-generic/types.h but the problem doesn't get solved. Any pointers?

1 Answer

Strange – if it were user space, you'd need to use it with prefix __ (e.g. __u32), but mac80211 is kernel related project.

Note: It does not matter whether you include <linux/types.h> or <asm/types.h> as the first includes the second. IMHO you should not include <asm-generic/types.h> (which is included by <asm/types.h>) due to portability.

See more info in LDD.

You Might Also Like