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 // tty_set_theme(VGA_COLOR_BROWN, current_theme >> 12);
26 ksnprintf(expanded_fmt,
28 "\033[6;0mW %s: %s\033[39;49m",
33 // tty_set_theme(VGA_COLOR_LIGHT_RED, current_theme >> 12);
34 ksnprintf(expanded_fmt,
36 "\033[12;0mE %s: %s\033[39;49m",
41 // tty_set_theme(VGA_COLOR_LIGHT_BLUE, current_theme >> 12);
42 ksnprintf(expanded_fmt,
44 "\033[9;0mD %s: %s\033[39;49m",
49 ksnprintf(expanded_fmt, MAX_XFMT_SIZE, "- %s: %s", component, fmt);
53 __ksprintf_internal(buf, expanded_fmt, MAX_KPRINTF_BUF_SIZE, args);
54 console_write_str(buf);
58 kprint_panic(const char* fmt, ...)
60 char buf[MAX_KPRINTF_BUF_SIZE];
64 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_RED);
67 __ksprintf_internal(buf, fmt, MAX_KPRINTF_BUF_SIZE, args);
68 tty_put_str_at(buf, 0, 24);
74 kprint_dbg(const char* fmt, ...)
76 char buf[MAX_KPRINTF_BUF_SIZE];
80 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_MAGENTA);
83 __ksprintf_internal(buf, fmt, MAX_KPRINTF_BUF_SIZE, args);
84 tty_put_str_at(buf, 0, 24);
88 tty_set_theme(VGA_COLOR_WHITE, VGA_COLOR_BLACK);
92 kprint_hex(const void* buffer, unsigned int size)
94 unsigned char* data = (unsigned char*)buffer;
103 ksnprintf(buf, 64, " %.4p: ", ptr);
104 console_write_str(buf);
105 for (i = 0; i < 8 && size; i++, size--, ptr++) {
106 unsigned char c = *(data + ptr) & 0xff;
107 ch_cache[2 + i] = (32 <= c && c < 127) ? c : '.';
108 ksnprintf(buf, 64, "%.2x ", c);
109 console_write_str(buf);
111 ch_cache[2 + i] = '\0';
112 console_write_str(ch_cache);
113 console_write_char('\n');