]> jfr.im git - solanum.git/blobdiff - include/hostmask.h
refuse opers setting an invalidly long k-line reason
[solanum.git] / include / hostmask.h
index 7b2ce4354685bdc670750a39298132e9bb69b944..b8d5fecababba84e4bbae53a182664c2225a7602 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  charybdis: an advanced Internet Relay Chat Daemon(ircd).
+ *  Solanum: a slightly advanced ircd
  *  hostmask.h: A header for the hostmask code.
  *
  *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
@@ -33,6 +33,12 @@ enum
        HM_IPV6,
 };
 
+enum aconf_category
+{
+       AC_CONFIG,
+       AC_BANDB,
+};
+
 int parse_netmask(const char *, struct rb_sockaddr_storage *, int *);
 int parse_netmask_strict(const char *, struct rb_sockaddr_storage *, int *);
 struct ConfItem *find_conf_by_address(const char *host, const char *sockhost,
@@ -40,10 +46,11 @@ struct ConfItem *find_conf_by_address(const char *host, const char *sockhost,
                                      int, int, const char *, const char *);
 struct ConfItem *find_exact_conf_by_address(const char *address, int type,
                                            const char *username);
+struct ConfItem *find_exact_conf_by_address_filtered(const char *address, int type,
+               const char *username, bool (*filter)(struct ConfItem *));
 void add_conf_by_address(const char *, int, const char *, const char *, struct ConfItem *);
 void delete_one_address_conf(const char *, struct ConfItem *);
-void clear_out_address_conf(void);
-void clear_out_address_conf_bans(void);
+void clear_out_address_conf(enum aconf_category);
 void init_host_hash(void);
 struct ConfItem *find_address_conf(const char *host, const char *sockhost,
                                const char *, const char *, struct sockaddr *,