27#ifndef PROTOCORE_DBM_H
28#define PROTOCORE_DBM_H
61bool pc_dbm_open(pc_dbm *db, WalStore *wal);
68bool pc_dbm_put(pc_dbm *db,
const char *key, uint16_t key_len,
const uint8_t *val, uint32_t val_len);
74long pc_dbm_get(pc_dbm *db,
const char *key, uint16_t key_len, uint8_t *buf,
size_t cap);
80bool pc_dbm_del(pc_dbm *db,
const char *key, uint16_t key_len);
83bool pc_dbm_contains(
const pc_dbm *db,
const char *key, uint16_t key_len);
86uint32_t pc_dbm_count(
const pc_dbm *db);
89bool pc_dbm_sync(pc_dbm *db);
93using pc_dbm_iter_cb = bool (*)(
const char *key, uint16_t key_len,
void *ctx);
96uint32_t pc_dbm_iterate(
const pc_dbm *db, pc_dbm_iter_cb cb,
void *ctx);
104uint64_t pc_dbm_live_bytes(
const pc_dbm *db);
117bool pc_dbm_compact(pc_dbm *db, WalStore *dst);
User-facing configuration for ProtoCore.