index-storage.h revision 181aa01111e2de2dae413b4c1ccfcfc4e801ac40
#ifndef __INDEX_STORAGE_H
#define __INDEX_STORAGE_H
#include "mail-storage.h"
#include "mail-index.h"
#include "index-mail.h"
struct index_autosync_file {
struct index_autosync_file *next;
char *path;
};
struct index_autosync_io {
struct index_autosync_io *next;
int fd;
};
struct index_mailbox {
/* expunge messages marked as deleted, requires index to be
exclusively locked */
struct mail_index *index;
enum mailbox_lock_type lock_type;
struct mail_cache_transaction_ctx *trans_ctx;
struct timeout *autosync_to;
struct index_autosync_file *autosync_files;
struct index_autosync_io *autosync_ios;
unsigned int min_newmail_notify_interval;
unsigned int synced_messages_count;
unsigned int readonly:1;
unsigned int inconsistent:1;
unsigned int sent_diskspace_warning:1;
unsigned int sent_readonly_flags_warning:1;
unsigned int autosync_pending:1;
};
enum mail_lock_type lock_type);
struct mail_index *
void index_storage_destroy_unrefed(void);
struct index_mailbox *
enum mailbox_open_flags flags);
int sync_size, int minimal_sync,
enum mail_lock_type data_lock_type);
enum mail_flags *flags,
const char *custom_flags[],
unsigned int custom_flags_count);
/* mailbox methods: */
struct mail_storage_callbacks *callbacks,
void *context);
enum mailbox_status_items items,
struct mailbox_status *status);
struct mail_fetch_context *
const char *const *wanted_headers,
const char *messageset, int uidset);
enum mail_fetch_field wanted_fields);
enum mail_fetch_field wanted_fields);
enum mail_sort_type *sort_program);
struct mail_search_context *
struct mail_search_arg *args,
const enum mail_sort_type *sort_program,
const char *const wanted_headers[]);
const struct mail_full_flags *flags,
enum modify_type modify_type);
#endif