#define _MUTT_HCACHE_H
#ifdef USE_HCACHE
-void *mutt_hcache_open(const char *path, const char *folder);
-void mutt_hcache_close(void *db);
-HEADER *mutt_hcache_restore(const unsigned char *d, HEADER **oh);
-void *mutt_hcache_fetch(void *db, const char *filename,
+typedef struct hcache_t hcache_t;
+
+hcache_t *mutt_hcache_open(const char *folder);
+void mutt_hcache_close(hcache_t **db);
+
+HEADER *mutt_hcache_restore(const void *d, HEADER **oh);
+void *mutt_hcache_fetch(hcache_t *db, const char *filename,
ssize_t (*keylen)(const char *fn));
-int mutt_hcache_store(void *db, const char *filename, HEADER *h,
- unsigned long uid_validity,
+int mutt_hcache_store(hcache_t *db, const char *filename, HEADER *h,
+ long uid_validity,
ssize_t (*keylen)(const char *fn));
-int mutt_hcache_delete(void *db, const char *filename,
- ssize_t (*keylen)(const char *fn));
+void mutt_hcache_delete(hcache_t *db, const char *filename,
+ ssize_t (*keylen)(const char *fn));
#endif /* USE_HCACHE */
#endif /* !_MUTT_HCACHE_H */