#pragma once #if defined(i386) || defined(_AMD64_) || defined(_ARM_) /* DWORD network to host byte order conversion for i386 */ #define DN2H(dw) \ ((((dw) & 0xFF000000L) >> 24) | \ (((dw) & 0x00FF0000L) >> 8) | \ (((dw) & 0x0000FF00L) << 8) | \ (((dw) & 0x000000FFL) << 24)) /* DWORD host to network byte order conversion for i386 */ #define DH2N(dw) \ ((((dw) & 0xFF000000L) >> 24) | \ (((dw) & 0x00FF0000L) >> 8) | \ (((dw) & 0x0000FF00L) << 8) | \ (((dw) & 0x000000FFL) << 24)) /* WORD network to host order conversion for i386 */ #define WN2H(w) \ ((((w) & 0xFF00) >> 8) | \ (((w) & 0x00FF) << 8)) /* WORD host to network byte order conversion for i386 */ #define WH2N(w) \ ((((w) & 0xFF00) >> 8) | \ (((w) & 0x00FF) << 8)) #else /* defined(i386) || defined(_AMD64_) || defined(_ARM_) */ /* DWORD network to host byte order conversion for other architectures */ #define DN2H(dw) \ (dw) /* DWORD host to network byte order conversion for other architectures */ #define DH2N(dw) \ (dw) /* WORD network to host order conversion for other architectures */ #define WN2H(w) \ (w) /* WORD host to network byte order conversion for other architectures */ #define WH2N(w) \ (w) #endif /* defined(i386) || defined(_AMD64_) || defined(_ARM_) */