#define htons(x) ((__uint16_t)(x))
#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
+
+#define ntohll(x) ((__uint64_t)(x))
+#define htonll(x) ((__uint64_t)(x))
+
#define NTOHL(x) (x)
#define NTOHS(x) (x)
+#define NTOHLL(x) (x)
#define HTONL(x) (x)
#define HTONS(x) (x)
+#define HTONLL(x) (x)
#endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */
#else /* __DARWIN_BYTE_ORDER == __DARWIN_LITTLE_ENDIAN */
#define htonl(x) __DARWIN_OSSwapInt32(x)
#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
+
+#define ntohll(x) __DARWIN_OSSwapInt64(x)
+#define htonll(x) __DARWIN_OSSwapInt64(x)
+
#define NTOHL(x) (x) = ntohl((__uint32_t)x)
#define NTOHS(x) (x) = ntohs((__uint16_t)x)
+#define NTOHLL(x) (x) = ntohll((__uint64_t)x)
#define HTONL(x) (x) = htonl((__uint32_t)x)
#define HTONS(x) (x) = htons((__uint16_t)x)
+#define HTONLL(x) (x) = htonll((__uint64_t)x)
#endif /* defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)) */
#endif /* __DARWIN_BYTE_ORDER */
#endif /* !_SYS__ENDIAN_H_ */