1#include <linux/version.h> 2 3// Various bits of support needed by Linux headers. 4 5typedef __UINT8_TYPE__ uint8_t; 6typedef __UINT16_TYPE__ uint16_t; 7typedef __UINT32_TYPE__ uint32_t; 8typedef __UINT64_TYPE__ uint64_t; 9typedef __INT8_TYPE__ int8_t; 10typedef __INT16_TYPE__ int16_t; 11typedef __INT32_TYPE__ int32_t; 12typedef __INT64_TYPE__ int64_t; 13typedef __SIZE_TYPE__ size_t; 14typedef __PTRDIFF_TYPE__ ssize_t; 15typedef __PTRDIFF_TYPE__ ptrdiff_t; 16typedef __INTPTR_TYPE__ intptr_t; 17typedef __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