Thu, 11 Oct 2012 11:42:31 +0200
added some qualifiers + removed pointer alias in mergesort
1 #ifndef LOGGING_H
2 #define LOGGING_H
4 #include "string.h"
5 #include <stdio.h>
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
11 /* leave enough space for custom log levels */
12 #define UCX_LOGGER_ERROR 0x00
13 #define UCX_LOGGER_WARN 0x10
14 #define UCX_LOGGER_INFO 0x20
15 #define UCX_LOGGER_TRACE 0x30
17 typedef struct {
18 FILE *stream;
19 unsigned int level;
20 } UcxLogger;
22 UcxLogger *ucx_logger_new(FILE *stream, unsigned int level);
23 /* neither provide a free function nor a parameter for an allocator */
25 void ucx_logger_log(UcxLogger *logger, unsigned int level,
26 const sstr_t message);
27 #define ucx_logger_error(l,m) ucx_logger_log(l, UCX_LOGGER_ERROR, m)
28 #define ucx_logger_info(l,m) ucx_logger_log(l, UCX_LOGGER_INFO, m)
29 #define ucx_logger_warn(l,m) ucx_logger_log(l, UCX_LOGGER_WARN, m)
30 #define ucx_logger_trace(l,m) ucx_logger_log(l, UCX_LOGGER_TRACE, m)
32 #ifdef __cplusplus
33 }
34 #endif
36 #endif /* LOGGING_H */