Commit two patches from RH package maintainer (#956).
[bitlbee.git] / log.h
blobb651416bd5700304d24ef8123d507e23dd165ab3
1 /********************************************************************\
2 * BitlBee -- An IRC to other IM-networks gateway *
3 * *
4 * Copyright 2002-2005 Wilmer van der Gaast and others *
5 \********************************************************************/
7 /* Logging services for the bee */
9 /*
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License with
21 the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22 if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23 Suite 330, Boston, MA 02111-1307 USA
26 #ifndef _LOG_H
27 #define _LOG_H
29 typedef enum {
30 LOGLVL_INFO,
31 LOGLVL_WARNING,
32 LOGLVL_ERROR,
33 #ifdef DEBUG
34 LOGLVL_DEBUG,
35 #endif
36 } loglvl_t;
38 typedef enum {
39 LOGOUTPUT_NULL,
40 LOGOUTPUT_IRC,
41 LOGOUTPUT_SYSLOG,
42 LOGOUTPUT_CONSOLE,
43 } logoutput_t;
45 typedef struct log_t {
46 void (*error)(int level, const char *logmessage);
47 void (*warning)(int level, const char *logmessage);
48 void (*informational)(int level, const char *logmessage);
49 #ifdef DEBUG
50 void (*debug)(int level, const char *logmessage);
51 #endif
52 } log_t;
54 void log_init(void);
55 void log_link(int level, int output);
56 void log_message(int level, const char *message, ...) G_GNUC_PRINTF( 2, 3 );
57 void log_error(const char *functionname);
59 #endif