summaryrefslogtreecommitdiffstats
path: root/pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h')
-rw-r--r--pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h b/pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h
new file mode 100644
index 0000000..8a6cc36
--- /dev/null
+++ b/pigeonhole/src/lib-sieve/plugins/editheader/ext-editheader-common.h
@@ -0,0 +1,48 @@
+#ifndef EXT_EDITHEADER_COMMON_H
+#define EXT_EDITHEADER_COMMON_H
+
+/*
+ * Commands
+ */
+
+extern const struct sieve_command_def addheader_command;
+extern const struct sieve_command_def deleteheader_command;
+
+/*
+ * Operations
+ */
+
+enum ext_imap4flags_opcode {
+ EXT_EDITHEADER_OPERATION_ADDHEADER,
+ EXT_EDITHEADER_OPERATION_DELETEHEADER,
+};
+
+extern const struct sieve_operation_def addheader_operation;
+extern const struct sieve_operation_def deleteheader_operation;
+
+/*
+ * Extension
+ */
+
+extern const struct sieve_extension_def editheader_extension;
+
+bool ext_editheader_load(const struct sieve_extension *ext, void **context);
+void ext_editheader_unload(const struct sieve_extension *ext);
+
+/*
+ * Protected headers
+ */
+
+bool ext_editheader_header_allow_add(const struct sieve_extension *ext,
+ const char *hname);
+bool ext_editheader_header_allow_delete(const struct sieve_extension *ext,
+ const char *hname);
+
+/*
+ * Limits
+ */
+
+bool ext_editheader_header_too_large(const struct sieve_extension *ext,
+ size_t size);
+
+#endif