summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network/core/os_abstraction.h88
1 files changed, 1 insertions, 87 deletions
diff --git a/src/network/core/os_abstraction.h b/src/network/core/os_abstraction.h
index c320cd910..32c6cffff 100644
--- a/src/network/core/os_abstraction.h
+++ b/src/network/core/os_abstraction.h
@@ -38,93 +38,7 @@ typedef unsigned long in_addr_t;
typedef SSIZE_T ssize_t;
typedef int socklen_t;
# define IPPROTO_IPV6 41
-#else
-#include "../../os/windows/win32.h"
-#include "../../core/alloc_func.hpp"
-
-#define AI_ADDRCONFIG 0x00000400 /* Resolution only if global address configured */
-#define IPV6_V6ONLY 27
-
-static inline int OTTDgetnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, DWORD hostlen, char *serv, DWORD servlen, int flags)
-{
- static int (WINAPI *getnameinfo)(const struct sockaddr *, socklen_t, char *, DWORD, char *, DWORD, int) = NULL;
- static bool first_time = true;
-
- if (first_time) {
- LoadLibraryList((Function*)&getnameinfo, "ws2_32.dll\0getnameinfo\0\0");
- first_time = false;
- }
-
- if (getnameinfo != NULL) return getnameinfo(sa, salen, host, hostlen, serv, servlen, flags);
-
- strncpy(host, inet_ntoa(((const struct sockaddr_in *)sa)->sin_addr), hostlen);
- return 0;
-}
-#define getnameinfo OTTDgetnameinfo
-
-static inline int OTTDgetaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res)
-{
- static int (WINAPI *getaddrinfo)(const char *, const char *, const struct addrinfo *, struct addrinfo **) = NULL;
- static bool first_time = true;
-
- if (first_time) {
- LoadLibraryList((Function*)&getaddrinfo, "ws2_32.dll\0getaddrinfo\0\0");
- first_time = false;
- }
-
- if (getaddrinfo != NULL) return getaddrinfo(nodename, servname, hints, res);
-
- *res = NULL;
-
- in_addr_t ip = inet_addr(nodename);
- if (ip == INADDR_NONE) {
- struct hostent *he = gethostbyname(nodename);
- if (he == NULL) return EAI_NONAME;
- ip = (*(struct in_addr *)he->h_addr).s_addr;
- }
-
- struct sockaddr_in *sin = CallocT<struct sockaddr_in>(1);
- sin->sin_family = AF_INET;
- sin->sin_port = htons(strtoul(servname, NULL, 10));
- sin->sin_addr.s_addr = ip;
-
- struct addrinfo *ai = CallocT<struct addrinfo>(1);
- ai->ai_family = PF_INET;
- ai->ai_addr = (struct sockaddr*)sin;
- ai->ai_addrlen = sizeof(*sin);
- ai->ai_socktype = hints->ai_socktype;
-
- *res = ai;
- return 0;
-}
-#define getaddrinfo OTTDgetaddrinfo
-
-static inline void OTTDfreeaddrinfo(struct addrinfo *ai)
-{
- static int (WINAPI *freeaddrinfo)(struct addrinfo *) = NULL;
- static bool first_time = true;
-
- if (ai == NULL) return;
-
- if (first_time) {
- LoadLibraryList((Function*)&freeaddrinfo, "ws2_32.dll\0freeaddrinfo\0\0");
- first_time = false;
- }
-
- if (freeaddrinfo != NULL) {
- freeaddrinfo(ai);
- return;
- }
-
- do {
- struct addrinfo *next = ai->ai_next;
- free(ai->ai_addr);
- free(ai);
- ai = next;
- } while (ai != NULL);
-}
-#define freeaddrinfo OTTDfreeaddrinfo
-#endif /* __MINGW32__ && __CYGWIN__ */
+#endif /* !(__MINGW32__ && __CYGWIN__) */
#endif /* _WIN32 */
/* UNIX stuff */