#include <errno.h>
#include <pcre.h>
#include <string.h>
+#include <strings.h>
#include "../core/config.h"
#include "../control/control.h"
#define RG_PCREFLAGS PCRE_CASELESS
#define RG_MIN_MASK_LEN 5
#define RG_MAX_PER_GLINE_DEFAULT 5
+#define RG_MINIMUM_DELAY_TIME 5
+#define RG_MAXIMUM_RAND_TIME 15
#define RG_EXPIRY_TIME_DEFAULT 1800
+#define RG_NETWORK_WIDE_MAX_GLINES_PER_8_SEC 625 /* 5000 / 8 */
#define RGStringise(x) #x
#define RGBuildHostname(buf, np) snprintf(buf, sizeof(buf), "%s!%s@%s\r%s", np->nick, np->ident, np->host->name->content, np->realname->name->content);
void *rg_schedule = NULL;
void rg_nick(int hooknum, void *arg);
+void rg_lostnick(int hooknum, void *arg);
void rg_startup(void);
int rg_gline(void *source, int cargc, char **cargv);
void rg_displaygline(nick *np, struct rg_struct *rp);
-void rg_sendtoallopers(char *format, ...);
-
void rg_checkexpiry(void *arg);
void rg_logevent(nick *np, char *event, char *details, ...);
-void rg_loggline(struct rg_struct *rg, char *matched);
+void rg_loggline(struct rg_struct *rg, nick *np);
unsigned char rc_hexlookup[256] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,