aboutsummaryrefslogtreecommitdiffstats
path: root/src/ckerrlog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ckerrlog.h')
-rw-r--r--src/ckerrlog.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/ckerrlog.h b/src/ckerrlog.h
new file mode 100644
index 0000000..b254d4b
--- /dev/null
+++ b/src/ckerrlog.h
@@ -0,0 +1,40 @@
+/* ckerrlog.h - Error report and logging for ck ------------------------*- C -*-
+ *
+ * This file is part of ck, the config keeper
+ *
+ * -----------------------------------------------------------------------------
+ *
+ * Copyright (C) 2018 Anastasis Grammenos
+ * GPLv3 (see LICENCE for the full notice)
+ *
+ * -------------------------------------------------------------------------- */
+#ifndef CKERRLOG_H
+#define CKERRLOG_H
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <stdio.h>
+
+#define CK_STREAMS \
+ X(err) \
+ X(log)
+
+void ckerr_add_component(char *txt, ...);
+
+#define ERR(...) \
+ ckerr_add_component("-[%s]", COMPONENT); \
+ ckerr(__VA_ARGS__);
+
+typedef struct st_ErrLog ErrLog;
+struct st_ErrLog {
+ char *err;
+ char *log;
+};
+
+extern void initialize_errlog();
+extern void report_errlog();
+extern void ckerr(char *err, ...);
+extern void cklog(char *log, ...);
+
+#endif /* CKERRLOG_H */