diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/inspircd_io.h | 2 | ||||
-rw-r--r-- | include/socket.h | 22 |
2 files changed, 19 insertions, 5 deletions
diff --git a/include/inspircd_io.h b/include/inspircd_io.h index aac40337d..158acfa79 100644 --- a/include/inspircd_io.h +++ b/include/inspircd_io.h @@ -398,7 +398,7 @@ void SetSignals(); bool DaemonSeed(); bool FileExists(const char* file); int OpenTCPSocket(); -bool BindSocket(int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char* addr); +bool BindSocket(int sockfd, insp_sockaddr client, insp_sockaddr server, int port, char* addr); void WritePID(const std::string &filename); int BindPorts(bool bail); char* CleanFilename(char* name); diff --git a/include/socket.h b/include/socket.h index f8b15ae53..caa1490b5 100644 --- a/include/socket.h +++ b/include/socket.h @@ -24,6 +24,20 @@ #include <string> #include <deque> #include "dns.h" +#include "inspircd_config.h" + +/* macros to the relevant system address description structs */ +#ifdef IPV6 + +typedef struct sockaddr_in6 insp_sockaddr; +typedef struct in6_addr insp_inaddr; + +#else + +typedef struct sockaddr_in insp_sockaddr; +typedef struct in_addr insp_inaddr; + +#endif /** * States which a socket may be in @@ -84,13 +98,13 @@ private: * The host being connected to, * in sockaddr form */ - sockaddr_in addr; + insp_sockaddr addr; /** * The host being connected to, * in in_addr form */ - in_addr addy; + insp_inaddr addy; /** * When this time is reached, @@ -125,13 +139,13 @@ private: * Client sockaddr structure used * by accept() */ - sockaddr_in client; + insp_sockaddr client; /** * Server sockaddr structure used * by accept() */ - sockaddr_in server; + insp_sockaddr server; /** * Used by accept() to indicate the |