#define SOFT_CAST(type) (type)
#endif
-/* Only these byteorders are really known and tested. */
-#if !(BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 || BYTEORDER == 0x4321 || BYTEORDER == 0x87654321)
-# error "UNKNOWN BYTEORDER!"
+#ifndef BYTEORDER /* Should never happen -- byteorder is in config.h */
+# define BYTEORDER 0x1234
#endif
/* Overall memory policy? */
#endif
/* sockatmark() is so new (2001) that many places might have it hidden
- * behind some -D_BLAH_BLAH_SOURCE guard. */
+ * behind some -D_BLAH_BLAH_SOURCE guard. The __THROW magic is required
+ * e.g. in Gentoo, see http://bugs.gentoo.org/show_bug.cgi?id=12605 */
#if defined(HAS_SOCKATMARK) && !defined(HAS_SOCKATMARK_PROTO)
+# if defined(__THROW) && defined(__GLIBC__)
+int sockatmark(int) __THROW;
+# else
int sockatmark(int);
+# endif
#endif
#ifdef SETERRNO