doveadm-mail.h revision 1db62753d9e3b5d71018889c8ef0a3722a307455
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainen bool (*parse_arg)(struct doveadm_mail_cmd_context *ctx,int c);
23878bd03d1de531e3261a25598beec621351910Timo Sirainen void (*init)(struct doveadm_mail_cmd_context *ctx,
23878bd03d1de531e3261a25598beec621351910Timo Sirainen const char *const args[]);
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainen int (*get_next_user)(struct doveadm_mail_cmd_context *ctx,
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainen const char **username_r);
cf63dc8723b971cc80638fccbf494d961cbafc7fTimo Sirainen void (*run)(struct doveadm_mail_cmd_context *ctx,
cf63dc8723b971cc80638fccbf494d961cbafc7fTimo Sirainen void (*deinit)(struct doveadm_mail_cmd_context *ctx);
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainen unsigned int id;
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainen struct mail_storage_service_ctx *storage_service;
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainen /* search args aren't set for all mail commands */
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainen ARRAY_DEFINE(module_contexts, union doveadm_mail_cmd_module_context *);
23878bd03d1de531e3261a25598beec621351910Timo Sirainen struct doveadm_mail_cmd_context *(*alloc)(void);
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo SirainenARRAY_DEFINE_TYPE(doveadm_mail_cmd, struct doveadm_mail_cmd);
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainenextern ARRAY_TYPE(doveadm_mail_cmd) doveadm_mail_cmds;
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainenextern void (*hook_doveadm_mail_init)(struct doveadm_mail_cmd_context *ctx);
1db62753d9e3b5d71018889c8ef0a3722a307455Timo Sirainenextern struct doveadm_mail_cmd_module_register doveadm_mail_cmd_module_register;
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainenbool doveadm_mail_try_run(const char *cmd_name, int argc, char *argv[]);
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainenvoid doveadm_mail_register_cmd(const struct doveadm_mail_cmd *cmd);
a9efdb661eb7a8a33aacfdcc3486dcc675a21543Timo Sirainenvoid doveadm_mail_help(const struct doveadm_mail_cmd *cmd) ATTR_NORETURN;
a9efdb661eb7a8a33aacfdcc3486dcc675a21543Timo Sirainenvoid doveadm_mail_help_name(const char *cmd_name) ATTR_NORETURN;
fab850a6aee4aaef4f4795bd7946807a3ba45041Timo Sirainenvoid doveadm_mail_try_help_name(const char *cmd_name);
94ba4820927b906b333e39445c1508a29387c3aaTimo Sirainendoveadm_mailbox_find_and_sync(struct mail_user *user, const char *mailbox);
97afa073e3e1e0301dc41173ec34beb08edcce50Timo Sirainendoveadm_mail_build_search_args(const char *const args[]);
23878bd03d1de531e3261a25598beec621351910Timo Sirainen (type *)doveadm_mail_cmd_alloc_size(sizeof(type))