summaryrefslogtreecommitdiff
path: root/include/linux/printk.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/printk.h')
-rw-r--r--include/linux/printk.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/printk.h b/include/linux/printk.h
index 1bec2f7a2d42..6e12e1f09047 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -24,6 +24,32 @@ extern const char linux_proc_banner[];
*/
#define KERN_CONT "<c>"
+static inline int printk_get_level(const char *buffer)
+{
+ if (buffer[0] == '<' && buffer[1] && buffer[2] == '>') {
+ switch (buffer[1]) {
+ case '0' ... '7':
+ case 'd': /* KERN_DEFAULT */
+ case 'c': /* KERN_CONT */
+ return buffer[1];
+ }
+ }
+ return 0;
+}
+
+static inline const char *printk_skip_level(const char *buffer)
+{
+ if (printk_get_level(buffer)) {
+ switch (buffer[1]) {
+ case '0' ... '7':
+ case 'd': /* KERN_DEFAULT */
+ case 'c': /* KERN_CONT */
+ return buffer + 3;
+ }
+ }
+ return buffer;
+}
+
extern int console_printk[];
#define console_loglevel (console_printk[0])