1 #include <lunaix/syslog.h>
2 #include <lunaix/tty/tty.h>
3 #include <klibc/stdio.h>
5 #define MAX_KPRINTF_BUF_SIZE 1024
6 #define MAX_XFMT_SIZE 1024
8 char buf[MAX_KPRINTF_BUF_SIZE];
11 __kprintf(const char* component, const char* fmt, va_list args) {
14 char expanded_fmt[MAX_XFMT_SIZE];
15 vga_attribute current_theme = tty_get_theme();
25 snprintf(expanded_fmt, MAX_XFMT_SIZE, "[%s] (%s) %s", "INFO", component, fmt);
28 tty_set_theme(VGA_COLOR_BROWN, current_theme >> 12);
29 snprintf(expanded_fmt, MAX_XFMT_SIZE, "[%s] (%s) %s", "INFO", component, fmt);
32 tty_set_theme(VGA_COLOR_LIGHT_RED, current_theme >> 12);
33 snprintf(expanded_fmt, MAX_XFMT_SIZE, "[%s] (%s) %s", "EROR", component, fmt);
36 snprintf(expanded_fmt, MAX_XFMT_SIZE, "[%s] (%s) %s", "LOG", component, fmt);
40 __sprintf_internal(buf, expanded_fmt, MAX_KPRINTF_BUF_SIZE, args);
42 tty_set_theme(current_theme >> 8, current_theme >> 12);
46 kprint_panic(const char* fmt, ...) {
50 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_RED);
56 __sprintf_internal(buf, fmt, MAX_KPRINTF_BUF_SIZE, args);