fts-expunge-log.c revision d868a04630bd7bfe9c1543a7c3f68703b3e276e4
bcb4e51a409d94ae670de96afb8483a4f7855294Stephan Bosch/* Copyright (c) 2011-2016 Dovecot authors, see the included COPYING file */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* CRC32 of this entire record (except this checksum) */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* Size of this entire record */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* Mailbox GUID */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* { uid1, uid2 } pairs */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* uint32_t expunge_uid_ranges[]; */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* Total number of messages expunged so far in this log */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* uint32_t expunge_count; */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch HASH_TABLE(uint8_t *, struct fts_expunge_log_mailbox *) mailboxes;
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschstruct fts_expunge_log *fts_expunge_log_init(const char *path)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Boschvoid fts_expunge_log_deinit(struct fts_expunge_log **_log)
int fd;
*expunge_count_r = 0;
if (ret < 0) {
struct fts_expunge_log_append_ctx *
return ctx;
static struct fts_expunge_log_mailbox *
return mailbox;
static struct fts_expunge_log_mailbox *
return mailbox;
sizeof(struct seq_range));
int ret;
sizeof(uint32_t));
*e -= expunge_count;
expunge_count = 0;
if (ret == 0) {
return ret;
bool commit)
return ret;
unsigned int *expunges_r)
int ret;
*expunges_r = 0;
return ret;
struct fts_expunge_log_read_ctx *
return ctx;
unsigned int *uids_size_r)
return FALSE;
unsigned int wanted_size)
const struct fts_expunge_log_read_record *
const unsigned char *data;
unsigned int uids_size;
return NULL;
return NULL;
return NULL;
return NULL;
return NULL;
return NULL;
sizeof(struct seq_range));
return ret;
int ret;
return ret;
return FALSE;
const char *path)
int ret;
return ret;