summaryrefslogtreecommitdiffstats
path: root/src/lib/failures-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/failures-private.h')
-rw-r--r--src/lib/failures-private.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lib/failures-private.h b/src/lib/failures-private.h
new file mode 100644
index 0000000..864247c
--- /dev/null
+++ b/src/lib/failures-private.h
@@ -0,0 +1,26 @@
+#ifndef FAILURES_PRIVATE_H
+#define FAILURES_PRIVATE_H
+
+typedef int
+failure_write_to_file_t(enum log_type type, string_t *data, size_t prefix_len);
+typedef string_t *
+failure_format_str_t(const struct failure_context *ctx, size_t *prefix_len_r,
+ const char *format, va_list args);
+typedef void failure_on_handler_failure_t(const struct failure_context *ctx);
+typedef void failure_post_handler_t(const struct failure_context *ctx);
+
+struct failure_handler_vfuncs {
+ failure_write_to_file_t *write;
+ failure_format_str_t *format;
+ failure_on_handler_failure_t *on_handler_failure;
+ failure_post_handler_t *post_handler;
+};
+
+struct failure_handler_config {
+ int fatal_err_reset;
+ struct failure_handler_vfuncs *v;
+};
+
+extern struct failure_handler_config failure_handler;
+
+#endif