#ifndef MAILDIR_STORAGE_H
#define MAILDIR_STORAGE_H
#include "maildir-settings.h"
/* "base,S=123:2," means:
<base> [<extra sep> <extra data> [..]] <info sep> 2 <flags sep> */
/* ":2," is the standard flags separator */
/* Maildir++ extension: include file size in the filename to avoid stat() */
/* Something (can't remember what anymore) could use 'W' in filename to avoid
calculating file's virtual size (added missing CRs). */
/* Delete files having ctime older than this from tmp/. 36h is standard. */
/* How often to touch the uidlist lock file when it's locked.
This is done both when using KEEP_LOCKED flag and when syncing a large
maildir. */
/* If an operation fails with ENOENT, we'll check if the mailbox is deleted
or if some directory is just missing. If it's missing, we'll create the
directories and try again this many times before failing. */
#include "index-storage.h"
struct timeval;
struct maildir_save_context;
struct maildir_copy_context;
struct maildir_index_header {
};
struct maildir_list_index_record {
};
struct maildir_storage {
const char *temp_prefix;
};
struct maildir_mailbox {
/* Filled lazily by mailbox_get_private_flags_mask() */
/* maildir sync: */
};
extern struct mail_vfuncs maildir_mail_vfuncs;
/* Return -1 = error, 0 = file not found, 1 = ok */
CALLBACK_TYPECHECK(callback, int (*)( \
struct mail_save_context *
struct maildir_filename *
struct maildir_filename *mf,
const char *basename);
int maildir_save_file_get_size(struct mailbox_transaction_context *t,
const char *maildir_save_file_get_path(struct mailbox_transaction_context *t,
struct mail_index_transaction_commit_result *result);
#endif