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