#ifndef KPRINTF_H_ #define KPRINTF_H_ #include #include "term/term.h" #include "spinlock/spinlock.h" #define kprintf(fmt, ...) \ do { \ spinlock_acquire(&TERM.spinlock); \ printf_(fmt, ##__VA_ARGS__); \ spinlock_release(&TERM.spinlock); \ } while(0) #define ksprintf sprintf_ #define kvsprintf vsprintf_ #define ksnprintf snprintf_ #define kvsnprintf vsnprintf_ #define kvprintf vprintf_ #include "ansi_colors.h" #define LOG(component, fmt, ...) kprintf(CRESET "[" CYN component CRESET "]: " fmt, ##__VA_ARGS__) #define ERR(component, fmt, ...) kprintf(CRESET "[" RED1 component CRESET "]: " fmt, ##__VA_ARGS__) #endif // KPRINTF_H_