X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=include%2Fmatch.h;fp=include%2Fmatch.h;h=a2d7542ab973095e1f1e0dff1faa8dcf8b34759d;hp=0000000000000000000000000000000000000000;hb=0400a5a6479398d82526785c18c0df8bc8b92dce;hpb=d17e10da972ce5776c60b4c317267c6abe0e1ead diff --git a/include/match.h b/include/match.h new file mode 100644 index 0000000..a2d7542 --- /dev/null +++ b/include/match.h @@ -0,0 +1,34 @@ +/** @file match.h + * @brief Interface for matching strings to IRC masks. + * @version $Id$ + */ +#ifndef INCLUDED_match_h +#define INCLUDED_match_h +#ifndef INCLUDED_sys_types_h +#include /* XXX - broken BSD system headers */ +#define INCLUDED_sys_types_h +#endif +#ifndef INCLUDED_res_h +#include "res.h" +#endif + +/* + * Prototypes + */ + +/* + * XXX - match returns 0 if a match is found. Smelly interface + * needs to be fixed. --Bleep + */ +extern int mmatch(const char *old_mask, const char *new_mask); +extern int match(const char *ma, const char *na); +extern char *collapse(char *pattern); + +extern int matchcomp(char *cmask, int *minlen, int *charset, const char *mask); +extern int matchexec(const char *string, const char *cmask, int minlen); +extern int matchdecomp(char *mask, const char *cmask); +extern int mmexec(const char *wcm, int wminlen, const char *rcm, int rminlen); + +extern int ipmask_check(const struct irc_in_addr *addr, const struct irc_in_addr *mask, unsigned char bits); + +#endif /* INCLUDED_match_h */