1 #include <linux/version.h>
2 
3 // Various bits of support needed by Linux headers.
4 
5 typedef __UINT8_TYPE__ uint8_t;
6 typedef __UINT16_TYPE__ uint16_t;
7 typedef __UINT32_TYPE__ uint32_t;
8 typedef __UINT64_TYPE__ uint64_t;
9 typedef __INT8_TYPE__ int8_t;
10 typedef __INT16_TYPE__ int16_t;
11 typedef __INT32_TYPE__ int32_t;
12 typedef __INT64_TYPE__ int64_t;
13 typedef __SIZE_TYPE__ size_t;
14 typedef __PTRDIFF_TYPE__ ssize_t;
15 typedef __PTRDIFF_TYPE__ ptrdiff_t;
16 typedef __INTPTR_TYPE__ intptr_t;
17 typedef __UINTPTR_TYPE__ uintptr_t;
18 
19 #define INT_MAX __INT_MAX__
20 #define INT_MIN	(-__INT_MAX__ - 1)
21 
22 #define memcpy __builtin_memcpy
23 #define memset __builtin_memset
24 #define strlen __builtin_strlen
25 
26 #define __builtin_bswap_16 __builtin_bswap16
27 #define __builtin_bswap_32 __builtin_bswap32
28 #define __builtin_bswap_64 __builtin_bswap64
29 
30 #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
31 #define ntohl(x)     (x)
32 #define ntohs(x)     (x)
33 #define htonl(x)     (x)
34 #define htons(x)     (x)
35 #elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
36 #define ntohl(x)     (__builtin_bswap32(x))
37 #define ntohs(x)     (__builtin_bswap16(x))
38 #define htonl(x)     (__builtin_bswap32(x))
39 #define htons(x)     (__builtin_bswap16(x))
40 #endif
41 
42 #define pid_t       __kernel_pid_t
43 #define ino_t       __kernel_ino_t
44 #define mode_t      __kernel_mode_t
45 #define nlink_t     __kernel_nlink_t
46 #define uid_t       __kernel_uid_t
47 #define gid_t       __kernel_gid_t
48 #define off_t       __kernel_off_t
49 #define time_t      __kernel_time_t
50 #define timer_t     __kernel_timer_t
51 #define clock_t     __kernel_clock_t
52 
53 #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,32)
54 #define sa_family_t uint16_t
55 #endif
56