2018-02-20 15:48:15 +00:00
|
|
|
#pragma once
|
|
|
|
|
2019-07-01 18:13:32 +00:00
|
|
|
#include <stdbool.h>
|
|
|
|
#include <pthread.h>
|
|
|
|
|
|
|
|
#include <osmocom/core/logging.h>
|
|
|
|
|
2018-02-20 15:48:15 +00:00
|
|
|
extern const struct log_info log_info;
|
|
|
|
|
|
|
|
/* Debug Areas of the code */
|
|
|
|
enum {
|
|
|
|
DMAIN,
|
2018-12-04 15:37:24 +00:00
|
|
|
DTRXCTRL,
|
2018-08-17 17:55:38 +00:00
|
|
|
DDEV,
|
2018-04-25 10:17:10 +00:00
|
|
|
DLMS,
|
2018-02-20 15:48:15 +00:00
|
|
|
};
|
2019-07-01 18:13:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
bool log_mutex_init();
|
|
|
|
void log_mutex_lock();
|
|
|
|
void log_mutex_unlock();
|
|
|
|
void log_mutex_lock_canceldisable(int *st);
|
|
|
|
void log_mutex_unlock_canceldisable(int st);
|
|
|
|
|
|
|
|
#define CLOGC(category, level, fmt, args...) do { \
|
|
|
|
log_mutex_lock(); \
|
|
|
|
LOGP(category, level, "[tid=%lu] " fmt, pthread_self(), ##args); \
|
|
|
|
log_mutex_unlock(); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
#define CLOGCHAN(chan, category, level, fmt, args...) do { \
|
|
|
|
log_mutex_lock(); \
|
|
|
|
LOGP(category, level, "[tid=%lu][chan=%lu] " fmt, pthread_self(), chan, ##args); \
|
|
|
|
log_mutex_unlock(); \
|
|
|
|
} while(0)
|