#ifndef _glirc_ignore_h
#define _glirc_ignore_h

#include "etc.h"

FD_ignore *ignore_form;

/****************************************************************/
/*	i g n o r e						*/
/****************************************************************/

#define IG_NONE			(0)	/* */
#define IG_MISC			(1 << 0)	/* etc (topic changes, nick changes, whatever else */
#define IG_PRIVMSG		(1 << 1)	/* private msges*/
#define IG_PUBMSG		(1 << 2)	/* public msges*/
#define IG_PRIVNOTICE		(1 << 3)
#define IG_PUBNOTICE		(1 << 4)
#define IG_INVITE		(1 << 5)
#define IG_DCC			(1 << 6)	/* chat, files..*/
#define IG_NOTE			(1 << 8)
#define IG_CTCP			(1 << 9)	/* finger, time,ping..*/

#define IG_ALL			(IG_PRIVMSG|IG_PUBMSG|IG_PRIVNOTICE| \
				 IG_PUBNOTICE|IG_INVITE|IG_DCC|IG_NOTE|IG_CTCP)

#define IG_ABS			(IG_ALL | IG_MISC)

#if 0
#define IG_ABS			(0xffffffff)	/* evrything..completely..they dont exist*/
#define IG_ALL			(IG_ABS & ~(IG_MISC))
#endif

typedef struct TIgnore{
	char	*mask;
	int	what;
	time_t	starttime;
	u_short	period;	/* for how long (in minutes); 0 =>forever */
	struct		TIgnore *next;
}Ignore;
Ignore *ignoreStart, *ignoreEnd;



extern void ignore(int argc, char **argv, Winstruct *win);
extern int ignored(const char *mask, int flag);




#endif
