diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:51:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:51:24 +0000 |
commit | f7548d6d28c313cf80e6f3ef89aed16a19815df1 (patch) | |
tree | a3f6f2a3f247293bee59ecd28e8cd8ceb6ca064a /pigeonhole/src/managesieve/managesieve-commands.h | |
parent | Initial commit. (diff) | |
download | dovecot-upstream.tar.xz dovecot-upstream.zip |
Adding upstream version 1:2.3.19.1+dfsg1.upstream/1%2.3.19.1+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'pigeonhole/src/managesieve/managesieve-commands.h')
-rw-r--r-- | pigeonhole/src/managesieve/managesieve-commands.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/pigeonhole/src/managesieve/managesieve-commands.h b/pigeonhole/src/managesieve/managesieve-commands.h new file mode 100644 index 0000000..d922b74 --- /dev/null +++ b/pigeonhole/src/managesieve/managesieve-commands.h @@ -0,0 +1,46 @@ +#ifndef MANAGESIEVE_COMMANDS_H +#define MANAGESIEVE_COMMANDS_H + +struct client_command_context; + +#include "managesieve-parser.h" + +typedef bool command_func_t(struct client_command_context *cmd); + +struct command { + const char *name; + command_func_t *func; +}; + +/* Register command. Given name parameter must be permanently stored until + command is unregistered. */ +void command_register(const char *name, command_func_t *func); +void command_unregister(const char *name); + +/* Register array of commands. */ +void command_register_array(const struct command *cmdarr, unsigned int count); +void command_unregister_array(const struct command *cmdarr, unsigned int count); + +struct command *command_find(const char *name); + +void commands_init(void); +void commands_deinit(void); + +/* MANAGESIEVE commands: */ + +/* Non-Authenticated State */ +extern bool cmd_logout(struct client_command_context *cmd); +extern bool cmd_capability(struct client_command_context *cmd); +extern bool cmd_noop(struct client_command_context *cmd); + +/* Authenticated State */ +extern bool cmd_putscript(struct client_command_context *cmd); +extern bool cmd_checkscript(struct client_command_context *cmd); +extern bool cmd_getscript(struct client_command_context *cmd); +extern bool cmd_setactive(struct client_command_context *cmd); +extern bool cmd_deletescript(struct client_command_context *cmd); +extern bool cmd_listscripts(struct client_command_context *cmd); +extern bool cmd_havespace(struct client_command_context *cmd); +extern bool cmd_renamescript(struct client_command_context *cmd); + +#endif |