#ifndef __BPF_ENDIAN__ #define __BPF_ENDIAN__ #include #if __BYTE_ORDER == __LITTLE_ENDIAN # define __bpf_ntohs(x) __builtin_bswap16(x) # define __bpf_htons(x) __builtin_bswap16(x) #elif __BYTE_ORDER == __BIG_ENDIAN # define __bpf_ntohs(x) (x) # define __bpf_htons(x) (x) #else # error "Fix your __BYTE_ORDER?!" #endif #define bpf_htons(x) \ (__builtin_constant_p(x) ? \ __constant_htons(x) : __bpf_htons(x)) #define bpf_ntohs(x) \ (__builtin_constant_p(x) ? \ __constant_ntohs(x) : __bpf_ntohs(x)) #endif