1#pragma once
2
3#include <uacpi/kernel_api.h>
4#include <uacpi/internal/context.h>
5#include <uacpi/log.h>
6
7#ifdef UACPI_FORMATTED_LOGGING
8#define uacpi_log uacpi_kernel_log
9#else
10UACPI_PRINTF_DECL(2, 3)
11void uacpi_log(uacpi_log_level, const uacpi_char*, ...);
12#endif
13
14#ifndef UACPI_START_OF_LOG_MSG
15#define UACPI_START_OF_LOG_MSG
16#endif
17
18#ifndef UACPI_END_OF_LOG_MSG
19#define UACPI_END_OF_LOG_MSG "\n"
20#endif
21
22#define uacpi_log_lvl(lvl, fmt, ...) \
23 do { \
24 if (uacpi_should_log(lvl)) \
25 uacpi_log( \
26 lvl, \
27 UACPI_START_OF_LOG_MSG fmt UACPI_END_OF_LOG_MSG \
28 , ##__VA_ARGS__ \
29 ); \
30 } while (0)
31
32#define uacpi_debug(...) uacpi_log_lvl(UACPI_LOG_DEBUG, __VA_ARGS__)
33#define uacpi_trace(...) uacpi_log_lvl(UACPI_LOG_TRACE, __VA_ARGS__)
34#define uacpi_info(...) uacpi_log_lvl(UACPI_LOG_INFO, __VA_ARGS__)
35#define uacpi_warn(...) uacpi_log_lvl(UACPI_LOG_WARN, __VA_ARGS__)
36#define uacpi_error(...) uacpi_log_lvl(UACPI_LOG_ERROR, __VA_ARGS__)
37
38void uacpi_logger_initialize(void);
39