Support to multi-threading and pthread interface (POSIX.1-2008) (#23)
[lunaix-os.git] / lunaix-os / includes / lunaix / syslog.h
index 24233159bc608de5a5ebc57db45e18e2e893d146..423823cc3d7335a64eb582e75b862e250bee3bd4 100644 (file)
 #define KLOG_ERROR 3
 #define KLOG_FATAL 4
 
-#define _LEVEL_INFO "0"
-#define _LEVEL_WARN "1"
-#define _LEVEL_ERROR "2"
-#define _LEVEL_DEBUG "3"
-
 #define KMSG_LVLSTART '\x1b'
 #define KMSG_LOGLEVEL(c) ((c) - '0')
 
     {                                                                          \
         va_list args;                                                          \
         va_start(args, fmt);                                                   \
-        __kprintf(module, fmt, args);                                          \
+        kprintf_m(module, fmt, args);                                          \
         va_end(args);                                                          \
     }
 
-void
-__kprintf(const char* component, const char* fmt, va_list args);
+#define DEBUG(fmt, ...) kprintf(KDEBUG fmt, ##__VA_ARGS__)
+#define INFO(fmt, ...) kprintf(KINFO fmt, ##__VA_ARGS__)
+#define WARN(fmt, ...) kprintf(KWARN fmt, ##__VA_ARGS__)
+#define ERROR(fmt, ...) kprintf(KERROR fmt, ##__VA_ARGS__)
+#define FATAL(fmt, ...)                                                        \
+    ({                                                                         \
+        kprintf(KFATAL fmt, ##__VA_ARGS__);                                    \
+        spin();                                                                \
+    })
 
+void
+kprintf_m(const char* component, const char* fmt, va_list args);
 #endif /* __LUNAIX_SYSLOG_H */