may have different representations but the values are always the same. */
extern uint32_t ntohl (uint32_t __netlong) __THROW __attribute__ ((__const__));
+libc_hidden_proto(ntohl)
extern uint16_t ntohs (uint16_t __netshort)
__THROW __attribute__ ((__const__));
+libc_hidden_proto(ntohs)
extern uint32_t htonl (uint32_t __hostlong)
__THROW __attribute__ ((__const__));
+libc_hidden_proto(htonl)
extern uint16_t htons (uint16_t __hostshort)
__THROW __attribute__ ((__const__));
+libc_hidden_proto(htons)
#include <endian.h>
#include <stdint.h>
#include <endian.h>
#include <byteswap.h>
+#include <netinet/in.h>
-uint32_t ntohl (uint32_t x);
-uint16_t ntohs (uint16_t x);
-uint32_t htonl (uint32_t x);
-uint16_t htons (uint16_t x);
+#undef ntohl
+#undef ntohs
+#undef htonl
+#undef htons
#if __BYTE_ORDER == __BIG_ENDIAN
uint32_t ntohl (uint32_t x)
#else
#error "You seem to have an unsupported byteorder"
#endif
+
+libc_hidden_def(ntohl)
+libc_hidden_def(ntohs)
+libc_hidden_def(htonl)
+libc_hidden_def(htons)