virtual-storage.c revision 3b1bf68d26c9f2fe4a649f40cf375d52acffc81c
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen/* Copyright (c) 2008-2009 Dovecot authors, see the included COPYING file */
f40e6ef5190f68c2fd0e94c0b001bdf7d160236aTimo Sirainen MODULE_CONTEXT(obj, virtual_mailbox_list_module)
f86c599ead3602dc2d63a473cc13c1119978f538Timo Sirainenstruct virtual_storage_module virtual_storage_module =
c0435c854a0e7246373b9752d163095cc4fbe985Timo Sirainen MODULE_CONTEXT_INIT(&mail_storage_module_register);
5ce2084ada06ade9f44fc2914c34658e9a842dc1Timo Sirainenstatic MODULE_CONTEXT_DEFINE_INIT(virtual_mailbox_list_module,
cc77c1cfe8d072765f793474f49fecd897525466Stephan Boschvirtual_list_delete_mailbox(struct mailbox_list *list, const char *name);
cc77c1cfe8d072765f793474f49fecd897525466Stephan Boschvirtual_list_iter_is_mailbox(struct mailbox_list_iterate_context *ctx,
c10706d231f0690e934affdf18daa9b9a41814c6Timo Sirainenvoid virtual_copy_error(struct mail_storage *dest, struct mail_storage *src)
c10706d231f0690e934affdf18daa9b9a41814c6Timo Sirainen const char *str;
145e47d97bfa6f389c45af8dce06000994f81d08Aki Tuomi if ((src->ns->flags & NAMESPACE_FLAG_HIDDEN) != 0) {
const char *str;
if (debug)
if (debug)
const char **error_r)
const char *layout;
struct virtual_backend_box *
unsigned int i, count;
for (i = 0; i < count; i++) {
return bboxes[i];
return NULL;
struct virtual_backend_box *
unsigned int i, count;
if (mailbox_id == 0)
return NULL;
for (i = 0; i < count; i++) {
return bboxes[i];
return NULL;
const char *name)
const char *const *names;
unsigned int i, count;
for (i = 0; i < count; i++) {
return TRUE;
return FALSE;
unsigned int i, count;
for (i = 0; i < count; i++) {
&error);
if (i == count)
static struct mailbox *
const char *path;
bool failed;
return NULL;
sizeof(struct virtual_mail_index_record),
sizeof(uint32_t));
if (failed) {
return NULL;
static struct mailbox *
const char *path;
return NULL;
path);
return NULL;
unsigned int i, count;
int ret = 0;
for (i = 0; i < count; i++) {
const char *name)
struct dirent *d;
unsigned int dir_len;
errno = 0;
path);
if (!unlinked_something) {
const char *src;
ret = 0;
return ret;
unsigned int count;
return FALSE;
return FALSE;
return FALSE;
return TRUE;
bool only_with_msgs)
unsigned int i, count;
for (i = 0; i < count; i++) {
static void virtual_class_init(void)
static void virtual_class_deinit(void)
NULL,
NULL,
NULL,
NULL,
NULL,