/* byteswap.h This file is part of Cygwin. This software is a copyrighted work licensed under the terms of the Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ #ifndef _BYTESWAP_H #define _BYTESWAP_H #ifdef __cplusplus extern "C" { #endif static __inline unsigned short __bswap_16 (unsigned short __x) { return (__x >> 8) | (__x << 8); } static __inline unsigned int __bswap_32 (unsigned int __x) { return (__bswap_16 (__x & 0xffff) << 16) | (__bswap_16 (__x >> 16)); } static __inline unsigned long long __bswap_64 (unsigned long long __x) { return (((unsigned long long) __bswap_32 (__x & 0xffffffffull)) << 32) | (__bswap_32 (__x >> 32)); } #define bswap_16(x) __bswap_16(x) #define bswap_32(x) __bswap_32(x) #define bswap_64(x) __bswap_64(x) #ifdef __cplusplus } #endif #endif /* _BYTESWAP_H */