syslog-ng source
multi-line-pattern.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Balabit
3  * Copyright (c) 2013 Balazs Scheidler <bazsi@balabit.hu>
4  * Copyright (c) 2022 Balazs Scheidler <bazsi77@gmail.com>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19  *
20  * As an additional exemption you are allowed to compile & link against the
21  * OpenSSL libraries as published by the OpenSSL project. See the file
22  * COPYING for details.
23  *
24  */
25 
26 #ifndef MULTI_LINE_MULTI_LINE_PATTERN_H_INCLUDED
27 #define MULTI_LINE_MULTI_LINE_PATTERN_H_INCLUDED
28 
29 #include "syslog-ng.h"
30 #include "compat/pcre.h"
31 
32 typedef struct _MultiLinePattern MultiLinePattern;
34 {
35  gint ref_cnt;
36  pcre2_code *pattern;
37 };
38 
39 gboolean multi_line_pattern_find(MultiLinePattern *re, const guchar *str, gsize len, gint *start, gint *end);
40 gboolean multi_line_pattern_match(MultiLinePattern *re, const guchar *str, gsize len);
41 MultiLinePattern *multi_line_pattern_compile(const gchar *regexp, GError **error);
42 MultiLinePattern *multi_line_pattern_ref(MultiLinePattern *self);
43 void multi_line_pattern_unref(MultiLinePattern *self);
44 
45 #endif
gboolean multi_line_pattern_match(MultiLinePattern *re, const guchar *str, gsize len)
Definition: multi-line-pattern.c:112
MultiLinePattern * multi_line_pattern_ref(MultiLinePattern *self)
Definition: multi-line-pattern.c:134
gboolean multi_line_pattern_find(MultiLinePattern *re, const guchar *str, gsize len, gint *start, gint *end)
Definition: multi-line-pattern.c:85
MultiLinePattern * multi_line_pattern_compile(const gchar *regexp, GError **error)
Definition: multi-line-pattern.c:36
void multi_line_pattern_unref(MultiLinePattern *self)
Definition: multi-line-pattern.c:142
Definition: multi-line-pattern.h:34
gint ref_cnt
Definition: multi-line-pattern.h:35
pcre2_code * pattern
Definition: multi-line-pattern.h:36