syslog-ng source
logproto-text-server.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2002-2012 Balabit
3  * Copyright (c) 1998-2012 Balázs Scheidler
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18  *
19  * As an additional exemption you are allowed to compile & link against the
20  * OpenSSL libraries as published by the OpenSSL project. See the file
21  * COPYING for details.
22  *
23  */
24 #ifndef LOGPROTO_TEXT_SERVER_INCLUDED
25 #define LOGPROTO_TEXT_SERVER_INCLUDED
26 
29 
30 typedef struct _LogProtoTextServer LogProtoTextServer;
32 {
33  LogProtoBufferedServer super;
34  MultiLineLogic *multi_line;
35 
36  const guchar *(*find_eom)(const guchar *s, gsize n);
37  gboolean (*extracted_raw_data_handler)(LogProtoTextServer *self, LogProtoBufferedServerState *state,
38  const guchar *buffer_start, gsize buffer_bytesl);
39  gint32 consumed_len;
41 };
42 
43 /* LogProtoTextServer
44  *
45  * This class processes text files/streams. Each record is terminated via an EOL character.
46  */
47 LogProtoServer *log_proto_text_server_new(LogTransport *transport, const LogProtoServerOptionsStorage *options);
48 LogProtoServer *log_proto_text_with_nuls_server_new(LogTransport *transport,
49  const LogProtoServerOptionsStorage *options);
50 LogProtoServer *log_proto_text_multiline_server_new(LogTransport *transport,
51  const LogProtoServerOptionsStorage *options);
52 
53 void log_proto_text_server_init(LogProtoTextServer *self, LogTransport *transport,
54  const LogProtoServerOptionsStorage *options);
55 void log_proto_text_with_nuls_server_init(LogProtoTextServer *self, LogTransport *transport,
56  const LogProtoServerOptionsStorage *options);
57 void log_proto_text_multiline_server_init(LogProtoTextServer *self, LogTransport *transport,
58  const LogProtoServerOptionsStorage *options);
59 
60 LogProtoPrepareAction log_proto_text_server_poll_prepare_method(LogProtoServer *s, GIOCondition *cond, gint *timeout);
61 
62 void log_proto_text_server_free(LogProtoServer *self);
63 
64 void log_proto_text_server_set_multi_line(LogProtoServer *s, MultiLineLogic *multi_line);
65 
66 static inline gboolean
67 log_proto_text_server_validate_options_method(LogProtoServer *s)
68 {
70 }
71 
72 #endif
gboolean log_proto_buffered_server_validate_options_method(LogProtoServer *s)
Definition: logproto-buffered-server.c:1043
LogProtoPrepareAction
Definition: logproto-server.h:39
LogProtoServer * log_proto_text_multiline_server_new(LogTransport *transport, const LogProtoServerOptionsStorage *options)
Definition: logproto-text-server.c:404
void log_proto_text_server_set_multi_line(LogProtoServer *s, MultiLineLogic *multi_line)
Definition: logproto-text-server.c:298
void log_proto_text_server_init(LogProtoTextServer *self, LogTransport *transport, const LogProtoServerOptionsStorage *options)
Definition: logproto-text-server.c:344
LogProtoServer * log_proto_text_server_new(LogTransport *transport, const LogProtoServerOptionsStorage *options)
Definition: logproto-text-server.c:386
void log_proto_text_multiline_server_init(LogProtoTextServer *self, LogTransport *transport, const LogProtoServerOptionsStorage *options)
Definition: logproto-text-server.c:373
LogProtoServer * log_proto_text_with_nuls_server_new(LogTransport *transport, const LogProtoServerOptionsStorage *options)
Definition: logproto-text-server.c:395
void log_proto_text_server_free(LogProtoServer *self)
Definition: logproto-text-server.c:335
void log_proto_text_with_nuls_server_init(LogProtoTextServer *self, LogTransport *transport, const LogProtoServerOptionsStorage *options)
Definition: logproto-text-server.c:365
LogProtoPrepareAction log_proto_text_server_poll_prepare_method(LogProtoServer *s, GIOCondition *cond, gint *timeout)
Definition: logproto-text-server.c:30
Definition: logproto-buffered-server.h:37
Definition: logproto-text-server.h:32
gboolean(* extracted_raw_data_handler)(LogProtoTextServer *self, LogProtoBufferedServerState *state, const guchar *buffer_start, gsize buffer_bytesl)
Definition: logproto-text-server.h:37
gint32 consumed_len
Definition: logproto-text-server.h:39
LogProtoBufferedServer super
Definition: logproto-text-server.h:33
gint32 cached_eol_pos
Definition: logproto-text-server.h:40
MultiLineLogic * multi_line
Definition: logproto-text-server.h:34
struct @95 state