/* vi: set sw=4 ts=4: */ /* * This header makes it easier to include kernel headers * which use u32 and such. * * Licensed under GPLv2, see file LICENSE in this source tree. */ #ifndef FIX_U32_H #define FIX_U32_H 1 /* Try hard to pull in u32 types and such. * Otherwise, #include "fix_u32.h" + #include <linux/foo.h> * may end up typedef'ing bb_hack_u32 inside foo.h, * and repeated typedefs aren't allowed in C/C++. */ #include <asm/types.h> #include <linux/types.h> /* In case above includes still failed to provide the types, * provide them ourself */ #undef __u64 #undef u64 #undef u32 #undef u16 #undef u8 #undef __s64 #undef s64 #undef s32 #undef s16 #undef s8 #define __u64 bb_hack___u64 #define u64 bb_hack_u64 #define u32 bb_hack_u32 #define u16 bb_hack_u16 #define u8 bb_hack_u8 #define __s64 bb_hack___s64 #define s64 bb_hack_s64 #define s32 bb_hack_s32 #define s16 bb_hack_s16 #define s8 bb_hack_s8 typedef uint64_t __u64; typedef uint64_t u64; typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; typedef int64_t __s64; typedef int64_t s64; typedef int32_t s32; typedef int16_t s16; typedef int8_t s8; #endif