#endif
-#include <errno.h>
+#include <cerrno>
#include "socketengine.h"
/* Contains irc-specific definitions */
#endif
/** Match raw binary data using CIDR rules.
- *
+ *
* This function will use binary comparison to compare the
* two bit sequences, address and mask, up to mask_bits
* bits in size. If they match, it will return true.
CoreExport bool MatchCIDR(const std::string &address, const std::string &cidr_mask, bool match_with_username);
/** Convert an insp_inaddr into human readable form.
- *
+ *
* @param n An insp_inaddr (IP address) structure
* @return A human-readable address. IPV6 addresses
* will be shortened to remove fields which are 0.
CoreExport const char* insp_ntoa(insp_inaddr n);
/** Convert a human-readable address into an insp_inaddr.
- *
+ *
* @param a A human-readable address
* @param n An insp_inaddr struct which the result
* will be copied into on success.
}
}
+
+
/** This class handles incoming connections on client ports.
* It will create a new User for every valid connection
* and assign it a file descriptor.
{
return bind_addr;
}
+
+ /** Handles sockets internals crap of a connection, convenience wrapper really
+ */
+ void AcceptInternal();
+
+ /** Called when a new connection has successfully been accepted on this listener.
+ * @param ipconnectedto The IP address the connection arrived on
+ * @param fd The file descriptor of the new connection
+ */
+ virtual void OnAcceptReady(const std::string &ipconnectedto, int fd);
};
+//class CoreExport ListenSocketClient : public ListenSocket
+//{
+//
+//}
+
#endif