summaryrefslogtreecommitdiff
path: root/src/trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/trace.h')
-rw-r--r--src/trace.h49
1 files changed, 37 insertions, 12 deletions
diff --git a/src/trace.h b/src/trace.h
index 220e820..b81e616 100644
--- a/src/trace.h
+++ b/src/trace.h
@@ -1,26 +1,45 @@
-#define trace(level, ...) vtrace(__FILE__, __func__, __LINE__, level, __VA_ARGS__)
-#define debug(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_DEBUG, __VA_ARGS__)
-#define info(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_INFO, __VA_ARGS__)
-#define warning(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_WARNING, __VA_ARGS__)
-#define error(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_ERROR, __VA_ARGS__)
+#define trace(level, ...) tracef(__FILE__, __func__, __LINE__, level, __VA_ARGS__)
+#define debug(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_DEBUG, __VA_ARGS__)
+#define info(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_INFO, __VA_ARGS__)
+#define warning(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_WARNING, __VA_ARGS__)
+#define error(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_ERROR, __VA_ARGS__)
enum TraceLevel {
- TraceLevel_DEBUG = 1,
- TraceLevel_INFO = 2,
+ TraceLevel_NONE = 1,
+ TraceLevel_ERROR = 2,
TraceLevel_WARNING = 3,
- TraceLevel_ERROR = 4,
- TraceLevel_NONE = 5,
+ TraceLevel_INFO = 4,
+ TraceLevel_DEBUG = 5,
};
void
-set_level(const enum TraceLevel level);
+vftracef(
+ const char *const file,
+ const char *const function,
+ const int lineno,
+ FILE *restrict stream,
+ const enum TraceLevel level,
+ const char *restrict format,
+ va_list args
+);
+
+void
+ftracef(
+ const char *const file,
+ const char *const function,
+ const int lineno,
+ FILE *restrict stream,
+ const enum TraceLevel level,
+ const char *restrict format,
+ ...
+);
-int
-vtrace(
+void
+tracef(
const char *const file,
const char *const function,
const int lineno,
@@ -28,3 +47,9 @@ vtrace(
const char *restrict format,
...
);
+
+void
+trace_set_stream(FILE *stream);
+
+void
+trace_set_level(const enum TraceLevel level);