67#ifndef MUTT_HCACHE_LIB_H
68#define MUTT_HCACHE_LIB_H
162#define hcache_fetch_raw_obj(hc, key, keylen, dst) hcache_fetch_raw_obj_full(hc, key, keylen, dst, sizeof(*dst))
165 void *data,
size_t dlen);
API for the header cache compression.
void ComprHandle
Opaque type for compression data.
struct HeaderCache * hcache_open(const char *path, const char *folder, hcache_namer_t namer, bool create)
Open the connection to the header cache.
int hcache_delete_email(struct HeaderCache *hc, const char *key, size_t keylen)
Delete a key / data pair.
void hcache_close(struct HeaderCache **ptr)
Close the connection to the header cache.
void(* hcache_namer_t)(const char *path, struct Buffer *dest)
struct HCacheEntry hcache_fetch_email(struct HeaderCache *hc, const char *key, size_t keylen, uint32_t uidvalidity)
Fetch and validate a message's header from the cache.
int hcache_store_email(struct HeaderCache *hc, const char *key, size_t keylen, struct Email *e, uint32_t uidvalidity)
Store a Header along with a validity datum.
char * hcache_fetch_raw_str(struct HeaderCache *hc, const char *key, size_t keylen)
Fetch a string from the cache.
bool hcache_fetch_raw_obj_full(struct HeaderCache *hc, const char *key, size_t keylen, void *dst, size_t dstlen)
Fetch a message's header from the cache into a destination object.
int hcache_delete_raw(struct HeaderCache *hc, const char *key, size_t keylen)
Delete a key / data pair.
int hcache_store_raw(struct HeaderCache *hc, const char *key, size_t keylen, void *data, size_t dlen)
Store a key / data pair.
void StoreHandle
Opaque type for store backend.
String manipulation buffer.
The envelope/body of an email.
char * path
Path of Email (for local Mailboxes)
Wrapper for Email retrieved from the header cache.
uint32_t uidvalidity
IMAP-specific UIDVALIDITY.
struct Email * email
Retrieved email.
unsigned int crc
CRC of Email/Body/etc structs.