mail-index-transaction-private.h revision a022088674a5ae72ed29ae001834cbad62a4f19f
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen /* unsigned char data[]; */
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen int (*commit)(struct mail_index_transaction *t,
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen uint32_t *log_file_seq_r, uoff_t *log_file_offset_r);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen void (*rollback)(struct mail_index_transaction *t);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen /* NOTE: If you add anything new, remember to update
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen mail_index_transaction_reset() to reset it. */
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen ARRAY_DEFINE(appends, struct mail_index_record);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen ARRAY_DEFINE(updates, struct mail_transaction_flag_update);
2598b2f36365b52d9754b9348a5be29569293e46Timo Sirainen unsigned char pre_hdr_change[sizeof(struct mail_index_header)];
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen unsigned char pre_hdr_mask[sizeof(struct mail_index_header)];
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen unsigned char post_hdr_change[sizeof(struct mail_index_header)];
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen unsigned char post_hdr_mask[sizeof(struct mail_index_header)];
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen struct mail_index_transaction_ext_hdr_update *);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen ARRAY_DEFINE(ext_rec_updates, ARRAY_TYPE(seq_array));
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen ARRAY_DEFINE(ext_resizes, struct mail_transaction_ext_intro);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen struct mail_index_transaction_keyword_update);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen struct mail_cache_transaction_ctx *cache_trans_ctx;
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen /* Module-specific contexts. */
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen union mail_index_transaction_module_context *);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen /* this transaction was created for index_sync_view view */
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen /* non-extension updates. flag updates don't change this because
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen they may be added and removed, so be sure to check that the updates
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainen array is non-empty also. */
64e244defe74f513ce94f33d000a048ddbe2ea23Timo Sirainen /* extension updates */
97db4761382024093f441e4bc78ba8b6a056504dTimo Sirainenextern void (*hook_mail_index_transaction_created)
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainenmail_index_transaction_lookup(struct mail_index_transaction *t, uint32_t seq);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainenvoid mail_index_transaction_ref(struct mail_index_transaction *t);
e248fe370c4047cee921a91b48edc37944ab0526Timo Sirainenvoid mail_index_transaction_unref(struct mail_index_transaction **t);
bbba7d0fce1b6ce5baa2d7ef946eb1b63e2ab518Timo Sirainenvoid mail_index_transaction_sort_appends(struct mail_index_transaction *t);
bbba7d0fce1b6ce5baa2d7ef946eb1b63e2ab518Timo Sirainenuint32_t mail_index_transaction_get_next_uid(struct mail_index_transaction *t);