mail-storage.c revision 21ce0d72bb9eafe34b3824a1d280a3a531825215
2605N/A#include "eacces-error.h"
2605N/A#include "mkdir-parents.h"
2605N/A#include "var-expand.h"
2605N/A#include "mail-index-private.h"
2605N/A#include "mail-index-alloc-cache.h"
2605N/A#include "mailbox-list-private.h"
2605N/A#include "mail-storage-private.h"
2605N/A#include "mail-storage-settings.h"
2605N/A#include "mail-namespace.h"
2605N/A#include "mail-search.h"
2605N/A#include "mail-search-register.h"
2605N/A#include "mailbox-search-result-private.h"
2605N/Avoid mail_storage_init(void)
3996N/Avoid mail_storage_deinit(void)
2605N/Astatic struct mail_storage *
static struct mail_storage *
const char *home;
return NULL;
return NULL;
return storage_class;
return storage_class;
return NULL;
const char **error_r)
} else if (!autocreate) {
bool autocreate;
int ret;
if (ret != 0)
return ret;
static struct mail_storage *
MAIL_STORAGE_CLASS_FLAG_UNIQUE_ROOT) == 0 ||
return storage;
return NULL;
error_r) < 0)
error_r);
T_BEGIN {
} T_END;
const char *fmt, ...)
const char *str;
const struct mail_storage_settings *
void *context)
const char *error_string;
return FALSE;
return FALSE;
return TRUE;
T_BEGIN {
} T_END;
return box;
int ret;
MAIL_STORAGE_CLASS_FLAG_OPEN_STREAMS) == 0) {
T_BEGIN {
} T_END;
} T_END;
if (ret < 0) {
bool directory)
int ret;
return ret;
int ret;
if (ret < 0)
if (del)
return FALSE;
return FALSE;
return FALSE;
return TRUE;
int ret;
return ret;
const char **error_r)
return TRUE;
return FALSE;
return FALSE;
return TRUE;
const char **error_r)
return FALSE;
return FALSE;
return FALSE;
return TRUE;
bool rename_children)
struct mail_namespace *
return FALSE;
struct mailbox_sync_context *
T_BEGIN {
} T_END;
return ctx;
const char *errormsg;
int ret;
return ret;
struct mail_keywords *
const char *const keywords[])
i_unreached();
return kw;
struct mail_keywords *
const char **error_r)
return FALSE;
bool only_with_msgs)
struct mailbox_header_lookup_ctx *
struct mail_search_context *
int ret;
return ret;
bool tryagain;
if (!tryagain)
return FALSE;
return TRUE;
return FALSE;
return TRUE;
int ret;
if (ret < 0)
return ret;
struct mailbox_transaction_context *
return trans;
int ret;
return ret;
int ret;
T_BEGIN {
} T_END;
return ret;
struct mailbox *
return t->box;
struct mail_save_context *
return ctx;
const char *const *keywords_list;
const char *envelope)
int ret;
if (ret < 0) {
int ret;
return ret;
struct mailbox_transaction_context *
int ret;
return ret;
int *fd_r)
int fd;
unsigned int secs)