1 /*
2  * Copyright 2008 Google Inc. All Rights Reserved.
3  *
4  * Author: md@google.com (Michael Davidson)
5  */
6 
7 #ifndef LOGGING_H_
8 #define LOGGING_H_
9 
10 enum msg_type {
11 	MSG_DEBUG,
12 	MSG_INFO,
13 	MSG_WARN,
14 	MSG_ERROR,
15 	MSG_FATAL,
16 };
17 
18 void msg(enum msg_type, int data, const char *fmt, ...);
19 
20 #define	DEBUG(level, fmt, args...)	msg(MSG_DEBUG, level, fmt, ##args)
21 #define	INFO(fmt, args...)		msg(MSG_INFO, 0, fmt, ##args)
22 #define	WARN(err, fmt, args...)		msg(MSG_WARN, err, fmt, ##args)
23 #define	ERROR(err, fmt, args...)	msg(MSG_ERROR, err, fmt, ##args)
24 #define	FATAL(err, fmt, args...)	msg(MSG_FATAL, err, fmt, ##args)
25 
26 extern void set_program_name(const char *name);
27 extern void set_debug_level(int level);
28 extern void set_log_file(FILE *fp);
29 
30 #endif /* LOGGING_H_ */
31