summaryrefslogtreecommitdiffstats
path: root/pigeonhole/src/lib-sieve/plugins/duplicate/ext-duplicate-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'pigeonhole/src/lib-sieve/plugins/duplicate/ext-duplicate-common.h')
-rw-r--r--pigeonhole/src/lib-sieve/plugins/duplicate/ext-duplicate-common.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/pigeonhole/src/lib-sieve/plugins/duplicate/ext-duplicate-common.h b/pigeonhole/src/lib-sieve/plugins/duplicate/ext-duplicate-common.h
new file mode 100644
index 0000000..c802b08
--- /dev/null
+++ b/pigeonhole/src/lib-sieve/plugins/duplicate/ext-duplicate-common.h
@@ -0,0 +1,41 @@
+#ifndef EXT_DUPLICATE_COMMON_H
+#define EXT_DUPLICATE_COMMON_H
+
+#include "sieve-common.h"
+
+/*
+ * Extension
+ */
+
+struct ext_duplicate_config {
+ unsigned int default_period;
+ unsigned int max_period;
+};
+
+bool ext_duplicate_load(const struct sieve_extension *ext, void **context);
+void ext_duplicate_unload(const struct sieve_extension *ext);
+
+extern const struct sieve_extension_def duplicate_extension;
+extern const struct sieve_extension_def vnd_duplicate_extension;
+
+/*
+ * Tests
+ */
+
+extern const struct sieve_command_def tst_duplicate;
+
+/*
+ * Operations
+ */
+
+extern const struct sieve_operation_def tst_duplicate_operation;
+
+/*
+ * Duplicate checking
+ */
+
+int ext_duplicate_check(const struct sieve_runtime_env *renv, string_t *handle,
+ const char *value, size_t value_len,
+ sieve_number_t period, bool last, bool *duplicate_r);
+
+#endif