diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/extern.h | 10 | ||||
-rw-r--r-- | include/services.h | 10 |
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 */ |