mail-index-view-private.h revision 46c31f64b9f0949f00b7819f45b22f2d64b2ea27
#ifndef __MAIL_INDEX_VIEW_PRIVATE_H
#define __MAIL_INDEX_VIEW_PRIVATE_H
#include "mail-index-private.h"
struct mail_index_view_log_sync_pos {
};
struct mail_index_view_vfuncs {
const struct mail_index_header *
struct mail_index_map **map_r,
const struct mail_index_record **rec_r);
const void **data_r);
};
union mail_index_view_module_context {
struct mail_index_module_register *reg;
};
struct mail_index_view {
int refcount;
struct mail_index_view_vfuncs v;
struct mail_index *index;
struct mail_transaction_log_view *log_view;
unsigned int indexid;
struct mail_index_map *map;
/* After syncing view, map is replaced with sync_new_map. */
struct mail_index_map *sync_new_map;
/* All mappings where we have returned records. They need to be kept
valid until view is synchronized. */
struct mail_index_header hdr;
/* Transaction log offsets which we have already synced */
/* Transaction log offsets which we don't want to return in view sync */
/* Module-specific contexts. */
int transactions;
unsigned int lock_id;
unsigned int inconsistent:1;
/* this view was created by mail_index_sync_begin() */
unsigned int index_sync_view:1;
/* this view is being synced */
unsigned int syncing:1;
unsigned int broken_counters:1;
};
const struct mail_index_view *src);
#endif