From f7548d6d28c313cf80e6f3ef89aed16a19815df1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 11:51:24 +0200 Subject: Adding upstream version 1:2.3.19.1+dfsg1. Signed-off-by: Daniel Baumann --- pigeonhole/src/managesieve/managesieve-commands.h | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pigeonhole/src/managesieve/managesieve-commands.h (limited to 'pigeonhole/src/managesieve/managesieve-commands.h') 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 -- cgit v1.2.3