From 790dc8a4bf326a7598fc41aa8c018e867edee33a Mon Sep 17 00:00:00 2001 From: "viper viper@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Wed, 3 Sep 2008 20:11:12 +0000 Subject: BUILD : 1.7.21 (1426) BUGS : 876 NOTES : We now support CIDR in channel ban/invite/except lists. Introduces new CIDR capable generic lists system. git-svn-id: svn://svn.anope.org/anope/trunk@1426 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1141 5417fbe8-f217-4b02-8779-1006273d7864 --- include/extern.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'include/extern.h') diff --git a/include/extern.h b/include/extern.h index c85600751..4284b09de 100644 --- a/include/extern.h +++ b/include/extern.h @@ -141,6 +141,19 @@ E void do_mass_mode(char *modes); E void chan_set_correct_modes(User * user, Channel * c, int give_modes); E void restore_unsynced_topics(void); +E Entry *entry_create(char *mask); +E Entry *entry_add(EList *list, char *mask); +E void entry_delete(EList *list, Entry *e); +E EList *list_create(); +E int entry_match(Entry *e, char *nick, char *user, char *host, uint32 ip); +E int entry_match_mask(Entry *e, char *mask, uint32 ip); +E Entry *elist_match(EList *list, char *nick, char *user, char *host, uint32 ip); +E Entry *elist_match_mask(EList *list, char *mask, uint32 ip); +E Entry *elist_match_user(EList *list, User *u); +E Entry *elist_find_mask(EList *list, char *mask); +E long get_memuse(EList *list); + + #define whosends(ci) ((!(ci) || !((ci)->botflags & BS_SYMBIOSIS) || !(ci)->bi || !(ci)->c || (ci)->c->usercount < BSMinUsers) ? s_ChanServ : (ci)->bi->nick) /**** chanserv.c ****/ @@ -862,6 +875,14 @@ E void ntoa(struct in_addr addr, char *ipaddr, int len); E char **buildStringList(char *src, int *number); E void binary_to_hex(unsigned char *bin, char *hex, int length); +E uint32 cidr_to_netmask(uint16 cidr); +E uint16 netmask_to_cidr(uint32 mask); + +E int str_is_wildcard(const char *str); +E int str_is_pure_wildcard(const char *str); + +E uint32 str_is_ip(char *str); +E int str_is_cidr(char *str, uint32 * ip, uint32 * mask, char **host); /**** modules.c ****/ -- cgit