Add a parameter to IPcheck_connect_fail() to support IAuth IP spoofing.
[ircu2.10.12-pk.git] / include / IPcheck.h
index f27499603406995ded7a84ac91e0e3d70734f4de..91693ac09a18b6c52cc9d2b6977cbfcfc6e80e34 100644 (file)
@@ -1,16 +1,27 @@
-#ifndef IPCHECK_H
-#define IPCHECK_H
-
-/*=============================================================================
- * Proto types
+/** @file IPcheck.h
+ * @brief Interface to count users connected from particular IP addresses.
+ * @version $Id$
  */
+#ifndef INCLUDED_ipcheck_h
+#define INCLUDED_ipcheck_h
+
+#ifndef INCLUDED_sys_types_h
+#include <sys/types.h>          /* time_t, size_t */
+#define INCLUDED_sys_types_h
+#endif
 
-extern int IPcheck_local_connect(aClient *cptr);
-extern void IPcheck_connect_fail(aClient *cptr);
-extern void IPcheck_connect_succeeded(aClient *cptr);
-extern int IPcheck_remote_connect(aClient *cptr, const char *hostname,
-    int is_burst);
-extern void IPcheck_disconnect(aClient *cptr);
-extern unsigned short IPcheck_nr(aClient *cptr);
+struct Client;
+struct irc_in_addr;
+
+/*
+ * Prototypes
+ */
+extern void IPcheck_init(void);
+extern int IPcheck_local_connect(const struct irc_in_addr *ip, time_t *next_target_out);
+extern void IPcheck_connect_fail(const struct Client *cptr, int disconnect);
+extern void IPcheck_connect_succeeded(struct Client *cptr);
+extern int IPcheck_remote_connect(struct Client *cptr, int is_burst);
+extern void IPcheck_disconnect(struct Client *cptr);
+extern unsigned short IPcheck_nr(struct Client* cptr);
 
-#endif /* IPCHECK_H */
+#endif /* INCLUDED_ipcheck_h */