diff options
author | Christopher Faylor <me@cgf.cx> | 2005-07-26 00:55:42 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-07-26 00:55:42 +0000 |
commit | 0a911c4e6d06c9397ed6410594f1e838be63d87e (patch) | |
tree | 74b0d4d38528889bd0296dcd9c433ea728b37fef /winsup | |
parent | c24d1592225ac031e37f52eb482bec325c88f39d (diff) | |
download | cygnal-0a911c4e6d06c9397ed6410594f1e838be63d87e.tar.gz cygnal-0a911c4e6d06c9397ed6410594f1e838be63d87e.tar.bz2 cygnal-0a911c4e6d06c9397ed6410594f1e838be63d87e.zip |
* include/byteswap.h: New file.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/cygwin/include/byteswap.h | 39 |
2 files changed, 43 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 08b4ab678..b2ed31392 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,9 @@ 2005-07-25 Christopher Faylor <cgf@timesys.com> + * include/byteswap.h: New file. + +2005-07-25 Christopher Faylor <cgf@timesys.com> + * include/cygwin/types.h: Define loff_t. 2005-07-16 Christopher Faylor <cgf@timesys.com> diff --git a/winsup/cygwin/include/byteswap.h b/winsup/cygwin/include/byteswap.h new file mode 100644 index 000000000..cd5a726d4 --- /dev/null +++ b/winsup/cygwin/include/byteswap.h @@ -0,0 +1,39 @@ +/* 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 */ |