/*
* comp_with_mask - compares to IP address
*/
-int comp_with_mask(void *addr, void *dest, u_int mask);
-int comp_with_mask_sock(struct sockaddr *addr, struct sockaddr *dest, u_int mask);
+int comp_with_mask(void *addr, void *dest, unsigned int mask);
+int comp_with_mask_sock(struct sockaddr *addr, struct sockaddr *dest, unsigned int mask);
/*
* collapse - collapse a string in place, converts multiple adjacent *'s
extern char *collapse(char *pattern);
extern char *collapse_esc(char *pattern);
+struct matchset {
+ char host[2][NAMELEN + USERLEN + HOSTLEN + 6];
+ char ip[2][NAMELEN + USERLEN + HOSTIPLEN + 6];
+};
+
+struct Client;
+
+void matchset_for_client(struct Client *who, struct matchset *m);
+bool client_matches_mask(struct Client *who, const char *mask);
+bool matches_mask(const struct matchset *m, const char *mask);
+
/*
* irccmp - case insensitive comparison of s1 and s2
*/
/*
* character macros
*/
-extern const unsigned char ToLowerTab[];
-#define ToLower(c) (ToLowerTab[(unsigned char)(c)])
+extern const unsigned char irctolower_tab[];
+#define irctolower(c) (irctolower_tab[(unsigned char)(c)])
-extern const unsigned char ToUpperTab[];
-#define ToUpper(c) (ToUpperTab[(unsigned char)(c)])
+extern const unsigned char irctoupper_tab[];
+#define irctoupper(c) (irctoupper_tab[(unsigned char)(c)])
-extern const unsigned int CharAttrs[];
+extern unsigned int CharAttrs[];
#define PRINT_C 0x001
#define CNTRL_C 0x002
{
while (*str)
{
- *str = ToUpper(*str);
+ *str = irctoupper(*str);
str++;
}
return;