#ifndef INSPIRCD_SOCKET_H
#define INSPIRCD_SOCKET_H
-/* This is where we'll define wrappers for socket IO stuff, for neat winsock compatability */
-
-#ifndef WIN32
-
#include <arpa/inet.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <netdb.h>
#include <errno.h>
-#else
-
-#include <windef.h>
-#include <winsock2.h>
-typedef int socklen_t;
-
-#endif
-
#include "inspircd_config.h"
/* macros to the relevant system address description structs */
typedef struct sockaddr_in6 insp_sockaddr;
typedef struct in6_addr insp_inaddr;
+#define AF_FAMILY AF_INET6
+#define PF_PROTOCOL PF_INET6
#else
typedef struct sockaddr_in insp_sockaddr;
typedef struct in_addr insp_inaddr;
+#define AF_FAMILY AF_INET
+#define PF_PROTOCOL PF_INET
#endif
+const char* insp_ntoa(insp_inaddr n);
+int insp_aton(const char* a, insp_inaddr* n);
+
int OpenTCPSocket();
bool BindSocket(int sockfd, insp_sockaddr client, insp_sockaddr server, int port, char* addr);
int BindPorts(bool bail);