19 return _byteswap_ushort(x);
24 return _byteswap_ulong(x);
29 return _byteswap_uint64(x);
32#elif defined(UHD_PLATFORM_MACOS)
33# include <libkern/OSByteOrder.h>
37 return OSSwapInt16(x);
42 return OSSwapInt32(x);
47 return OSSwapInt64(x);
50#elif defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
54 return (x >> 8) | (x << 8);
59 return __builtin_bswap32(x);
64 return __builtin_bswap64(x);
67#elif defined(UHD_PLATFORM_LINUX)
89 return (x >> 8) | (x << 8);
94 return (uint32_t(
uhd::byteswap(uint16_t(x & 0xfffful))) << 16)
100 return (uint64_t(
uhd::byteswap(uint32_t(x & 0xffffffffull))) << 32)
#define UHD_INLINE
Definition config.h:65
Definition build_info.hpp:12
T ntohx(T)
network to host: short, long, or long-long
Definition byteswap.ipp:112
uint16_t byteswap(uint16_t)
perform a byteswap on a 16 bit integer
Definition byteswap.ipp:87
T htowx(T)
host to worknet: short, long, or long-long
Definition byteswap.ipp:142
T wtohx(T)
worknet to host: short, long, or long-long
Definition byteswap.ipp:132
T htonx(T)
host to network: short, long, or long-long
Definition byteswap.ipp:122