doveadm-mail.h revision b8b085f7bc6f1c0367802a9f00062bbbd981690d
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen bool (*parse_arg)(struct doveadm_mail_cmd_context *ctx,int c);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen void (*init)(struct doveadm_mail_cmd_context *ctx,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen const char *const args[]);
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo Sirainen int (*get_next_user)(struct doveadm_mail_cmd_context *ctx,
8887bf3757d51d73887dd20b1db3334d867d3817Timo Sirainen const char **username_r);
8887bf3757d51d73887dd20b1db3334d867d3817Timo Sirainen void (*run)(struct doveadm_mail_cmd_context *ctx,
8887bf3757d51d73887dd20b1db3334d867d3817Timo Sirainen void (*deinit)(struct doveadm_mail_cmd_context *ctx);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen unsigned int id;
fd3d711f219fd6813492acbe051e04327f0ca0f0Timo Sirainen struct mail_storage_service_ctx *storage_service;
fd3d711f219fd6813492acbe051e04327f0ca0f0Timo Sirainen /* search args aren't set for all mail commands */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen ARRAY_DEFINE(module_contexts, union doveadm_mail_cmd_module_context *);
024815ea2ffdda9ea79919f18e865663977f73eaTimo Sirainen struct doveadm_mail_cmd_context *(*alloc)(void);
811f2e26d9782d9cb99fdf82e18ffa0a77564fe2Timo SirainenARRAY_DEFINE_TYPE(doveadm_mail_cmd, struct doveadm_mail_cmd);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenextern ARRAY_TYPE(doveadm_mail_cmd) doveadm_mail_cmds;
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenextern void (*hook_doveadm_mail_init)(struct doveadm_mail_cmd_context *ctx);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenextern struct doveadm_mail_cmd_module_register doveadm_mail_cmd_module_register;
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenbool doveadm_mail_try_run(const char *cmd_name, int argc, char *argv[]);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenvoid doveadm_mail_register_cmd(const struct doveadm_mail_cmd *cmd);
d482b35af87f5fd872bad007da0475813a401a49Timo Sirainenvoid doveadm_mail_help(const struct doveadm_mail_cmd *cmd) ATTR_NORETURN;
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenvoid doveadm_mail_help_name(const char *cmd_name) ATTR_NORETURN;
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenvoid doveadm_mail_try_help_name(const char *cmd_name);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenbool doveadm_mail_has_subcommands(const char *cmd_name);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainendoveadm_mailbox_find_and_sync(struct mail_user *user, const char *mailbox);
2a6af811ea3de3cf9e2f15e446674dd21b0705f3Timo Sirainendoveadm_mail_build_search_args(const char *const args[]);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenconst char *const *doveadm_mailbox_args_to_mutf7(const char *const args[]);
2a734f36105e33ab452d057df6bc7a2b7d9f96f0Timo Sirainendoveadm_mail_mailbox_search_args_build(const char *const args[]);
2a6af811ea3de3cf9e2f15e446674dd21b0705f3Timo Sirainen (type *)doveadm_mail_cmd_alloc_size(sizeof(type))
d2475500ee2a5f3c07eb22886797cef0e11ce7c4Timo Sirainen/* same as printf(), but when running with -A parameter,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen prefix each line with username. */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenvoid dm_printf(struct doveadm_mail_cmd_context *ctx, const char *format, ...)