syslog-ng source
affile-dest.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2002-2013 Balabit
3  * Copyright (c) 1998-2012 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 AFFILE_DEST_H_INCLUDED
25 #define AFFILE_DEST_H_INCLUDED
26 
27 #include "driver.h"
28 #include "logwriter.h"
29 #include "file-opener.h"
30 #include "logrotate.h"
31 
32 typedef struct _AFFileDestWriter AFFileDestWriter;
33 
34 typedef struct _AFFileDestDriver
35 {
36  LogDestDriver super;
37  GMutex lock;
38  LogTemplate *filename_template;
39  AFFileDestWriter *single_writer;
41  gboolean template_escape;
42  gboolean use_fsync;
44  FileOpener *file_opener;
45  TimeZoneInfo *local_time_zone_info;
48  guint32 writer_flags;
49  GHashTable *writer_hash;
50 
52  gchar *symlink_as;
53  gboolean use_time_recvd;
55 
56 AFFileDestDriver *affile_dd_new_instance(LogTemplate *filename_template, GlobalConfig *cfg);
57 LogDriver *affile_dd_new(LogTemplate *filename_template, GlobalConfig *cfg);
58 
59 void affile_dd_set_create_dirs(LogDriver *s, gboolean create_dirs);
60 void affile_dd_set_fsync(LogDriver *s, gboolean enable);
61 void affile_dd_set_overwrite_if_older(LogDriver *s, gint overwrite_if_older);
62 void affile_dd_set_symlink_as(LogDriver *s, const gchar *symlink_as);
63 void affile_dd_set_local_time_zone(LogDriver *s, const gchar *local_time_zone);
64 void affile_dd_set_time_reap(LogDriver *s, gint time_reap);
65 void affile_dd_set_logrotate_enable(LogDriver *s, gboolean enable);
66 void affile_dd_set_logrotate_rotations(LogDriver *s, gint max_rotations);
67 void affile_dd_set_logrotate_size(LogDriver *s, gsize size);
68 void affile_dd_global_init(void);
69 
70 #endif
void affile_dd_set_symlink_as(LogDriver *s, const gchar *symlink_as)
Definition: affile-dest.c:559
AFFileDestDriver * affile_dd_new_instance(LogTemplate *filename_template, GlobalConfig *cfg)
Definition: affile-dest.c:965
void affile_dd_set_logrotate_enable(LogDriver *s, gboolean enable)
Definition: affile-dest.c:630
void affile_dd_set_overwrite_if_older(LogDriver *s, gint overwrite_if_older)
Definition: affile-dest.c:551
void affile_dd_set_create_dirs(LogDriver *s, gboolean create_dirs)
Definition: affile-dest.c:543
void affile_dd_set_fsync(LogDriver *s, gboolean enable)
Definition: affile-dest.c:568
void affile_dd_set_logrotate_size(LogDriver *s, gsize size)
Definition: affile-dest.c:644
LogDriver * affile_dd_new(LogTemplate *filename_template, GlobalConfig *cfg)
Definition: affile-dest.c:997
void affile_dd_set_time_reap(LogDriver *s, gint time_reap)
Definition: affile-dest.c:576
void affile_dd_set_local_time_zone(LogDriver *s, const gchar *local_time_zone)
void affile_dd_set_logrotate_rotations(LogDriver *s, gint max_rotations)
Definition: affile-dest.c:637
void affile_dd_global_init(void)
Definition: affile-dest.c:1008
Definition: affile-dest.h:35
gboolean use_fsync
Definition: affile-dest.h:42
FileOpener * file_opener
Definition: affile-dest.h:44
GMutex lock
Definition: affile-dest.h:37
gboolean template_escape
Definition: affile-dest.h:41
guint32 writer_flags
Definition: affile-dest.h:48
LogRotateOptions logrotate_options
Definition: affile-dest.h:47
LogWriterOptions writer_options
Definition: affile-dest.h:46
AFFileDestWriter * single_writer
Definition: affile-dest.h:39
FileOpenerOptions file_opener_options
Definition: affile-dest.h:43
gint overwrite_if_older
Definition: affile-dest.h:51
gboolean use_time_recvd
Definition: affile-dest.h:53
gboolean filename_is_a_template
Definition: affile-dest.h:40
LogTemplate * filename_template
Definition: affile-dest.h:38
gchar * symlink_as
Definition: affile-dest.h:52
GHashTable * writer_hash
Definition: affile-dest.h:49
LogDestDriver super
Definition: affile-dest.h:36
TimeZoneInfo * local_time_zone_info
Definition: affile-dest.h:45
Definition: file-opener.h:44
Definition: logrotate.h:36
Definition: logwriter.h:51
Definition: affile-dest.c:93
GlobalConfig * cfg
Definition: test_batched_ack_tracker.c:34