- fixes for Android + ongoing migration to latest resiprocate
This commit is contained in:
@@ -17,13 +17,20 @@
|
||||
# if defined(WINDOWS_RT)
|
||||
# include "ICEWinRtSupport.h"
|
||||
# endif
|
||||
#else
|
||||
#if defined(TARGET_IOS)
|
||||
#elif defined(TARGET_IOS)
|
||||
# include "ICEIosSupport.h"
|
||||
#endif
|
||||
#else
|
||||
# include <unistd.h>
|
||||
# if defined(TARGET_ANDROID)/* || defined(TARGET_LINUX) */
|
||||
# if defined(TARGET_ANDROID) || defined(TARGET_LINUX)
|
||||
# include <linux/if.h>
|
||||
# include <linux/in6.h>
|
||||
# if defined(TARGET_ANDROID)
|
||||
# if __ANDROID_API__ < 24
|
||||
# include "android-ifaddrs/android-ifaddrs.h"
|
||||
# else
|
||||
# include <ifaddrs.h>
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -434,40 +441,40 @@ bool NetworkHelper::hasIPv6() const
|
||||
if (item.family() == AF_INET6 && (item.isLAN() || item.isPublic()))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
void NetworkHelper::NetworkToHost(const in6_addr& addr6, uint32_t* output)
|
||||
{
|
||||
for (int i=0; i<4; i++)
|
||||
#if defined(TARGET_WIN)
|
||||
output[i] = ntohl(((uint32_t*)addr6.u.Byte[0])[i]);
|
||||
#elif defined(TARGET_IOS) || defined(TARGET_OSX)
|
||||
output[i] = ntohl(addr6.__u6_addr.__u6_addr32[i]);
|
||||
#elif defined(TARGET_OPENWRT) || defined(TARGET_MUSL)
|
||||
output[i] = ntohl(addr6.__in6_union.__s6_addr32[i]);
|
||||
#elif defined(TARGET_LINUX)
|
||||
output[i] = ntohl(addr6.__in6_u.__u6_addr32[i]);
|
||||
#elif defined(TARGET_ANDROID)
|
||||
output[i] = ntohl(addr6.in6_u.u6_addr32[i]);
|
||||
#endif
|
||||
}
|
||||
|
||||
void NetworkHelper::HostToNetwork(const uint32_t* input, in6_addr& output)
|
||||
{
|
||||
for (int i=0; i<4; i++)
|
||||
#if defined(TARGET_WIN)
|
||||
((uint32_t*)&output.u.Byte[0])[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_OSX) || defined(TARGET_IOS)
|
||||
output.__u6_addr.__u6_addr32[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_OPENWRT) || defined(TARGET_MUSL)
|
||||
output.__in6_union.__s6_addr32[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_LINUX)
|
||||
output.__in6_u.__u6_addr32[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_ANDROID)
|
||||
output.in6_u.u6_addr32[i] = htonl(input[i]);
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void NetworkHelper::NetworkToHost(const in6_addr& addr6, uint32_t* output)
|
||||
{
|
||||
for (int i=0; i<4; i++)
|
||||
#if defined(TARGET_WIN)
|
||||
output[i] = ntohl(((uint32_t*)addr6.u.Byte[0])[i]);
|
||||
#elif defined(TARGET_IOS) || defined(TARGET_OSX)
|
||||
output[i] = ntohl(addr6.__u6_addr.__u6_addr32[i]);
|
||||
#elif defined(TARGET_OPENWRT) || defined(TARGET_MUSL)
|
||||
output[i] = ntohl(addr6.__in6_union.__s6_addr32[i]);
|
||||
#elif defined(TARGET_LINUX)
|
||||
output[i] = ntohl(addr6.__in6_u.__u6_addr32[i]);
|
||||
#elif defined(TARGET_ANDROID)
|
||||
output[i] = ntohl(addr6.in6_u.u6_addr32[i]);
|
||||
#endif
|
||||
}
|
||||
|
||||
void NetworkHelper::HostToNetwork(const uint32_t* input, in6_addr& output)
|
||||
{
|
||||
for (int i=0; i<4; i++)
|
||||
#if defined(TARGET_WIN)
|
||||
((uint32_t*)&output.u.Byte[0])[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_OSX) || defined(TARGET_IOS)
|
||||
output.__u6_addr.__u6_addr32[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_OPENWRT) || defined(TARGET_MUSL)
|
||||
output.__in6_union.__s6_addr32[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_LINUX)
|
||||
output.__in6_u.__u6_addr32[i] = htonl(input[i]);
|
||||
#elif defined(TARGET_ANDROID)
|
||||
output.in6_u.u6_addr32[i] = htonl(input[i]);
|
||||
#endif
|
||||
}
|
||||
|
||||
NetworkHelper* NetworkHelper::mInstance = NULL;
|
||||
Mutex NetworkHelper::mGuard;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user