#include <string.h> #include <stdbool.h> #include <stdarg.h> #include <stdio.h> #include <_printf.h> /* do_printf() */ #include "_krnl.h" #include "bootlog.h" void klog(char *proc, char *entry, KLOGRESULT result, console_t *vtty0) { unsigned oldattrib; int i = 0; int offset = 69; /* -4 for the "[ ]" part, -2 for the ": " part, -1 for space at end, and -4 for the status */ char status[4]; va_list args; args = args; status[0] = '\0'; /** * Save our old color attributes */ oldattrib = vtty0->attrib; if(result == K_KLOG_SUCCESS) { /** * Successfull initialization of something. * Write "..Ok" then leave */ vtty0->attrib = 8; printf("\b\b\b\b.."); vtty0->attrib = 2; printf("Ok\n"); vtty0->attrib = oldattrib; return; } else if(result == K_KLOG_FAILURE) { /** * Unsuccessfull initialization of something. * Write "Fail" then leave */ vtty0->attrib = 4; printf("\b\b\b\bFail\n"); vtty0->attrib = oldattrib; return; } /** * FIXME * * Should "wrap" the line instead */ if(strlen(entry) + 8 > 80) return; vtty0->attrib = 8; printf("[ "); vtty0->attrib = 15; printf("%s: %s", proc, entry); vtty0->attrib = 8; printf(" ]"); offset -= strlen(proc); offset -= strlen(entry); for(i = 0; i < offset; i++) printf("."); vtty0->attrib = 8; printf("Wait"); vtty0->attrib = oldattrib; }