blob: 7e81c0cf769ab7ccc1b00c93978e8ff8f9bf978e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#ifndef DSYNC_MAILBOX_H
#define DSYNC_MAILBOX_H
#include "mail-storage.h"
struct dsync_brain;
/* Mailbox that is going to be synced. Its name was already sent in the
mailbox tree. */
struct dsync_mailbox {
guid_128_t mailbox_guid;
bool mailbox_lost;
bool mailbox_ignore;
bool have_guids, have_save_guids, have_only_guid128;
uint32_t uid_validity, uid_next, messages_count, first_recent_uid;
uint64_t highest_modseq, highest_pvt_modseq;
ARRAY_TYPE(mailbox_cache_field) cache_fields;
};
struct dsync_mailbox_attribute {
enum mail_attribute_type type;
const char *key;
/* if both values are NULL = not looked up yet / deleted */
const char *value;
struct istream *value_stream;
time_t last_change; /* 0 = unknown */
uint64_t modseq; /* 0 = unknown */
bool deleted; /* attribute is known to have been deleted */
bool exported; /* internally used by exporting */
};
#define DSYNC_ATTR_HAS_VALUE(attr) \
((attr)->value != NULL || (attr)->value_stream != NULL)
void dsync_mailbox_attribute_dup(pool_t pool,
const struct dsync_mailbox_attribute *src,
struct dsync_mailbox_attribute *dest_r);
int dsync_mailbox_lock(struct dsync_brain *brain, struct mailbox *box,
struct file_lock **lock_r);
#endif
|