#ifndef CDIO_LOGGING_H_
#define CDIO_LOGGING_H_
#include <cdio/types.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
CDIO_LOG_DEBUG = 1,
CDIO_LOG_INFO,
CDIO_LOG_WARN,
CDIO_LOG_ERROR,
CDIO_LOG_ASSERT
} cdio_log_level_t;
extern cdio_log_level_t cdio_loglevel_default;
typedef void (*cdio_log_handler_t) (cdio_log_level_t level,
const char message[]);
extern void cdio_default_log_handler(cdio_log_level_t level, const char message[]);
cdio_log_handler_t cdio_log_set_handler (cdio_log_handler_t new_handler);
void cdio_log (cdio_log_level_t level,
const char format[], ...) GNUC_PRINTF(2, 3);
void cdio_debug (const char format[], ...) GNUC_PRINTF(1,2);
void cdio_info (const char format[], ...) GNUC_PRINTF(1,2);
void cdio_warn (const char format[], ...) GNUC_PRINTF(1,2);
void cdio_error (const char format[], ...) GNUC_PRINTF(1,2);
#ifdef __cplusplus
}
#endif
#endif