diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-08-20 12:18:47 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-08-20 12:18:47 +0000 |
commit | 74f50846a9d97cfcce2f1d784f2a67c6f889d716 (patch) | |
tree | 9f595fde81800687f79d9d363cbe6578fc067867 /winsup/cygwin/include/endian.h | |
parent | a6c83569dc3770c303e92b2ff56a9fb0a6c7a128 (diff) | |
download | cygnal-74f50846a9d97cfcce2f1d784f2a67c6f889d716.tar.gz cygnal-74f50846a9d97cfcce2f1d784f2a67c6f889d716.tar.bz2 cygnal-74f50846a9d97cfcce2f1d784f2a67c6f889d716.zip |
* endian.h (htobe16, htobe32, htobe64, be16toh, be32toh, be64toh,
htole16, htole32, htole64, le16toh, le32toh, le64toh): Define.
Diffstat (limited to 'winsup/cygwin/include/endian.h')
-rw-r--r-- | winsup/cygwin/include/endian.h | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/winsup/cygwin/include/endian.h b/winsup/cygwin/include/endian.h index c8b89d432..feb002c81 100644 --- a/winsup/cygwin/include/endian.h +++ b/winsup/cygwin/include/endian.h @@ -1,6 +1,6 @@ /* endian.h - Copyright 2005 Red Hat, Inc. + Copyright 2005, 2010 Red Hat, Inc. This file is part of Cygwin. @@ -36,5 +36,52 @@ details. */ #elif __BYTE_ORDER == __BIG_ENDIAN # define __LONG_LONG_PAIR(HI, LO) HI, LO #endif + +#if /*defined __USE_BSD ||*/ ! defined _POSIX_SOURCE + +#include <byteswap.h> + +#if __BYTE_ORDER == __LITTLE_ENDIAN + +#define htobe16(x) bswap_16(x) +#define htobe32(x) bswap_32(x) +#define htobe64(x) bswap_64(x) + +#define be16toh(x) bswap_16(x) +#define be32toh(x) bswap_32(x) +#define be64toh(x) bswap_64(x) + +#define htole16(x) (x) +#define htole32(x) (x) +#define htole64(x) (x) + +#define le16toh(x) (x) +#define le32toh(x) (x) +#define le64toh(x) (x) + +#endif /*__BYTE_ORDER == __LITTLE_ENDIAN*/ + +#if __BYTE_ORDER == __BIG_ENDIAN + +#define htobe16(x) (x) +#define htobe32(x) (x) +#define htobe64(x) (x) + +#define be16toh(x) (x) +#define be32toh(x) (x) +#define be64toh(x) (x) + +#define htole16(x) bswap_16(x) +#define htole32(x) bswap_32(x) +#define htole64(x) bswap_64(x) + +#define le16toh(x) bswap_16(x) +#define le32toh(x) bswap_32(x) +#define le64toh(x) bswap_64(x) + +#endif /*__BYTE_ORDER == __BIG_ENDIAN*/ + +#endif /*__USE_BSD || !_POSIX_SOURCE*/ + #endif /*_ENDIAN_H_*/ |