summaryrefslogtreecommitdiffstats
path: root/pigeonhole/src/lib-sieve/sieve-binary-dumper.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pigeonhole/src/lib-sieve/sieve-binary-dumper.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/pigeonhole/src/lib-sieve/sieve-binary-dumper.h b/pigeonhole/src/lib-sieve/sieve-binary-dumper.h
new file mode 100644
index 0000000..4343190
--- /dev/null
+++ b/pigeonhole/src/lib-sieve/sieve-binary-dumper.h
@@ -0,0 +1,41 @@
+#ifndef SIEVE_BINARY_DUMPER_H
+#define SIEVE_BINARY_DUMPER_H
+
+#include "sieve-common.h"
+
+/*
+ * Binary dumper object
+ */
+
+struct sieve_binary_dumper;
+
+struct sieve_binary_dumper *
+sieve_binary_dumper_create(struct sieve_binary *sbin);
+void sieve_binary_dumper_free(struct sieve_binary_dumper **dumper);
+
+pool_t sieve_binary_dumper_pool(struct sieve_binary_dumper *dumper);
+
+/*
+ * Formatted output
+ */
+
+void sieve_binary_dumpf(const struct sieve_dumptime_env *denv,
+ const char *fmt, ...) ATTR_FORMAT(2, 3);
+void sieve_binary_dump_sectionf(const struct sieve_dumptime_env *denv,
+ const char *fmt, ...) ATTR_FORMAT(2, 3);
+
+/*
+ * Dumping the binary
+ */
+
+bool sieve_binary_dumper_run(struct sieve_binary_dumper *dumper,
+ struct ostream *stream, bool verbose);
+
+/*
+ * Hexdump production
+ */
+
+void sieve_binary_dumper_hexdump(struct sieve_binary_dumper *dumper,
+ struct ostream *stream);
+
+#endif