summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/extern.h10
-rw-r--r--include/services.h10
2 files changed, 20 insertions, 0 deletions
diff --git a/include/extern.h b/include/extern.h
index a3e6da887..584fda133 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -841,6 +841,9 @@ E int anope_check_sync(const char *name);
E Exception *exceptions;
E int16 nexceptions;
+Session *sessionlist[1024];
+int32 nsessions;
+
E void get_session_stats(long *nrec, long *memuse);
E void get_exception_stats(long *nrec, long *memuse);
@@ -854,6 +857,13 @@ E void save_rdb_exceptions(void);
E int do_exception(User *u);
E void expire_exceptions(void);
+E Session *findsession(const char *host);
+
+E Exception *find_host_exception(const char *host);
+E int exception_add(User * u, const char *mask, const int limit,
+ const char *reason, const char *who,
+ const time_t expires);
+
/**** sockutil.c ****/
E int32 total_read, total_written;
diff --git a/include/services.h b/include/services.h
index 2d6aae05f..6e82bbb10 100644
--- a/include/services.h
+++ b/include/services.h
@@ -155,6 +155,7 @@ typedef struct cmmode_ CMMode;
typedef struct csmode_ CSMode;
typedef struct cumode_ CUMode;
typedef struct csmodeutil_ CSModeUtil;
+typedef struct session_ Session;
/*************************************************************************/
@@ -928,6 +929,15 @@ struct exception_ {
/*************************************************************************/
+struct session_ {
+ Session *prev, *next;
+ char *host;
+ int count; /* Number of clients with this host */
+ int hits; /* Number of subsequent kills for a host */
+};
+
+/*************************************************************************/
+
/* Proxy stuff */