47 const int pagesize = 4096;
49 GDBM_FILE db = gdbm_open((
char *) path, pagesize, GDBM_WRCREAT, 00600, NULL);
54 return gdbm_open((
char *) path, pagesize, GDBM_READER, 00600, NULL);
70 dkey.dptr = (
char *) key;
72 data = gdbm_fetch(db, dkey);
89 static int store_gdbm_store(
void *store,
const char *key,
size_t klen,
void *value,
size_t vlen)
99 dkey.dptr = (
char *) key;
102 databuf.dsize = vlen;
103 databuf.dptr = value;
105 return gdbm_store(db, dkey, databuf, GDBM_REPLACE);
118 GDBM_FILE db = store;
120 dkey.dptr = (
char *) key;
123 return gdbm_delete(db, dkey);
static void store_gdbm_close(void **ptr)
Implements StoreOps::close() -.
static int store_gdbm_delete_record(void *store, const char *key, size_t klen)
Implements StoreOps::delete_record() -.
static void * store_gdbm_fetch(void *store, const char *key, size_t klen, size_t *vlen)
Implements StoreOps::fetch() -.
static void store_gdbm_free(void *store, void **ptr)
Implements StoreOps::free() -.
static void * store_gdbm_open(const char *path)
Implements StoreOps::open() -.
static int store_gdbm_store(void *store, const char *key, size_t klen, void *value, size_t vlen)
Implements StoreOps::store() -.
static const char * store_gdbm_version(void)
Implements StoreOps::version() -.
Convenience wrapper for the library headers.
#define STORE_BACKEND_OPS(_name)