mail-index-view.c revision d051664df497582e1eb75a9f238d04b65e858db8
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina/* Copyright (C) 2003-2004 Timo Sirainen */
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březinavoid mail_index_view_clone(struct mail_index_view *dest,
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina mail_transaction_log_view_open(src->index->log);
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina dest->log_file_expunge_seq = src->log_file_expunge_seq;
c747b0c875785ce693f70b50bdda0237c4b04e35Pavel Březina dest->log_file_expunge_offset = src->log_file_expunge_offset;
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina dest->log_file_head_seq = src->log_file_head_seq;
beeef7f627a5ed9264de25ee4c76eb9620c1c984Pavel Březina dest->log_file_head_offset = src->log_file_head_offset;
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březinavoid mail_index_view_ref(struct mail_index_view *view)
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březinastatic void _view_close(struct mail_index_view *view)
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina mail_transaction_log_view_close(&view->log_view);
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březinabool mail_index_view_is_inconsistent(struct mail_index_view *view)
4e5d19f659d8c545c4ed3c307c95cfe4f2ca33cbPavel Březinastruct mail_index *mail_index_view_get_index(struct mail_index_view *view)
4e5d19f659d8c545c4ed3c307c95cfe4f2ca33cbPavel Březinavoid mail_index_view_transaction_ref(struct mail_index_view *view)
4e5d19f659d8c545c4ed3c307c95cfe4f2ca33cbPavel Březinavoid mail_index_view_transaction_unref(struct mail_index_view *view)
c747b0c875785ce693f70b50bdda0237c4b04e35Pavel Březinastatic void mail_index_view_ref_map(struct mail_index_view *view,
c747b0c875785ce693f70b50bdda0237c4b04e35Pavel Březina unsigned int i, count;
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina /* if map is already referenced, do nothing */
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina for (i = 0; i < count; i++) {
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina /* reference the given mapping. the reference is dropped when the view
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina is synchronized or closed. */
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březinavoid mail_index_view_unref_maps(struct mail_index_view *view)
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina unsigned int i, count;
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina maps = array_get_modifiable(&view->map_refs, &count);
772199031f0ec687fa1fefd939206858c440e5a1Pavel Březina for (i = 0; i < count; i++)
static const struct mail_index_header *
static const struct mail_index_record *
return rec;
return rec;
if (seq == 0) {
return rec;
seq--;
} while (seq > 0);
return head_rec;
return rec;
int nearest_side)
if (nearest_side > 0) {
if (*first_seq_r == 0 ||
#define LOW_UPDATE(x) \
*seq_r = 0;
if (seq == 0)
*data_size_r = 0;
return FALSE;
return TRUE;
const struct mail_index_header *
const struct mail_index_record *
const struct mail_index_record *
bool expunged;
bool expunged;
return expunged;
const void *data;
const unsigned char *keyword_data;
const unsigned int *keyword_idx_map;
if (keyword_data[i] == 0)
bool *expunged_r)
bool expunged;
*hdr_size_r = 0;
*record_size_r = 0;
*record_align_r = 0;
struct mail_index_view *
return view;
const struct mail_index_ext *
return NULL;