1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainensquat_trie_init(const char *path, uint32_t uidvalidity,
45114a7f9600d04c294f8f1051c0289c092febceTimo Sirainen enum squat_index_flags flags, mode_t mode, gid_t gid);
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainenvoid squat_trie_deinit(struct squat_trie **trie);
4ae81f8f7aad06aad2f570535cad6e40aaec2b28Timo Sirainenvoid squat_trie_set_partial_len(struct squat_trie *trie, unsigned int len);
4ae81f8f7aad06aad2f570535cad6e40aaec2b28Timo Sirainenvoid squat_trie_set_full_len(struct squat_trie *trie, unsigned int len);
de11cf486e0d0448537b1b5d546496ab85e7cda8Timo Sirainenint squat_trie_refresh(struct squat_trie *trie);
8d587838c414c48a331f0b54cd7ffd97e5024abdTimo Sirainenint squat_trie_build_init(struct squat_trie *trie,
1caf757864e7734345660e7d190f84e42668a6f8Timo Sirainen/* bodies must be added before headers */
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainenint squat_trie_build_more(struct squat_trie_build_context *ctx,
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainen const unsigned char *data, unsigned int size);
1caf757864e7734345660e7d190f84e42668a6f8Timo Sirainen/* if expunged_uids is non-NULL, they may be removed from the index if they
1caf757864e7734345660e7d190f84e42668a6f8Timo Sirainen still exist. */
1caf757864e7734345660e7d190f84e42668a6f8Timo Sirainenint squat_trie_build_deinit(struct squat_trie_build_context **ctx,
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainenint squat_trie_get_last_uid(struct squat_trie *trie, uint32_t *last_uid_r);
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainen/* type specifies if we're looking at header, body or both */
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainenint squat_trie_lookup(struct squat_trie *trie, const char *str,
00395881d1dbbf37178d1efc193a7e9804aaff3bTimo Sirainenstruct squat_uidlist *squat_trie_get_uidlist(struct squat_trie *trie);
1b0cfbf3cc77a670b92fff5c30f7b1eb17a63ab1Timo Sirainensize_t squat_trie_mem_used(struct squat_trie *trie, unsigned int *count_r);