summaryrefslogtreecommitdiffstats
path: root/tools/syslogd.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-06-10 16:49:14 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-06-10 16:49:14 +0200
commit6f4e3c4e4c85acdcf58969970484a54639ecc8f9 (patch)
tree1e3470e4ac9738c7713f1ef1a0558ed881457d44 /tools/syslogd.h
parent9704f129f72ec9ece11aeccea4bbf0cbccb116cb (diff)
downloadrsyslog-6f4e3c4e4c85acdcf58969970484a54639ecc8f9.tar.gz
rsyslog-6f4e3c4e4c85acdcf58969970484a54639ecc8f9.tar.xz
rsyslog-6f4e3c4e4c85acdcf58969970484a54639ecc8f9.zip
restructered code in perparation for multiple rule set support
... this was long overdue, and I finlly tackeld it. It turned out to be more complex than I initially thought. The next step now probably is to actually implement multiple rule sets and the beauty that comes with them.
Diffstat (limited to 'tools/syslogd.h')
-rw-r--r--tools/syslogd.h56
1 files changed, 3 insertions, 53 deletions
diff --git a/tools/syslogd.h b/tools/syslogd.h
index 8b9bd131..9bcfb2d2 100644
--- a/tools/syslogd.h
+++ b/tools/syslogd.h
@@ -28,67 +28,17 @@
#include "action.h"
#include "linkedlist.h"
#include "expr.h"
+#include "net.h" /* TODO: remove when you remove isAllowedSender from here! */
#ifndef _PATH_CONSOLE
#define _PATH_CONSOLE "/dev/console"
#endif
-
-/* This structure represents the files that will have log
- * copies printed.
- * RGerhards 2004-11-08: Each instance of the filed structure
- * describes what I call an "output channel". This is important
- * to mention as we now allow database connections to be
- * present in the filed structure. If helps immensely, if we
- * think of it as the abstraction of an output channel.
- * rgerhards, 2005-10-26: The structure below provides ample
- * opportunity for non-thread-safety. Each of the variable
- * accesses must be carefully evaluated, many of them probably
- * be guarded by mutexes. But beware of deadlocks...
- * rgerhards, 2007-08-01: as you can see, the structure has shrunk pretty much. I will
- * remove some of the comments some time. It's still the structure that controls much
- * of the processing that goes on in syslogd, but it now has lots of helpers.
- */
-struct filed {
- struct filed *f_next; /* next in linked list */
- /* filter properties */
- enum {
- FILTER_PRI = 0, /* traditional PRI based filer */
- FILTER_PROP = 1, /* extended filter, property based */
- FILTER_EXPR = 2 /* extended filter, expression based */
- } f_filter_type;
- EHostnameCmpMode eHostnameCmpMode;
- cstr_t *pCSHostnameComp; /* hostname to check */
- cstr_t *pCSProgNameComp; /* tag to check or NULL, if not to be checked */
- union {
- u_char f_pmask[LOG_NFACILITIES+1]; /* priority mask */
- struct {
- cstr_t *pCSPropName;
- enum {
- FIOP_NOP = 0, /* do not use - No Operation */
- FIOP_CONTAINS = 1, /* contains string? */
- FIOP_ISEQUAL = 2, /* is (exactly) equal? */
- FIOP_STARTSWITH = 3, /* starts with a string? */
- FIOP_REGEX = 4, /* matches a (BRE) regular expression? */
- FIOP_EREREGEX = 5 /* matches a ERE regular expression? */
- } operation;
- regex_t *regex_cache; /* cache for compiled REs, if such are used */
- cstr_t *pCSCompValue; /* value to "compare" against */
- char isNegated; /* actually a boolean ;) */
- } prop;
- expr_t *f_expr; /* expression object */
- } f_filterData;
-
- linkedList_t llActList; /* list of configured actions */
-};
-
-
-#include "net.h" /* TODO: remove when you remoe isAllowedSender from here! */
void untty(void);
-rsRetVal selectorConstruct(selector_t **ppThis);
+rsRetVal selectorConstruct(ruleset_t **ppThis);
rsRetVal selectorDestruct(void *pVal);
-rsRetVal selectorAddList(selector_t *f);
+rsRetVal selectorAddList(rule_t *f);
/* the following prototypes should go away once we have an input
* module interface -- rgerhards, 2007-12-12
*/