Mercurial > dovecot > core-2.2
view src/lib-storage/index/maildir/maildir-sync.h @ 14629:c93ca5e46a8a
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 24 Jun 2012 00:52:57 +0300 |
parents | ff07827db69a |
children | 4b0cbecf369d |
line wrap: on
line source
#ifndef MAILDIR_SYNC_H #define MAILDIR_SYNC_H /* All systems accessing the filesystem must have their clock less than this many seconds apart from each others. 0 works only for local filesystems. */ #define MAILDIR_SYNC_SECS 1 /* After moving this many mails from new/ to cur/, check if we need to touch the uidlist lock. */ #define MAILDIR_SLOW_MOVE_COUNT 100 /* readdir() should be pretty fast to do, but check anyway every n files to see if we need to touch the uidlist lock. */ #define MAILDIR_SLOW_CHECK_COUNT 10000 /* If syncing takes longer than this, log a warning. */ #define MAILDIR_SYNC_TIME_WARN_SECS 60 enum maildir_uidlist_rec_flag; struct maildir_mailbox; struct maildir_sync_context; struct maildir_keywords_sync_ctx; struct maildir_index_sync_context; int maildir_sync_is_synced(struct maildir_mailbox *mbox); struct mailbox_sync_context * maildir_storage_sync_init(struct mailbox *box, enum mailbox_sync_flags flags); int maildir_storage_sync_force(struct maildir_mailbox *mbox, uint32_t uid); int maildir_sync_header_refresh(struct maildir_mailbox *mbox); int maildir_sync_index_begin(struct maildir_mailbox *mbox, struct maildir_sync_context *maildir_sync_ctx, struct maildir_index_sync_context **ctx_r) ATTR_NULL(2); int maildir_sync_index(struct maildir_index_sync_context *sync_ctx, bool partial); int maildir_sync_index_commit(struct maildir_index_sync_context **_ctx); void maildir_sync_index_rollback(struct maildir_index_sync_context **_ctx); struct maildir_keywords_sync_ctx * maildir_sync_get_keywords_sync_ctx(struct maildir_index_sync_context *ctx); void maildir_sync_notify(struct maildir_sync_context *ctx); void maildir_sync_set_new_msgs_count(struct maildir_index_sync_context *ctx, unsigned int count); int maildir_sync_refresh_flags_view(struct maildir_mailbox *mbox); int maildir_sync_lookup(struct maildir_mailbox *mbox, uint32_t uid, enum maildir_uidlist_rec_flag *flags_r, const char **fname_r); int maildir_list_index_has_changed(struct mailbox *box, struct mail_index_view *list_view, uint32_t seq); void maildir_list_index_update_sync(struct mailbox *box, struct mail_index_transaction *trans, uint32_t seq); #endif