/usr/include/dovecot/mail-storage-hooks.h is in dovecot-dev 1:2.2.9-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #ifndef MAIL_STORAGE_HOOKS_H
#define MAIL_STORAGE_HOOKS_H
struct module;
struct mail_user;
struct mail_storage;
struct mail_namespace;
struct mailbox_list;
struct mailbox;
struct mail;
struct mail_storage_hooks {
void (*mail_user_created)(struct mail_user *user);
void (*mail_namespace_storage_added)(struct mail_namespace *ns);
/* called the first time user's initial namespaces were added */
void (*mail_namespaces_created)(struct mail_namespace *namespaces);
/* called every time namespaces are added. most importantly called
when shared mailbox accesses trigger creating new namespaces.
this is called before mail_namespaces_created() at startup.
The namespaces parameter contains all of the current namespaces. */
void (*mail_namespaces_added)(struct mail_namespace *namespaces);
void (*mail_storage_created)(struct mail_storage *storage);
void (*mailbox_list_created)(struct mailbox_list *list);
void (*mailbox_allocated)(struct mailbox *box);
void (*mailbox_opened)(struct mailbox *box);
void (*mail_allocated)(struct mail *mail);
};
void mail_storage_hooks_init(void);
void mail_storage_hooks_deinit(void);
void mail_storage_hooks_add(struct module *module,
const struct mail_storage_hooks *hooks);
/* Add hooks to this plugin regardless of whether it exists in user's
mail_plugins setting. */
void mail_storage_hooks_add_forced(struct module *module,
const struct mail_storage_hooks *hooks);
void mail_storage_hooks_remove(const struct mail_storage_hooks *hooks);
void mail_storage_hooks_add_internal(const struct mail_storage_hooks *hooks);
void mail_storage_hooks_remove_internal(const struct mail_storage_hooks *hooks);
void hook_mail_user_created(struct mail_user *user);
void hook_mail_namespace_storage_added(struct mail_namespace *ns);
void hook_mail_namespaces_created(struct mail_namespace *namespaces);
void hook_mail_namespaces_added(struct mail_namespace *namespaces);
void hook_mail_storage_created(struct mail_storage *storage);
void hook_mailbox_list_created(struct mailbox_list *list);
void hook_mailbox_allocated(struct mailbox *box);
void hook_mailbox_opened(struct mailbox *box);
void hook_mail_allocated(struct mail *mail);
#endif
|