--- /dev/null
+#ifndef MATCHER_PARSER_H
+
+#define MATCHER_PARSER_H
+
+#include "filtering.h"
+#include "scoring.h"
+#include <glib.h>
+
+#define MATCHER_BUF_SIZE 16384
+
+enum {
+ MATCHTYPE_MATCH,
+ MATCHTYPE_MATCHCASE,
+ MATCHTYPE_REGEXP,
+ MATCHTYPE_REGEXPCASE
+};
+
+enum {
+MATCHCRITERIA_ALL,
+MATCHCRITERIA_UNREAD, MATCHCRITERIA_NOT_UNREAD,
+MATCHCRITERIA_NEW, MATCHCRITERIA_NOT_NEW,
+MATCHCRITERIA_MARKED, MATCHCRITERIA_NOT_MARKED,
+MATCHCRITERIA_DELETED, MATCHCRITERIA_NOT_DELETED,
+MATCHCRITERIA_REPLIED, MATCHCRITERIA_NOT_REPLIED,
+MATCHCRITERIA_FORWARDED, MATCHCRITERIA_NOT_FORWARDED,
+MATCHCRITERIA_SUBJECT, MATCHCRITERIA_NOT_SUBJECT,
+MATCHCRITERIA_FROM, MATCHCRITERIA_NOT_FROM,
+MATCHCRITERIA_TO, MATCHCRITERIA_NOT_TO,
+MATCHCRITERIA_CC, MATCHCRITERIA_NOT_CC,
+MATCHCRITERIA_TO_OR_CC, MATCHCRITERIA_NOT_TO_AND_NOT_CC,
+MATCHCRITERIA_AGE_GREATER, MATCHCRITERIA_AGE_LOWER,
+MATCHCRITERIA_NEWSGROUPS, MATCHCRITERIA_NOT_NEWSGROUPS,
+MATCHCRITERIA_INREPLYTO, MATCHCRITERIA_NOT_INREPLYTO,
+MATCHCRITERIA_REFERENCES, MATCHCRITERIA_NOT_REFERENCES,
+MATCHCRITERIA_SCORE_GREATER, MATCHCRITERIA_SCORE_LOWER,
+MATCHCRITERIA_HEADER, MATCHCRITERIA_NOT_HEADER,
+MATCHCRITERIA_HEADERS_PART, MATCHCRITERIA_NOT_HEADERS_PART,
+MATCHCRITERIA_MESSAGE, MATCHCRITERIA_NOT_MESSAGE,
+MATCHCRITERIA_BODY_PART, MATCHCRITERIA_NOT_BODY_PART,
+MATCHCRITERIA_EXECUTE, MATCHCRITERIA_NOT_EXECUTE
+};
+
+enum {
+ MATCHACTION_SCORE,
+ MATCHACTION_EXECUTE,
+ MATCHACTION_MOVE,
+ MATCHACTION_COPY,
+ MATCHACTION_DELETE,
+ MATCHACTION_MARK,
+ MATCHACTION_UNMARK,
+ MATCHACTION_MARK_AS_READ,
+ MATCHACTION_MARK_AS_UNREAD,
+ MATCHACTION_FORWARD,
+ MATCHACTION_FORWARD_AS_ATTACHMENT
+};
+
+enum {
+ MATCHERBOOL_OR,
+ MATCHERBOOL_AND,
+};
+
+extern FILE *matcher_parserin;
+extern int matcher_parserlineno;
+
+int matcher_parserparse(void);
+/* void matcher_parser_init();*/
+MatcherList * matcher_parser_get_cond(gchar * str);
+FilteringProp * matcher_parser_get_filtering(gchar * str);
+ScoringProp * matcher_parser_get_scoring(gchar * str);
+
+#endif