1
#ifndef DSYNC_MAILBOX_H
2
#define DSYNC_MAILBOX_H
4
#include "mail-storage.h"
6
/* Mailbox that is going to be synced. Its name was already sent in the
9
guid_128_t mailbox_guid;
11
bool have_guids, have_save_guids;
13
uint32_t uid_validity, uid_next, messages_count, first_recent_uid;
14
uint64_t highest_modseq, highest_pvt_modseq;
15
ARRAY_TYPE(mailbox_cache_field) cache_fields;
18
struct dsync_mailbox_attribute {
19
enum mail_attribute_type type;
21
/* if both values are NULL = not looked up yet / deleted */
23
struct istream *value_stream;
25
time_t last_change; /* 0 = unknown */
26
uint64_t modseq; /* 0 = unknown */
28
bool deleted; /* attribute is known to have been deleted */
29
bool exported; /* internally used by exporting */
31
#define DSYNC_ATTR_HAS_VALUE(attr) \
32
((attr)->value != NULL || (attr)->value_stream != NULL)
34
void dsync_mailbox_attribute_dup(pool_t pool,
35
const struct dsync_mailbox_attribute *src,
36
struct dsync_mailbox_attribute *dest_r);