forked from metin2/server
Rewrote network stack, started working on porting to 64-bit
This commit is contained in:
@ -6,6 +6,7 @@
|
||||
*/
|
||||
#define __LIBTHECORE__
|
||||
#include "stdafx.h"
|
||||
#include <common/length.h>
|
||||
|
||||
static struct timeval null_time = { 0, 0 };
|
||||
|
||||
@ -473,3 +474,44 @@ DWORD get_dword_time()
|
||||
tv.tv_sec -= get_boot_sec();
|
||||
return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
|
||||
}
|
||||
|
||||
std::string GetSocketHost(const sockaddr * address) {
|
||||
sockaddr_in* peer;
|
||||
sockaddr_in6* peer6;
|
||||
char host[MAX_HOST_LENGTH + 1];
|
||||
|
||||
switch (address->sa_family) {
|
||||
case AF_INET:
|
||||
peer = (sockaddr_in*) address;
|
||||
return inet_ntop(AF_INET, &(peer->sin_addr), host, INET_ADDRSTRLEN);
|
||||
|
||||
case AF_INET6:
|
||||
peer6 = (sockaddr_in6*) address;
|
||||
return inet_ntop(AF_INET, &(peer6->sin6_addr), host, INET6_ADDRSTRLEN);
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
in_port_t GetSocketPort(const sockaddr * address) {
|
||||
sockaddr_in* peer;
|
||||
sockaddr_in6* peer6;
|
||||
|
||||
switch (address->sa_family) {
|
||||
case AF_INET:
|
||||
peer = (sockaddr_in*) address;
|
||||
return peer->sin_port;
|
||||
|
||||
case AF_INET6:
|
||||
peer6 = (sockaddr_in6*) address;
|
||||
return peer6->sin6_port;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user