mail-index.c revision bb5ef57ee0bebf2c44ee9dee8d94565b850b5e58
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen/* Copyright (c) 2003-2008 Dovecot authors, see the included COPYING file */
f3d506e525a720f214020ca0f989a1966b30edaeTimo Sirainenstruct mail_index_module_register mail_index_module_register = { 0 };
74674a53a72dab535c61f455b2246ef2797844eaTimo Sirainenstruct mail_index *mail_index_alloc(const char *dir, const char *prefix)
9ed2951bd0bb1878a27437d7c00611b2baadd614Timo Sirainen pool_alloconly_create(MEMPOOL_GROWING"index extension", 1024);
9ed2951bd0bb1878a27437d7c00611b2baadd614Timo Sirainen p_array_init(&index->extensions, index->extension_pool, 5);
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainen mail_index_ext_register(index, "keywords", 128, 2, 1);
e9371f899a3d4207a0ffd3923ea5ec7250cf5e75Timo Sirainen index->keywords_pool = pool_alloconly_create("keywords", 512);
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainen hash_create(default_pool, index->keywords_pool, 0,
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainen strcase_hash, (hash_cmp_callback_t *)strcasecmp);
43d3ea2780b5f8557ede7b4c039e8f56cb8d357dTimo Sirainen index->log = mail_transaction_log_alloc(index);
849969f639a00eab26791db3cb1b66430420c0cdTimo Sirainenvoid mail_index_free(struct mail_index **_index)
f3d506e525a720f214020ca0f989a1966b30edaeTimo Sirainenvoid mail_index_set_fsync_types(struct mail_index *index,
be5c76fabc7439fd33bc799bc3ab3f570799977bTimo Sirainenvoid mail_index_set_permissions(struct mail_index *index,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenuint32_t mail_index_ext_register(struct mail_index *index, const char *name,
return ext_id;
unsigned int i, count;
for (i = 0; i < count; i++) {
*ext_id_r = i;
return TRUE;
return FALSE;
void *context)
unsigned int i, count;
for (i = 0; i < count; i++) {
void *value;
return TRUE;
return FALSE;
const char *keyword,
unsigned int *idx_r)
char *keyword_dup;
int ret;
if (ret == 0) {
return ret;
const char *path;
int fd;
return fd;
int ret;
if (ret == 0) {
if (ret >= 0) {
if (ret == 0) {
if (ret == 0) {
if (ret < 0) {
int ret;
MAIL_INDEX_HDR_FLAG_CORRUPTED) != 0) {
return ret;
int ret;
const char *function)
const char *filepath,
const char *function)
#ifdef WORDS_BIGENDIAN