xref: /kvmtool/include/linux/types.h (revision c1b3d8d86e5e587282f0dc24eebb46b365b49f20)
1 #ifndef LINUX_TYPES_H
2 #define LINUX_TYPES_H
3 
4 #include <stdint.h>
5 
6 #define __s8		int8_t
7 #define __u8		uint8_t
8 
9 #define __s16		int16_t
10 #define __u16		uint16_t
11 
12 #define __s32		int32_t
13 #define __u32		uint32_t
14 
15 #define __s64		long long
16 #define __u64		unsigned long long
17 
18 typedef __u64 u64;
19 typedef __s64 s64;
20 
21 typedef __u32 u32;
22 typedef __s32 s32;
23 
24 typedef __u16 u16;
25 typedef __s16 s16;
26 
27 typedef __u8  u8;
28 typedef __s8  s8;
29 
30 #ifdef __CHECKER__
31 #define __bitwise__ __attribute__((bitwise))
32 #else
33 #define __bitwise__
34 #endif
35 #ifdef __CHECK_ENDIAN__
36 #define __bitwise __bitwise__
37 #else
38 #define __bitwise
39 #endif
40 
41 
42 typedef __u16 __bitwise __le16;
43 typedef __u16 __bitwise __be16;
44 typedef __u32 __bitwise __le32;
45 typedef __u32 __bitwise __be32;
46 typedef __u64 __bitwise __le64;
47 typedef __u64 __bitwise __be64;
48 
49 struct list_head {
50 	struct list_head *next, *prev;
51 };
52 
53 struct hlist_head {
54 	struct hlist_node *first;
55 };
56 
57 struct hlist_node {
58 	struct hlist_node *next, **pprev;
59 };
60 
61 #endif /* LINUX_TYPES_H */
62