36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
/** @file match.h
|
|
* @brief Interface for matching strings to IRC masks.
|
|
* @version $Id: match.h 1478 2005-09-12 03:40:17Z entrope $
|
|
*/
|
|
#ifndef INCLUDED_match_h
|
|
#define INCLUDED_match_h
|
|
#ifndef INCLUDED_sys_types_h
|
|
#include <sys/types.h> /* 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);
|
|
extern struct irc_in_addr ipmask_clean(struct irc_in_addr *mask, unsigned char bits);
|
|
|
|
#endif /* INCLUDED_match_h */
|