/* byteswap.h Copyright 2005 Red Hat, Inc. 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)); } #ifdef __cplusplus } #endif #endif /* _BYTESWAP_H */