1 /**
2  * @file kprint.h
3  * @author longjin
4  * @brief 内核日志打印程序
5  * @date 2022-01-28
6  *
7  * @copyright Copyright (c) 2022 longjin
8  *
9  */
10 
11 #pragma once
12 #include "printk.h"
13 
14 #define ksuccess(...)                          \
15     do                                         \
16     {                                          \
17         printk("[ ");                          \
18         printk_color(GREEN, BLACK, "SUCCESS"); \
19         printk(" ] ");                         \
20         printk(__VA_ARGS__);                   \
21         printk("\n");                          \
22     } while (0)
23 
24 #define kinfo(...)           \
25     do                       \
26     {                        \
27         printk("[ INFO ] "); \
28         printk(__VA_ARGS__); \
29         printk("\n");        \
30     } while (0)
31 
32 #define kdebug(...)                                        \
33     do                                                     \
34     {                                                      \
35         printk("[ DEBUG ] (%s:%d)\t", __FILE__, __LINE__); \
36         printk(__VA_ARGS__);                               \
37         printk("\n");                                      \
38     } while (0)
39 
40 #define kwarn(...)                                 \
41     do                                             \
42     {                                              \
43         printk("[ ");                              \
44         printk_color(YELLOW, BLACK, "WARN");       \
45         printk(" ] "); \
46         printk(__VA_ARGS__);                       \
47         printk("\n");                              \
48     } while (0)
49 
50 #define kerror(...)                        \
51     do                                     \
52     {                                      \
53         printk("[ ");                      \
54         printk_color(RED, BLACK, "ERROR"); \
55         printk(" ] ");                     \
56         printk(__VA_ARGS__);               \
57         printk("\n");                      \
58     } while (0)
59 
60 #define kterminated(...)                        \
61     do                                          \
62     {                                           \
63         printk("[ ");                           \
64         printk_color(RED, BLACK, "TERMINATED"); \
65         printk(" ] ");                          \
66         printk(__VA_ARGS__);                    \
67         printk("\n");                           \
68     } while (0)
69 
70 #define kBUG(...)                                   \
71     do                                              \
72     {                                               \
73         printk("[ ");                               \
74         printk_color(RED, BLACK, "BUG");            \
75         printk(" ] (%s:%d)\t", __FILE__, __LINE__); \
76         printk(__VA_ARGS__);                        \
77         printk("\n");                               \
78     } while (0)
79