1 #ifndef LINUX_TYPES_H 2 #define LINUX_TYPES_H 3 4 #include <asm/types.h> 5 6 typedef __u64 u64; 7 typedef __s64 s64; 8 9 typedef __u32 u32; 10 typedef __s32 s32; 11 12 typedef __u16 u16; 13 typedef __s16 s16; 14 15 typedef __u8 u8; 16 typedef __s8 s8; 17 18 #ifdef __CHECKER__ 19 #define __bitwise__ __attribute__((bitwise)) 20 #else 21 #define __bitwise__ 22 #endif 23 #ifdef __CHECK_ENDIAN__ 24 #define __bitwise __bitwise__ 25 #else 26 #define __bitwise 27 #endif 28 29 30 typedef __u16 __bitwise __le16; 31 typedef __u16 __bitwise __be16; 32 typedef __u32 __bitwise __le32; 33 typedef __u32 __bitwise __be32; 34 typedef __u64 __bitwise __le64; 35 typedef __u64 __bitwise __be64; 36 37 struct list_head { 38 struct list_head *next, *prev; 39 }; 40 41 struct hlist_head { 42 struct hlist_node *first; 43 }; 44 45 struct hlist_node { 46 struct hlist_node *next, **pprev; 47 }; 48 49 #endif /* LINUX_TYPES_H */ 50