2019-03-12 15:51:42 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2019-06-26 20:04:35 +02:00
|
|
|
#include <endian.h>
|
2019-03-12 15:51:42 +01:00
|
|
|
#include <sys/cdefs.h>
|
|
|
|
|
#include <sys/socket.h>
|
|
|
|
|
|
|
|
|
|
__BEGIN_DECLS
|
|
|
|
|
|
2019-05-16 09:50:13 +02:00
|
|
|
#define INET_ADDRSTRLEN 16
|
|
|
|
|
|
2019-03-12 15:51:42 +01:00
|
|
|
const char* inet_ntop(int af, const void* src, char* dst, socklen_t);
|
2019-03-13 03:26:01 +01:00
|
|
|
int inet_pton(int af, const char* src, void* dst);
|
2019-03-12 15:51:42 +01:00
|
|
|
|
2019-06-26 20:04:35 +02:00
|
|
|
inline uint16_t htons(uint16_t value)
|
2019-03-12 15:51:42 +01:00
|
|
|
{
|
2019-11-16 16:07:12 +01:00
|
|
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
2019-06-26 20:04:35 +02:00
|
|
|
return __builtin_bswap16(value);
|
|
|
|
|
#else
|
|
|
|
|
return value;
|
|
|
|
|
#endif
|
2019-03-12 15:51:42 +01:00
|
|
|
}
|
|
|
|
|
|
2019-06-26 20:04:35 +02:00
|
|
|
inline uint16_t ntohs(uint16_t value)
|
2019-03-12 15:51:42 +01:00
|
|
|
{
|
2019-06-26 20:04:35 +02:00
|
|
|
return htons(value);
|
2019-03-12 15:51:42 +01:00
|
|
|
}
|
|
|
|
|
|
2019-06-26 20:04:35 +02:00
|
|
|
inline uint32_t htonl(uint32_t value)
|
2019-05-21 02:22:21 +02:00
|
|
|
{
|
2019-11-16 16:07:12 +01:00
|
|
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
2019-06-26 20:04:35 +02:00
|
|
|
return __builtin_bswap32(value);
|
2019-06-26 21:10:56 +02:00
|
|
|
#else
|
|
|
|
|
return value;
|
|
|
|
|
#endif
|
2019-05-21 02:22:21 +02:00
|
|
|
}
|
|
|
|
|
|
2019-06-26 20:04:35 +02:00
|
|
|
inline uint32_t ntohl(uint32_t value)
|
2019-05-21 02:22:21 +02:00
|
|
|
{
|
2019-06-26 20:04:35 +02:00
|
|
|
return htonl(value);
|
2019-05-21 02:22:21 +02:00
|
|
|
}
|
|
|
|
|
|
2019-03-12 15:51:42 +01:00
|
|
|
__END_DECLS
|