add GetIPString

feature/IPV6_#35B
Geoffrey Merck 2 years ago
parent 72423700db
commit d03c70f2aa

@ -18,6 +18,7 @@
*/
#include <sys/types.h>
#include <arpa/inet.h>
#include <cstring>
#include "NetUtils.h"
@ -119,3 +120,21 @@ void CNetUtils::setPort(struct sockaddr_storage& addr, in_port_t port)
break;
}
}
void CNetUtils::getIPString(const struct sockaddr_storage& sas, std::string& str)
{
const struct sockaddr_storage* sasptr = &sas;
switch(sasptr->ss_family) {
char s[1024];
case AF_INET:
inet_ntop(AF_INET, &(TOIPV4(sas)->sin_addr), s, 1024);
break;
case AF_INET6:
inet_ntop(AF_INET6, &(TOIPV6(sas)->sin6_addr), s, 1024);
break;
default:
str.clear();
}
}

@ -42,4 +42,5 @@ public:
static bool lookup(const std::string& hostname, sockaddr_storage& addr, struct addrinfo& hints);
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type);
static void setPort(struct sockaddr_storage& addr, in_port_t port);
static void getIPString(const struct sockaddr_storage& sa, std::string& string);
};
Loading…
Cancel
Save

Powered by TurnKey Linux.