summaryrefslogtreecommitdiffstats
path: root/src/lib-storage/index/index-mailbox-size.h
blob: 002da2288f3430470bc33f4d6bc76c79346664ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef INDEX_MAILBOX_SIZE_H
#define INDEX_MAILBOX_SIZE_H

struct mailbox;

struct mailbox_vsize_update *
index_mailbox_vsize_update_init(struct mailbox *box);
void index_mailbox_vsize_update_deinit(struct mailbox_vsize_update **update);

void index_mailbox_vsize_hdr_expunge(struct mailbox_vsize_update *update,
				     uint32_t uid, uoff_t vsize);

bool index_mailbox_vsize_update_try_lock(struct mailbox_vsize_update *update);
bool index_mailbox_vsize_update_wait_lock(struct mailbox_vsize_update *update);
/* Returns TRUE if expunges & appends should be updating the header. */
bool index_mailbox_vsize_want_updates(struct mailbox_vsize_update *update);

void index_mailbox_vsize_update_appends(struct mailbox *box);

#endif