mail-index-transaction-private.h revision ae8817f05005f57bba32479a610b52d083e2b6eb
#include "seq-range-array.h"
#include "mail-transaction-log.h"
};
struct mail_index_transaction_vfuncs {
int (*commit)(struct mail_index_transaction *t,
void (*rollback)(struct mail_index_transaction *t);
};
struct mail_index_module_register *reg;
};
struct mail_index_transaction {
int refcount;
struct mail_index_transaction_vfuncs v;
struct mail_index_view *view;
/* NOTE: If you add anything new, remember to update
mail_index_transaction_reset() to reset it. */
unsigned char pre_hdr_change[sizeof(struct mail_index_header)];
unsigned char pre_hdr_mask[sizeof(struct mail_index_header)];
unsigned char post_hdr_change[sizeof(struct mail_index_header)];
unsigned char post_hdr_mask[sizeof(struct mail_index_header)];
/* Module-specific contexts. */
union mail_index_transaction_module_context *);
/* this transaction was created for index_sync_view view */
unsigned int sync_transaction:1;
unsigned int hide_transaction:1;
unsigned int no_appends:1;
unsigned int external:1;
unsigned int appends_nonsorted:1;
unsigned int pre_hdr_changed:1;
unsigned int post_hdr_changed:1;
unsigned int reset:1;
unsigned int log_updates:1;
};
extern void (*hook_mail_index_transaction_created)
(struct mail_index_transaction *t);
struct mail_index_record *
void mail_index_transaction_ref(struct mail_index_transaction *t);
void mail_index_transaction_unref(struct mail_index_transaction **t);
void mail_index_transaction_sort_appends(struct mail_index_transaction *t);
#endif