54#ifndef MUTT_STORE_LIB_H
55#define MUTT_STORE_LIB_H
82 void *(*open)(
const char *path);
96 void *(*fetch)(
void *
store,
const char *key,
size_t klen,
size_t *vlen);
121 int (*
store)(
void *
store,
const char *key,
size_t klen,
void *value,
size_t vlen);
152 const char *(*version)(void);
159#define STORE_BACKEND_OPS(_name) \
160 const struct StoreOps store_##_name##_ops = { \
162 .open = store_##_name##_open, \
163 .fetch = store_##_name##_fetch, \
164 .free = store_##_name##_free, \
165 .store = store_##_name##_store, \
166 .delete_record = store_##_name##_delete_record, \
167 .close = store_##_name##_close, \
168 .version = store_##_name##_version, \
bool store_is_valid_backend(const char *str)
Is the string a valid Store backend.
const struct StoreOps * store_get_backend_ops(const char *str)
Get the API functions for an store backend.
const char * store_backend_list(void)
Get a list of backend names.
void(* free)(void *store, void **ptr)
int(* delete_record)(void *store, const char *key, size_t klen)
const char * name
Store name.
int(* store)(void *store, const char *key, size_t klen, void *value, size_t vlen)
void(* close)(void **ptr)