squat-uidlist.h revision c25356d5978632df6203437e1953bcb29e0c736f
#ifndef SQUAT_UIDLIST_H
#define SQUAT_UIDLIST_H
#include "seq-range-array.h"
struct squat_trie;
struct squat_uidlist;
struct squat_uidlist *
/* Make sure that we've the latest uidlist file fully mapped. */
/* Get the last UID added to the file. */
/* Add new UID to given UID list. The uid_list_idx is updated to contain the
new list index. It must be put through _finish_list() before it's actually
written to disk. */
/* Write UID list into disk. The uid_list_idx is updated to contain the new
permanent index for it. */
/* Returns TRUE if uidlist should be compressed. current_message_count can be
(unsigned int)-1 if you don't want include it in the check. */
unsigned int current_message_count);
/* Mark the uidlist containing expunged messages. update_disk=FALSE should be
done when the uidlist is going to be compressed and this function only tells
the compression to check for the expunged messages. */
bool update_disk);
/* Compress the uidlist file. existing_uids may be NULL if they're not known. */
struct squat_uidlist_compress_ctx *
/* Returns UIDs for a given UID list index. */
/* Filter out UIDs which don't appear in the given UID list from the given
result array */
/* Returns TRUE when uidlist has used so much memory that it'd prefer to
get flushed. */
unsigned int *count_r);
#endif