summaryrefslogtreecommitdiffstats
path: root/grammar/rainerscript.h
diff options
context:
space:
mode:
Diffstat (limited to 'grammar/rainerscript.h')
-rw-r--r--grammar/rainerscript.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/grammar/rainerscript.h b/grammar/rainerscript.h
index d00cc4c3..377dde90 100644
--- a/grammar/rainerscript.h
+++ b/grammar/rainerscript.h
@@ -5,7 +5,7 @@
#include <typedefs.h>
#include <sys/types.h>
#include <regex.h>
-
+#include "typedefs.h"
#define LOG_NFACILITIES 24 /* current number of syslog facilities */
#define CNFFUNC_MAX_ARGS 32
@@ -24,6 +24,8 @@ enum cnfobjType {
CNFOBJ_TPL,
CNFOBJ_PROPERTY,
CNFOBJ_CONSTANT,
+ CNFOBJ_MAINQ,
+ CNFOBJ_LOOKUP_TABLE,
CNFOBJ_INVALID = 0
};
@@ -55,6 +57,11 @@ cnfobjType2str(enum cnfobjType ot)
case CNFOBJ_CONSTANT:
return "constant";
break;
+ case CNFOBJ_MAINQ:
+ return "main_queue";
+ case CNFOBJ_LOOKUP_TABLE:
+ return "lookup_table";
+ break;
default:return "error: invalid cnfobjType";
}
}
@@ -164,6 +171,7 @@ struct cnfstmt {
struct {
es_str_t *name;
struct cnfstmt *stmt;
+ ruleset_t *ruleset; /* non-NULL if the ruleset has a queue assigned */
} s_call;
struct {
uchar pmask[LOG_NFACILITIES+1]; /* priority mask */
@@ -175,8 +183,7 @@ struct cnfstmt {
regex_t *regex_cache;/* cache for compiled REs, if used */
struct cstr_s *pCSCompValue;/* value to "compare" against */
sbool isNegated;
- uintTiny propID;/* ID of the requested property */
- es_str_t *propName;/* name of property for CEE-based filters */
+ msgPropDescr_t prop; /* requested property */
struct cnfstmt *t_then;
struct cnfstmt *t_else;
} s_propfilt;
@@ -203,6 +210,7 @@ struct cnfstringval {
struct cnfvar {
unsigned nodetype;
char *name;
+ msgPropDescr_t prop;
};
struct cnfarray {
@@ -228,7 +236,8 @@ enum cnffuncid {
CNFFUNC_RE_MATCH,
CNFFUNC_RE_EXTRACT,
CNFFUNC_FIELD,
- CNFFUNC_PRIFILT
+ CNFFUNC_PRIFILT,
+ CNFFUNC_LOOKUP
};
struct cnffunc {