ctdb-logging: Add APIs to convert debug_level to and from integer
[vlendec/samba-autobuild/.git] / ctdb / common / logging.h
1 /*
2    Logging utilities
3
4    Copyright (C) Amitay Isaacs  2015
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 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, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef __CTDB_LOGGING_H__
21 #define __CTDB_LOGGING_H__
22
23 enum debug_level {
24         DEBUG_ERR     =  0,
25         DEBUG_WARNING =  1,
26         DEBUG_NOTICE  =  2,
27         DEBUG_INFO    =  3,
28         DEBUG_DEBUG   =  4,
29 };
30
31 /* These are used in many places, so define them here to avoid churn */
32 #define DEBUG_ALERT DEBUG_ERR
33 #define DEBUG_CRIT  DEBUG_ERR
34
35 bool debug_level_parse(const char *log_string, enum debug_level *log_level);
36 const char *debug_level_to_string(enum debug_level log_level);
37 enum debug_level debug_level_from_string(const char *log_string);
38 int debug_level_to_int(enum debug_level log_level);
39 enum debug_level debug_level_from_int(int log_int);
40
41 #endif /* __CTDB_LOGGING_H__ */