syslog-ng source
patterndb.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2002-2013 Balabit
3  * Copyright (c) 1998-2013 Balázs Scheidler
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 as published
7  * by the Free Software Foundation, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * As an additional exemption you are allowed to compile & link against the
19  * OpenSSL libraries as published by the OpenSSL project. See the file
20  * COPYING for details.
21  *
22  */
23 
24 #ifndef CORRELATION_PATTERNDB_H_INCLUDED
25 #define CORRELATION_PATTERNDB_H_INCLUDED
26 
27 #include "syslog-ng.h"
28 #include "pdb-ruleset.h"
29 #include "timerwheel.h"
30 
31 typedef struct _PatternDB PatternDB;
32 
33 typedef void (*PatternDBEmitFunc)(LogMessage *msg, gpointer user_data);
34 void pattern_db_set_emit_func(PatternDB *self, PatternDBEmitFunc emit_func, gpointer emit_data);
35 void pattern_db_set_program_template(PatternDB *self, LogTemplate *program_template);
36 
37 PDBRuleSet *pattern_db_get_ruleset(PatternDB *self);
38 const gchar *pattern_db_get_ruleset_version(PatternDB *self);
39 const gchar *pattern_db_get_ruleset_pub_date(PatternDB *self);
40 gboolean pattern_db_reload_ruleset(PatternDB *self, GlobalConfig *cfg, const gchar *pdb_file);
41 
42 void pattern_db_advance_time(PatternDB *self, gint timeout);
43 void pattern_db_timer_tick(PatternDB *self);
44 gboolean pattern_db_process(PatternDB *self, LogMessage *msg);
45 gboolean pattern_db_process_with_custom_message(PatternDB *self, LogMessage *msg, const gchar *message,
46  gssize message_len);
47 void pattern_db_debug_ruleset(PatternDB *self, LogMessage *msg, GArray *dbg_list);
48 void pattern_db_expire_state(PatternDB *self);
49 void pattern_db_forget_state(PatternDB *self);
50 
51 PatternDB *pattern_db_new(const gchar *prefix);
52 void pattern_db_free(PatternDB *self);
53 
54 void pattern_db_global_init(void);
55 
56 #endif
void pattern_db_global_init(void)
Definition: patterndb.c:707
void pattern_db_forget_state(PatternDB *self)
Definition: patterndb.c:676
void pattern_db_set_emit_func(PatternDB *self, PatternDBEmitFunc emit_func, gpointer emit_data)
Definition: patterndb.c:475
gboolean pattern_db_reload_ruleset(PatternDB *self, GlobalConfig *cfg, const gchar *pdb_file)
Definition: patterndb.c:452
PDBRuleSet * pattern_db_get_ruleset(PatternDB *self)
Definition: patterndb.c:501
void pattern_db_free(PatternDB *self)
Definition: patterndb.c:695
void pattern_db_advance_time(PatternDB *self, gint timeout)
Definition: patterndb.c:443
void pattern_db_timer_tick(PatternDB *self)
Definition: patterndb.c:420
void(* PatternDBEmitFunc)(LogMessage *msg, gpointer user_data)
Definition: patterndb.h:33
gboolean pattern_db_process(PatternDB *self, LogMessage *msg)
Definition: patterndb.c:618
void pattern_db_expire_state(PatternDB *self)
Definition: patterndb.c:646
const gchar * pattern_db_get_ruleset_pub_date(PatternDB *self)
Definition: patterndb.c:489
void pattern_db_set_program_template(PatternDB *self, LogTemplate *program_template)
Definition: patterndb.c:482
const gchar * pattern_db_get_ruleset_version(PatternDB *self)
Definition: patterndb.c:495
PatternDB * pattern_db_new(const gchar *prefix)
Definition: patterndb.c:683
gboolean pattern_db_process_with_custom_message(PatternDB *self, LogMessage *msg, const gchar *message, gssize message_len)
Definition: patterndb.c:627
void pattern_db_debug_ruleset(PatternDB *self, LogMessage *msg, GArray *dbg_list)
Definition: patterndb.c:637
Definition: pdb-ruleset.h:33
Definition: patterndb.c:63
gpointer emit_data
Definition: patterndb.c:70
LogTemplate * program_template
Definition: patterndb.c:67
gchar * prefix
Definition: patterndb.c:71
GlobalConfig * cfg
Definition: test_batched_ack_tracker.c:34
LogMessage * msg
Definition: test_rename.c:35