19 const auto kcon_name = arg;
20 if (kcon_name.empty())
22 pr_warn(
"No console name given for printk");
29 pr_emph(
"Selected console '%s' for future printk\n", kcon_name);
42 mos_warn(
"No console found for printk based on given name or prefix '%s'", kcon_name.data());
#define mos_warn(fmt,...)
#define MOS_PRINTK_BUFFER_SIZE
std::optional< Console * > console_get(mos::string_view name)
std::array< Console *, 128 > consoles
std::optional< Console * > console_get_by_prefix(mos::string_view prefix)
MOSAPI int vsnprintf(char *__restrict buf, size_t size, const char *__restrict format, va_list args)
MOSAPI const char *__restrict format
bool cmdline_string_truthiness(mos::string_view arg, bool default_value)
bool printk_unquiet(void)
void print_to_console(Console *con, LogLevel loglevel, const char *message, size_t len)
static void deduce_level_color(LogLevel loglevel, StandardColor *fg, StandardColor *bg)
void printk_set_quiet(bool quiet)
void printk(const char *format,...)
void lvprintk(LogLevel loglevel, const char *fmt, va_list args)
void lprintk(LogLevel loglevel, const char *format,...)
#define MOS_EARLY_SETUP(_param, _fn)
#define MOS_SETUP(_param, _fn)
size_t WriteColored(const char *data, size_t size, StandardColor fg, StandardColor bg)
struct Console * printk_console