summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-07-26 00:55:42 +0000
committerChristopher Faylor <me@cgf.cx>2005-07-26 00:55:42 +0000
commit0a911c4e6d06c9397ed6410594f1e838be63d87e (patch)
tree74b0d4d38528889bd0296dcd9c433ea728b37fef /winsup
parentc24d1592225ac031e37f52eb482bec325c88f39d (diff)
downloadcygnal-0a911c4e6d06c9397ed6410594f1e838be63d87e.tar.gz
cygnal-0a911c4e6d06c9397ed6410594f1e838be63d87e.tar.bz2
cygnal-0a911c4e6d06c9397ed6410594f1e838be63d87e.zip
* include/byteswap.h: New file.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/include/byteswap.h39
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 */