mail-index.h revision 8e7da21696c9f8a6d5e601243fb6172ec85d47b2
935960e45571872e38f730964f8ca1d116a1b532Timo Sirainen/* Number of keywords in mail_index_record. */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen#define INDEX_KEYWORDS_BYTE_COUNT ((INDEX_KEYWORDS_COUNT+CHAR_BIT-1) / CHAR_BIT)
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* Create index if it doesn't exist */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* Open the index as fast as possible - do only minimal checks and
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen delay opening cache/log files unless they're needed. */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* Don't try to mmap() index files */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* Don't try to write() to mmap()ed index files. Required for the few
300e4e43ed1ca46d0614459161ca2fb460ef661aTimo Sirainen OSes that don't have unified buffer cache
300e4e43ed1ca46d0614459161ca2fb460ef661aTimo Sirainen (currently OpenBSD <= 3.5) */
300e4e43ed1ca46d0614459161ca2fb460ef661aTimo Sirainen /* Don't use fcntl() locking */
300e4e43ed1ca46d0614459161ca2fb460ef661aTimo Sirainen MAIL_INDEX_OPEN_FLAG_FCNTL_LOCKS_DISABLE= 0x10
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* Index file is corrupted, reopen or recreate it. */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* No errors */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* Internal error, see get_error_text() for more information. */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen /* We ran out of available disk space. */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen (MAIL_ANSWERED | MAIL_FLAGGED | MAIL_DELETED | MAIL_SEEN | MAIL_DRAFT)
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainentypedef unsigned char keywords_mask_t[INDEX_KEYWORDS_BYTE_COUNT];
35fcdde46a71ac151c2518d48c841019f1181bb2Timo Sirainen /* major version is increased only when you can't have backwards
35fcdde46a71ac151c2518d48c841019f1181bb2Timo Sirainen compatibility. minor version is increased when header size is
35fcdde46a71ac151c2518d48c841019f1181bb2Timo Sirainen increased to contain new non-critical fields. */
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen 1 = sizeof(uoff_t)
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen 2 = sizeof(time_t)
5733207dc3ec10e6e5a6e0a8b30fbd1b061062b9Timo Sirainen 3 = unused */
861f53be0cc2fa5665f3c107a7576e2a53bb2eb0Timo Sirainen /* these UIDs may not exist and may not even be unseen */
935960e45571872e38f730964f8ca1d116a1b532Timo Sirainen uint8_t flags; /* mail_flags | mail_index_mail_flags */
struct mail_index;
struct mail_index_view;
struct mail_index_transaction;
struct mail_index_sync_ctx;
struct mail_index_view_sync_ctx;
struct mail_index_transaction *
const uint32_t *