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