1/* vi: set sw=4 ts=4: */ 2/* 3 * This header makes it easier to include kernel headers 4 * which use u32 and such. 5 * 6 * Licensed under GPLv2, see file LICENSE in this source tree. 7 */ 8#ifndef FIX_U32_H 9#define FIX_U32_H 1 10 11/* Try hard to pull in u32 types and such. 12 * Otherwise, #include "fix_u32.h" + #include <linux/foo.h> 13 * may end up typedef'ing bb_hack_u32 inside foo.h, 14 * and repeated typedefs aren't allowed in C/C++. 15 */ 16#include <asm/types.h> 17#include <linux/types.h> 18 19/* In case above includes still failed to provide the types, 20 * provide them ourself 21 */ 22#undef __u64 23#undef u64 24#undef u32 25#undef u16 26#undef u8 27#undef __s64 28#undef s64 29#undef s32 30#undef s16 31#undef s8 32 33#define __u64 bb_hack___u64 34#define u64 bb_hack_u64 35#define u32 bb_hack_u32 36#define u16 bb_hack_u16 37#define u8 bb_hack_u8 38#define __s64 bb_hack___s64 39#define s64 bb_hack_s64 40#define s32 bb_hack_s32 41#define s16 bb_hack_s16 42#define s8 bb_hack_s8 43 44typedef uint64_t __u64; 45typedef uint64_t u64; 46typedef uint32_t u32; 47typedef uint16_t u16; 48typedef uint8_t u8; 49typedef int64_t __s64; 50typedef int64_t s64; 51typedef int32_t s32; 52typedef int16_t s16; 53typedef int8_t s8; 54 55#endif 56