X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fsocket.h;h=aec06b526e53c849120747e3a2c90b0dea7276b9;hb=4aa27e75af8da0a5bc2e35f931f0165339f5f289;hp=427ee9fe7e3f7823aad489f5b253ba81523a9149;hpb=c6a508a3da977041909f18f77d6e8fea942512cf;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/socket.h b/include/socket.h index 427ee9fe7..aec06b526 100644 --- a/include/socket.h +++ b/include/socket.h @@ -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 */ @@ -116,17 +116,12 @@ namespace irc * @return true if the conversion was successful, false if not. */ CoreExport bool aptosa(const std::string& addr, int port, irc::sockets::sockaddrs& sa); - - /** Convert a binary sockaddr to an address-port pair - * @param sa The structure to convert - * @param addr the IP address - * @param port the port - * @return true if the conversion was successful, false if unknown address family - */ - CoreExport bool satoap(const irc::sockets::sockaddrs& sa, std::string& addr, int &port); } } +/** A list of failed port bindings, used for informational purposes on startup */ +typedef std::vector > FailedPortList; + #include "socketengine.h" /** This class handles incoming connections on client ports. * It will create a new User for every valid connection @@ -136,10 +131,7 @@ class CoreExport ListenSocket : public EventHandler { public: reference 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 {