00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00026
00027 #ifndef __LOGGING_H__
00028 #define __LOGGING_H__
00029
00030 #include <cdio/types.h>
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00039 typedef enum {
00040 CDIO_LOG_DEBUG = 1,
00041 CDIO_LOG_INFO,
00043 CDIO_LOG_WARN,
00044 CDIO_LOG_ERROR,
00045 CDIO_LOG_ASSERT
00046 } cdio_log_level_t;
00047
00053 extern cdio_log_level_t cdio_loglevel_default;
00054
00066 typedef void (*cdio_log_handler_t) (cdio_log_level_t level,
00067 const char message[]);
00068
00079 cdio_log_handler_t cdio_log_set_handler (cdio_log_handler_t new_handler);
00080
00093 void cdio_log (cdio_log_level_t level,
00094 const char format[], ...) GNUC_PRINTF(2, 3);
00095
00101 void cdio_debug (const char format[], ...) GNUC_PRINTF(1,2);
00102
00108 void cdio_info (const char format[], ...) GNUC_PRINTF(1,2);
00109
00115 void cdio_warn (const char format[], ...) GNUC_PRINTF(1,2);
00116
00122 void cdio_error (const char format[], ...) GNUC_PRINTF(1,2);
00123
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127
00128 #endif
00129
00130
00131
00132
00133
00134
00135
00136
00137