C/lh
From Attie's Wiki
(Difference between revisions)
m (→User-Space) |
m |
||
Line 1: | Line 1: | ||
== User-Space == | == User-Space == | ||
<source lang="c"> | <source lang="c"> | ||
+ | #ifndef LH_H | ||
+ | #define LH_H | ||
+ | |||
#include <stdio.h> | #include <stdio.h> | ||
#define LH() \ | #define LH() \ | ||
Line 8: | Line 11: | ||
#define LOG(fmt, ...) \ | #define LOG(fmt, ...) \ | ||
fprintf(stderr, "%c[91m->%c[93m %s:%d %s() %c[91m->%c[93m " fmt "%c[0m\n", 27, 27, __FILE__, __LINE__, __FUNCTION__, 27, 27, ##__VA_ARGS__, 27) | fprintf(stderr, "%c[91m->%c[93m %s:%d %s() %c[91m->%c[93m " fmt "%c[0m\n", 27, 27, __FILE__, __LINE__, __FUNCTION__, 27, 27, ##__VA_ARGS__, 27) | ||
+ | |||
+ | #endif /* LH_H */ | ||
</source> | </source> | ||
Latest revision as of 16:40, 23 July 2015
[edit] User-Space
#ifndef LH_H #define LH_H #include <stdio.h> #define LH() \ fprintf(stderr, "%s:%d %s()\n", __FILE__, __LINE__, __FUNCTION__) #define MH(fmt, ...) \ fprintf(stderr, "%s:%d %s(): " fmt "\n", __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__) #define LOG(fmt, ...) \ fprintf(stderr, "%c[91m->%c[93m %s:%d %s() %c[91m->%c[93m " fmt "%c[0m\n", 27, 27, __FILE__, __LINE__, __FUNCTION__, 27, 27, ##__VA_ARGS__, 27) #endif /* LH_H */
[edit] Kernel
#define LH() \ printk(KERN_EMERG "%s:%d %s()\n", __FILE__, __LINE__, __FUNCTION__) #define MH(fmt, ...) \ printk(KERN_EMERG "%s:%d %s(): " fmt "\n", __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__)