blob: fdfb2cdb9471a75760281e953bf88110519a672a [file] [log] [blame]
/*
* Copyright The Transfer List Library Contributors
*
* SPDX-License-Identifier: MIT OR GPL-2.0-or-later
*/
#ifndef LOGGING_H
#define LOGGING_H
struct logger_interface {
void (*info)(const char *fmt, ...);
void (*warn)(const char *fmt, ...);
void (*error)(const char *fmt, ...);
};
extern struct logger_interface *logger;
#define info(...) \
do { \
if (logger && logger->info) \
logger->info(__VA_ARGS__); \
} while (0)
#define warn(...) \
do { \
if (logger && logger->warn) \
logger->warn(__VA_ARGS__); \
} while (0)
#define error(...) \
do { \
if (logger && logger->error) \
logger->error(__VA_ARGS__); \
} while (0)
void libtl_register_logger(struct logger_interface *user_logger);
#endif