Files
my-os-project2/kernel/kprintf.h

26 lines
683 B
C

#ifndef KPRINTF_H_
#define KPRINTF_H_
#include <printf/printf.h>
#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_