Patches from Piotr Sikora < piotr.sikora@frickle.com > for OpenBSD.
[awesomized/libmemcached] / libmemcached / byteorder.h
index 0964b61a12313ad253a421bc9b199db1e7bbccf9..f43dbc435f8dc30eb29936b6d4b2f018bb8670e3 100644 (file)
@@ -1,8 +1,24 @@
-#ifndef LIBMEMCACHED_BYTEORDER_H
-#define LIBMEMCACHED_BYTEORDER_H
+/* LibMemcached
+ * Copyright (C) 2006-2009 Brian Aker
+ * All rights reserved.
+ *
+ * Use and distribution licensed under the BSD license.  See
+ * the COPYING file in the parent directory for full text.
+ *
+ * Summary:
+ *
+ */
+
+#ifndef __LIBMEMCACHED_BYTEORDER_H__
+#define __LIBMEMCACHED_BYTEORDER_H__
 
 #include "config.h"
 
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+
 /* Define this here, which will turn on the visibilty controls while we're
  * building libmemcached.
  */
 
 #ifndef HAVE_HTONLL
 LIBMEMCACHED_LOCAL
-extern uint64_t ntohll(uint64_t);
+uint64_t ntohll(uint64_t);
 LIBMEMCACHED_LOCAL
-extern uint64_t htonll(uint64_t);
+uint64_t htonll(uint64_t);
+#endif
+
+#ifdef linux
+/* /usr/include/netinet/in.h defines macros from ntohs() to _bswap_nn to
+ * optimize the conversion functions, but the prototypes generate warnings
+ * from gcc. The conversion methods isn't the bottleneck for my app, so
+ * just remove the warnings by undef'ing the optimization ..
+ */
+#undef ntohs
+#undef ntohl
+#undef htons
+#undef htonl
 #endif
 
-#endif /* LIBMEMCACHED_BYTEORDER_H */
+#endif /*__LIBMEMCACHED_BYTEORDER_H__ */