source: tags/4.1.0/include/sh_error.h

Last change on this file was 481, checked in by katerina, 5 years ago

Enhancements and fixes for tickets #374, #375, #376, #377, #378, and #379.

File size: 5.3 KB
Line 
1/* SAMHAIN file system integrity testing                                   */
2/* Copyright (C) 1999 Rainer Wichmann                                      */
3/*                                                                         */
4/*  This program is free software; you can redistribute it                 */
5/*  and/or modify                                                          */
6/*  it under the terms of the GNU General Public License as                */
7/*  published by                                                           */
8/*  the Free Software Foundation; either version 2 of the License, or      */
9/*  (at your option) any later version.                                    */
10/*                                                                         */
11/*  This program 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          */
14/*  GNU General Public License for more details.                           */
15/*                                                                         */
16/*  You should have received a copy of the GNU General Public License      */
17/*  along with this program; if not, write to the Free Software            */
18/*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.              */
19
20
21/* Public interface for error routines
22 */
23#ifndef SH_ERROR_H
24#define SH_ERROR_H
25
26#include "sh_error_min.h"
27
28
29enum {
30  SH_ERR_T_START  = 0,
31
32  /* 1-13 = SH_LEVEL_XXX */
33
34  SH_ERR_T_RO      = SH_LEVEL_READONLY,
35  SH_ERR_T_LOGS    = SH_LEVEL_LOGFILES,
36  SH_ERR_T_GLOG    = SH_LEVEL_LOGGROW,
37  SH_ERR_T_NOIG    = SH_LEVEL_NOIGNORE,
38  SH_ERR_T_ALLIG   = SH_LEVEL_ALLIGNORE,
39  SH_ERR_T_ATTR    = SH_LEVEL_ATTRIBUTES, 
40  SH_ERR_T_USER0   = SH_LEVEL_USER0, 
41  SH_ERR_T_USER1   = SH_LEVEL_USER1, 
42  SH_ERR_T_USER2   = SH_LEVEL_USER2, 
43  SH_ERR_T_USER3   = SH_LEVEL_USER3, 
44  SH_ERR_T_USER4   = SH_LEVEL_USER4, 
45  SH_ERR_T_PRELINK = SH_LEVEL_PRELINK, 
46
47  SH_ERR_T_DIR    = 13,
48  SH_ERR_T_FILE   = 14,
49  SH_ERR_T_NAME   = 15,
50
51  SH_ERR_T_END    = 16
52};
53
54
55typedef struct  _errFlags {
56  int           debug;
57  int           HaveLog;
58
59  int           loglevel;
60  int           loglevel_temp;
61  int           printlevel;
62  int           maillevel;
63  int           exportlevel;
64  int           sysloglevel;
65  int           externallevel;
66  int           databaselevel;
67
68  int           log_class;
69  int           print_class;
70  int           mail_class;
71  int           export_class;
72  int           syslog_class;
73  int           external_class;
74  int           database_class;
75
76  /* HAVE_LIBPRELUDE */
77  int           preludelevel;
78  int           prelude_class;
79
80} blurb_errFlags;
81
82extern int  ShDFLevel[SH_ERR_T_END];
83
84/* set mask for message class
85 */
86int sh_error_log_mask (const char * c);
87int sh_error_print_mask (const char * c);
88int sh_error_mail_mask (const char * c);
89int sh_error_export_mask (const char * c);
90int sh_error_syslog_mask (const char * c);
91int sh_error_external_mask (const char * c);
92int sh_error_database_mask (const char * c);
93int sh_error_prelude_mask (const char * c);
94
95
96int sh_error_verify (const char * s);
97int sh_error_logverify_mod (const char * s); /* just list, don't verify */
98int sh_error_logverify (const char * s);
99
100void sh_error_dbg_switch(void);
101
102#ifdef SH_WITH_SERVER
103
104void sh_error_set_peer(const char * str);
105#ifdef HAVE_LIBPRELUDE
106void sh_error_set_peer_ip(const char * str);
107#endif
108int  set_flag_sep_log (const char * str);
109#endif
110
111/* init or re-init log facilities that need it
112 */
113void sh_error_fixup(void);
114
115/* only to stderr (GOOD/BAD)
116 */
117void sh_error_only_stderr (int flag);
118
119/* facilities unsafe for closeall()
120 */
121void sh_error_enable_unsafe (int flag);
122
123/* set syslog facility
124 */
125int  sh_log_set_facility (const char * c);
126
127/* map heartbeat messages
128 */
129int sh_log_set_stamp_priority (const char * c);
130
131/* define message header
132 */
133int sh_error_ehead (/*@null@*/const char * s);
134
135/* set level for error logging
136 */
137int sh_error_setlog(const char * str_s);
138
139/* set severity levels
140 */
141int sh_error_set_iv (int iv, const char *  severity_s);
142
143/* set priorities
144 */
145int sh_error_set_level(const char * str_s, int *facility);
146
147/* set level for TCP export
148 */
149int sh_error_setexport(const char *  str_s);
150
151/* set level for syslog
152 */
153int sh_error_set_syslog (const char * flag_s);
154
155/* set level for printing
156 */
157int sh_error_setprint(const char *  flag_s);
158
159/* set severity for external
160 */
161int sh_error_set_external (const char * str_s);
162
163/* set severity for external
164 */
165int sh_error_set_database (const char * str_s);
166
167/* set severity for external
168 */
169int sh_error_set_prelude (const char * str_s);
170
171
172/* set level for mailing
173 */
174int sh_error_setseverity (const char * flag);
175
176/* set debug level
177 */
178int sh_error_setdebug (char * debug_s);
179
180/* switch on/off log to file temporarily
181 */
182void sh_error_logoff(void);
183void sh_error_logrestore(void);
184
185/* short errfile
186 */
187void sh_efile_report();
188int sh_efile_path(const char * str);
189int sh_efile_group(const char * str);
190
191/* (re)set the console device(s)
192 */
193int sh_log_set_console (const char * address);
194void reset_count_dev_console(void);
195
196/* close the message queue [no-op if !defined(WITH_MESSAGE_QUEUE)]
197 */
198void close_ipc (void);
199
200#ifdef WITH_MESSAGE_QUEUE
201/* enable message queue
202 */
203int enable_msgq(const char * foo);
204#endif
205 
206#endif
Note: See TracBrowser for help on using the repository browser.