]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/socket.h
Send a snotice when m_filter kills or G-Lines a client.
[user/henk/code/inspircd.git] / include / socket.h
index 9d6c56a182f9c05a426b8758c6067ef7f8113c31..aec06b526e53c849120747e3a2c90b0dea7276b9 100644 (file)
@@ -60,7 +60,7 @@ namespace irc
                        struct sockaddr_in in4;
                        struct sockaddr_in6 in6;
                        /** Return the size of the structure for syscall passing */
-                       int sa_size() const;
+                       socklen_t sa_size() const;
                        /** Return port number or -1 if invalid */
                        int port() const;
                        /** Return IP only */
@@ -84,7 +84,7 @@ namespace irc
                        /** Construct a CIDR mask from the string. Will normalize (127.0.0.1/8 => 127.0.0.0/8). */
                        cidr_mask(const std::string& mask);
                        /** Construct a CIDR mask of a given length from the given address */
-                       cidr_mask(const irc::sockets::sockaddrs& addr, int len);
+                       cidr_mask(const irc::sockets::sockaddrs& addr, unsigned char len);
                        /** Equality of bits, type, and length */
                        bool operator==(const cidr_mask& other) const;
                        /** Ordering defined for maps */
@@ -119,6 +119,9 @@ namespace irc
        }
 }
 
+/** A list of failed port bindings, used for informational purposes on startup */
+typedef std::vector<std::pair<irc::sockets::sockaddrs, int> > FailedPortList;
+
 #include "socketengine.h"
 /** This class handles incoming connections on client ports.
  * It will create a new User for every valid connection
@@ -128,10 +131,7 @@ class CoreExport ListenSocket : public EventHandler
 {
  public:
        reference<ConfigTag> bind_tag;
-       std::string bind_addr;
-       int bind_port;
-       /** Human-readable bind description */
-       std::string bind_desc;
+       const irc::sockets::sockaddrs bind_sa;
 
        class IOHookProvRef : public dynamic_reference_nocheck<IOHookProvider>
        {