diff options
| author | Adam Ierymenko <adam.ierymenko@zerotier.com> | 2013-08-12 21:25:36 -0400 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@zerotier.com> | 2013-08-12 21:25:36 -0400 |
| commit | d6414c9ff74e3f8076a1e94d3c6074366119900e (patch) | |
| tree | b0620f1f1610b51b386964d6758b5787b6cb7d6f /node/InetAddress.cpp | |
| parent | 5076c75b079fe02c843ca85dc20821e468b2d7b8 (diff) | |
| download | infinitytier-d6414c9ff74e3f8076a1e94d3c6074366119900e.tar.gz infinitytier-d6414c9ff74e3f8076a1e94d3c6074366119900e.zip | |
Windows compiles! (w/Visual Studio 2012) That's about all it does, but it's a start.
Diffstat (limited to 'node/InetAddress.cpp')
| -rw-r--r-- | node/InetAddress.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/node/InetAddress.cpp b/node/InetAddress.cpp index 79efbaf2..24ec1f62 100644 --- a/node/InetAddress.cpp +++ b/node/InetAddress.cpp @@ -28,10 +28,9 @@ #include <stdio.h> #include <string.h> #include <stdint.h> -#include <netinet/in.h> -#include <arpa/inet.h> #include <string> +#include "Constants.hpp" #include "InetAddress.hpp" namespace ZeroTier { @@ -62,13 +61,21 @@ std::string InetAddress::toString() const switch(_sa.saddr.sa_family) { case AF_INET: +#ifdef __WINDOWS__ + if (inet_ntop(AF_INET,(PVOID)&(_sa.sin.sin_addr.s_addr),buf,sizeof(buf))) { +#else if (inet_ntop(AF_INET,(const void *)&(_sa.sin.sin_addr.s_addr),buf,sizeof(buf))) { +#endif sprintf(buf2,"%s/%u",buf,(unsigned int)ntohs(_sa.sin.sin_port)); return std::string(buf2); } break; case AF_INET6: +#ifdef __WINDOWS__ + if (inet_ntop(AF_INET6,(PVOID)&(_sa.sin6.sin6_addr.s6_addr),buf,sizeof(buf))) { +#else if (inet_ntop(AF_INET6,(const void *)&(_sa.sin6.sin6_addr.s6_addr),buf,sizeof(buf))) { +#endif sprintf(buf2,"%s/%u",buf,(unsigned int)ntohs(_sa.sin6.sin6_port)); return std::string(buf2); } @@ -97,12 +104,22 @@ std::string InetAddress::toIpString() const switch(_sa.saddr.sa_family) { case AF_INET: +#ifdef __WINDOWS__ + if (inet_ntop(AF_INET,(PVOID)&(_sa.sin.sin_addr.s_addr),buf,sizeof(buf))) + return std::string(buf); +#else if (inet_ntop(AF_INET,(const void *)&(_sa.sin.sin_addr.s_addr),buf,sizeof(buf))) return std::string(buf); +#endif break; case AF_INET6: +#ifdef __WINDOWS__ + if (inet_ntop(AF_INET6,(PVOID)&(_sa.sin6.sin6_addr.s6_addr),buf,sizeof(buf))) + return std::string(buf); +#else if (inet_ntop(AF_INET6,(const void *)&(_sa.sin6.sin6_addr.s6_addr),buf,sizeof(buf))) return std::string(buf); +#endif break; } |
