1 #include <klibc/stdio.h>
2 #include <lunaix/lxconsole.h>
3 #include <lunaix/syslog.h>
4 #include <lunaix/tty/tty.h>
6 #define MAX_KPRINTF_BUF_SIZE 512
7 #define MAX_XFMT_SIZE 512
10 __kprintf(const char* component, const char* fmt, va_list args)
12 char buf[MAX_KPRINTF_BUF_SIZE];
16 char expanded_fmt[MAX_XFMT_SIZE];
25 ksnprintf(expanded_fmt,
33 // tty_set_theme(VGA_COLOR_BROWN, current_theme >> 12);
34 ksnprintf(expanded_fmt,
36 "\033[6;0m[%s] (%s) %s\033[39;49m",
42 // tty_set_theme(VGA_COLOR_LIGHT_RED, current_theme >> 12);
43 ksnprintf(expanded_fmt,
45 "\033[12;0m[%s] (%s) %s\033[39;49m",
51 // tty_set_theme(VGA_COLOR_LIGHT_BLUE, current_theme >> 12);
52 ksnprintf(expanded_fmt,
54 "\033[9;0m[%s] (%s) %s\033[39;49m",
60 ksnprintf(expanded_fmt,
69 __ksprintf_internal(buf, expanded_fmt, MAX_KPRINTF_BUF_SIZE, args);
70 console_write_str(buf);
74 kprint_panic(const char* fmt, ...)
76 char buf[MAX_KPRINTF_BUF_SIZE];
80 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_RED);
83 __ksprintf_internal(buf, fmt, MAX_KPRINTF_BUF_SIZE, args);
84 tty_put_str_at(buf, 0, 24);
90 kprint_dbg(const char* fmt, ...)
92 char buf[MAX_KPRINTF_BUF_SIZE];
96 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_MAGENTA);
99 __ksprintf_internal(buf, fmt, MAX_KPRINTF_BUF_SIZE, args);
100 tty_put_str_at(buf, 0, 24);
104 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_BLACK);
108 kprint_hex(const void* buffer, unsigned int size)
110 unsigned char* data = (unsigned char*)buffer;
113 unsigned int ptr = 0;
119 ksnprintf(buf, 64, " %.4p: ", ptr);
120 console_write_str(buf);
121 for (i = 0; i < 8 && size; i++, size--, ptr++) {
122 unsigned char c = *(data + ptr) & 0xff;
123 ch_cache[2 + i] = (32 <= c && c < 127) ? c : '.';
124 ksnprintf(buf, 64, "%.2x ", c);
125 console_write_str(buf);
127 ch_cache[2 + i] = '\0';
128 console_write_str(ch_cache);
129 console_write_char('\n');