#ifndef INSPIRCD_SOCKET_H
#define INSPIRCD_SOCKET_H
-/* This is where we'll define wrappers for socket IO stuff, for neat winsock compatability */
-
#include <arpa/inet.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <unistd.h>
#include <fcntl.h>
#include <poll.h>
-#include <errno.h>
#include <netdb.h>
+#include <errno.h>
+
#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);