]> jfr.im git - solanum.git/blobdiff - include/match.h
add SNO_FARCONNECT to the help text (#260)
[solanum.git] / include / match.h
index 85e8f1cce571f8bfd2a93cd70ae4d8c95bc01f55..7840c29136042b44289f0c1f2d46caff629037c0 100644 (file)
@@ -46,8 +46,8 @@ extern int match_ips(const char *mask, const char *name);
 /*
  * 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
@@ -59,6 +59,17 @@ int comp_with_mask_sock(struct sockaddr *addr, struct sockaddr *dest, u_int mask
 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
  */
@@ -81,13 +92,13 @@ extern char *canonize(char *);
 /*
  * 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
@@ -143,7 +154,7 @@ static inline void irccasecanon(char *str)
 {
         while (*str)
         {
-                *str = ToUpper(*str);
+                *str = irctoupper(*str);
                 str++;
         }
         return;