Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/lib-index/mail-index-modseq.h @ 9490:fd84592e817b HEAD
dovecot-example.conf: Updated dict comments.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 23 Nov 2009 13:08:47 -0500 |
parents | 32a045eaf6b6 |
children |
rev | line source |
---|---|
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
1 #ifndef MAIL_INDEX_MODSEQ_H |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 #define MAIL_INDEX_MODSEQ_H |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
7931
502cfdcc5650
Keep modseqs as 1 until the first modseq ext intro record enables them.
Timo Sirainen <tss@iki.fi>
parents:
7812
diff
changeset
|
4 #define MAIL_INDEX_MODSEQ_EXT_NAME "modseq" |
502cfdcc5650
Keep modseqs as 1 until the first modseq ext intro record enables them.
Timo Sirainen <tss@iki.fi>
parents:
7812
diff
changeset
|
5 |
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 enum mail_flags; |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 struct mail_keywords; |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
8 struct mail_index; |
7812
d10cb44ab446
Modseqs are no longer calculated from transaction log sequence + offset.
Timo Sirainen <tss@iki.fi>
parents:
7629
diff
changeset
|
9 struct mail_index_map; |
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
10 struct mail_index_view; |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
11 struct mail_index_modseq; |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
12 struct mail_index_map_modseq; |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 struct mail_index_sync_map_ctx; |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 |
7629 | 15 struct mail_index_modseq_header { |
16 /* highest used modseq */ | |
17 uint64_t highest_modseq; | |
18 /* last tracked log file position */ | |
19 uint32_t log_seq; | |
20 uint32_t log_offset; | |
21 }; | |
22 | |
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
23 void mail_index_modseq_init(struct mail_index *index); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
24 |
7812
d10cb44ab446
Modseqs are no longer calculated from transaction log sequence + offset.
Timo Sirainen <tss@iki.fi>
parents:
7629
diff
changeset
|
25 const struct mail_index_modseq_header * |
d10cb44ab446
Modseqs are no longer calculated from transaction log sequence + offset.
Timo Sirainen <tss@iki.fi>
parents:
7629
diff
changeset
|
26 mail_index_map_get_modseq_header(struct mail_index_map *map); |
d10cb44ab446
Modseqs are no longer calculated from transaction log sequence + offset.
Timo Sirainen <tss@iki.fi>
parents:
7629
diff
changeset
|
27 uint64_t mail_index_map_modseq_get_highest(struct mail_index_map *map); |
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
28 void mail_index_modseq_enable(struct mail_index *index); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
29 uint64_t mail_index_modseq_get_highest(struct mail_index_view *view); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
30 |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
31 uint64_t mail_index_modseq_lookup(struct mail_index_view *view, uint32_t seq); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
32 uint64_t mail_index_modseq_lookup_flags(struct mail_index_view *view, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
33 enum mail_flags flags_mask, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
34 uint32_t seq); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
35 uint64_t mail_index_modseq_lookup_keywords(struct mail_index_view *view, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
36 const struct mail_keywords *keywords, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
37 uint32_t seq); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
38 |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
39 struct mail_index_modseq_sync * |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
40 mail_index_modseq_sync_begin(struct mail_index_sync_map_ctx *sync_map_ctx); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
41 void mail_index_modseq_sync_end(struct mail_index_modseq_sync **ctx); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
42 |
8131
32a045eaf6b6
Fixed crashes related to struct mail_index_map_modseq handling.
Timo Sirainen <tss@iki.fi>
parents:
7931
diff
changeset
|
43 void mail_index_modseq_sync_map_replaced(struct mail_index_modseq_sync *ctx); |
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
44 void mail_index_modseq_hdr_update(struct mail_index_modseq_sync *ctx); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
45 void mail_index_modseq_append(struct mail_index_modseq_sync *ctx, uint32_t seq); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
46 void mail_index_modseq_expunge(struct mail_index_modseq_sync *ctx, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
47 uint32_t seq1, uint32_t seq2); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
48 void mail_index_modseq_update_flags(struct mail_index_modseq_sync *ctx, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
49 enum mail_flags flags_mask, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
50 uint32_t seq1, uint32_t seq2); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
51 void mail_index_modseq_update_keyword(struct mail_index_modseq_sync *ctx, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
52 unsigned int keyword_idx, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
53 uint32_t seq1, uint32_t seq2); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
54 void mail_index_modseq_reset_keywords(struct mail_index_modseq_sync *ctx, |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
55 uint32_t seq1, uint32_t seq2); |
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
56 |
8131
32a045eaf6b6
Fixed crashes related to struct mail_index_map_modseq handling.
Timo Sirainen <tss@iki.fi>
parents:
7931
diff
changeset
|
57 struct mail_index_map_modseq * |
32a045eaf6b6
Fixed crashes related to struct mail_index_map_modseq handling.
Timo Sirainen <tss@iki.fi>
parents:
7931
diff
changeset
|
58 mail_index_map_modseq_clone(const struct mail_index_map_modseq *mmap); |
32a045eaf6b6
Fixed crashes related to struct mail_index_map_modseq handling.
Timo Sirainen <tss@iki.fi>
parents:
7931
diff
changeset
|
59 void mail_index_map_modseq_free(struct mail_index_map_modseq **mmap); |
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
60 |
7812
d10cb44ab446
Modseqs are no longer calculated from transaction log sequence + offset.
Timo Sirainen <tss@iki.fi>
parents:
7629
diff
changeset
|
61 bool mail_index_modseq_get_next_log_offset(struct mail_index_view *view, |
d10cb44ab446
Modseqs are no longer calculated from transaction log sequence + offset.
Timo Sirainen <tss@iki.fi>
parents:
7629
diff
changeset
|
62 uint64_t modseq, uint32_t *log_seq_r, |
d10cb44ab446
Modseqs are no longer calculated from transaction log sequence + offset.
Timo Sirainen <tss@iki.fi>
parents:
7629
diff
changeset
|
63 uoff_t *log_offset_r); |
7629 | 64 |
7627
4fd41f9467ea
Left out from initial CONDSTORE commit.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
65 #endif |