1
#ifndef __MAILDIR_INDEX_H
2
#define __MAILDIR_INDEX_H
6
#include "mail-index.h"
8
/* ":2,DFRST" - leave the 2 extra for other clients' additions */
9
#define MAILDIR_LOCATION_EXTRA_SPACE 10
11
/* How often to try to flush dirty flags. */
12
#define MAILDIR_DIRTY_FLUSH_TIMEOUT (60*5)
15
maildir_index_alloc(const char *maildir, const char *index_dir,
16
const char *control_dir);
18
/* Return new filename base to save into tmp/ */
19
const char *maildir_generate_tmp_filename(const struct timeval *tv);
20
int maildir_create_tmp(struct mail_index *index, const char *dir,
23
const char *maildir_get_location(struct mail_index *index,
24
struct mail_index_record *rec);
25
enum mail_flags maildir_filename_get_flags(const char *fname,
26
enum mail_flags default_flags);
27
const char *maildir_filename_set_flags(const char *fname,
28
enum mail_flags flags);
30
int maildir_index_rebuild(struct mail_index *index);
31
int maildir_index_sync_readonly(struct mail_index *index,
32
const char *fname, int *found);
33
int maildir_index_sync(struct mail_index *index, int minimal_sync,
34
enum mail_lock_type lock_type, int *changes);
36
int maildir_index_append_file(struct mail_index *index, const char *dir,
37
const char *fname, int new_dir);
38
int maildir_index_update_flags(struct mail_index *index,
39
struct mail_index_record *rec, unsigned int seq,
40
enum mail_flags flags, int external_change);
41
int maildir_try_flush_dirty_flags(struct mail_index *index, int force);
43
struct istream *maildir_open_mail(struct mail_index *index,
44
struct mail_index_record *rec,
45
time_t *internal_date, int *deleted);
47
int maildir_expunge_mail(struct mail_index *index,
48
struct mail_index_record *rec);
50
void maildir_clean_tmp(const char *dir);