Changes for kernel and Busybox
[tomato.git] / release / src / router / busybox / include / fix_u32.h
bloba2ba6d0a9624a02d82c160faa41d361910db2927
1 /* vi: set sw=4 ts=4: */
2 /*
3 * This header makes it easier to include kernel headers
4 * which use u32 and such.
6 * Licensed under GPLv2, see file LICENSE in this source tree.
7 */
8 #ifndef FIX_U32_H
9 #define FIX_U32_H 1
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++.
16 #include <asm/types.h>
17 #include <linux/types.h>
19 /* In case above includes still failed to provide the types,
20 * provide them ourself
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
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
44 typedef uint64_t __u64;
45 typedef uint64_t u64;
46 typedef uint32_t u32;
47 typedef uint16_t u16;
48 typedef uint8_t u8;
49 typedef int64_t __s64;
50 typedef int64_t s64;
51 typedef int32_t s32;
52 typedef int16_t s16;
53 typedef int8_t s8;
55 #endif