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