#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
-#if !defined(_WIN32)
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
-#endif
#include <unistd.h>
#include "empio.h"
--- /dev/null
+/*
+ * Empire - A multi-player, client/server Internet based war game.
+ * Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Ken Stevens, Steve McClure
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * ---
+ *
+ * See files README, COPYING and CREDITS in the root of the source
+ * tree for related information and legal notices. It is expected
+ * that future projects/authors will amend these files as needed.
+ *
+ * ---
+ *
+ * arpa/inet.h: POSIX networking for WIN32
+ *
+ * Known contributors to this file:
+ * Ron Koenderink, 2007
+ */
+
+#ifndef ARPA_INET_H
+#define ARPA_INET_H
+
+#include <sys/socket.h>
+#endif /* ARPA_INET_H */
--- /dev/null
+/*
+ * Empire - A multi-player, client/server Internet based war game.
+ * Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Ken Stevens, Steve McClure
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * ---
+ *
+ * See files README, COPYING and CREDITS in the root of the source
+ * tree for related information and legal notices. It is expected
+ * that future projects/authors will amend these files as needed.
+ *
+ * ---
+ *
+ * netdb.h: POSIX networking for WIN32
+ *
+ * Known contributors to this file:
+ * Ron Koenderink, 2007
+ */
+
+#ifndef NETDB_H
+#define NETDB_H
+
+#include <sys/socket.h>
+#include <ws2tcpip.h>
+#endif /* NETDB_H */
--- /dev/null
+/*
+ * Empire - A multi-player, client/server Internet based war game.
+ * Copyright (C) 1986-2007, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Ken Stevens, Steve McClure
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * ---
+ *
+ * See files README, COPYING and CREDITS in the root of the source
+ * tree for related information and legal notices. It is expected
+ * that future projects/authors will amend these files as needed.
+ *
+ * ---
+ *
+ * netinet/in.h: POSIX networking for WIN32
+ *
+ * Known contributors to this file:
+ * Ron Koenderink, 2007
+ */
+
+#ifndef NETINET_IN_H
+#define NETINET_IN_H
+
+#include <sys/socket.h>
+#endif /* NETINET_IN_H */
return new_fd;
}
+const char *
+inet_ntop(int af, const void *source, char *dest, socklen_t len)
+{
+ if (af == AF_INET)
+ {
+ struct sockaddr_in in;
+ memset(&in, 0, sizeof(in));
+ in.sin_family = AF_INET;
+ memcpy(&in.sin_addr, source, sizeof(struct in_addr));
+ getnameinfo((struct sockaddr *)&in,
+ sizeof(struct sockaddr_in), dest, len,
+ NULL, 0, NI_NUMERICHOST);
+ return dest;
+ }
+ else if (af == AF_INET6)
+ {
+ struct sockaddr_in6 in;
+ memset(&in, 0, sizeof(in));
+ in.sin6_family = AF_INET6;
+ memcpy(&in.sin6_addr, source, sizeof(struct in_addr6));
+ getnameinfo((struct sockaddr *)&in,
+ sizeof(struct sockaddr_in6), dest, len,
+ NULL, 0, NI_NUMERICHOST);
+ return dest;
+ }
+ return NULL;
+}
+
#define FILE_FUNCTION(type, expr) \
int handle; \
\
#include <direct.h>
#include "sys/socket.h"
#include <sys/stat.h>
+#include <ws2tcpip.h>
+
#include "w32misc.h"
/*
const void *optval, socklen_t optlen);
extern int posix_shutdown(int fd, int how);
extern int posix_socket(int domain, int type, int protocol);
+extern const char *inet_ntop(int af, const void *src, char *dst,
+ socklen_t cnt);
extern int posix_close(int fd);
extern int posix_fstat(int fd, struct stat *buffer);