CDBW(3) | Library Functions Manual | CDBW(3) |
cdbw_open
, cdbw_put
,
cdbw_put_data
, cdbw_put_key
,
cdbw_stable_seeder
,
cdbw_output
, cdbw_close
—
#include <cdbw.h>
struct cdbw *
cdbw_open
(void);
int
cdbw_put
(struct cdbw *cdbw,
const void *key, size_t keylen,
const void *data, size_t
datalen);
int
cdbw_put_data
(struct cdbw *cdbw,
const void *data, size_t
datalen, uint32_t *index);
int
cdbw_put_key
(struct cdbw *cdbw,
const void *key, size_t keylen,
uint32_t index);
uint32_t
cdbw_stable_seeder
(void);
int
cdbw_output
(struct cdbw *cdbw,
int output, const char
descr[16], uint32_t (*seedgen)(void));
void
cdbw_close
(struct
cdbw *cdbw);
cdbw
functions are used to create a constant
databases for use with cdbr(3).
Details about the file format, including overhead and limitations, can be
found in cdb(5).
cdbw_open
() prepares a new
cdb
writer. The function returns a handle to pass to
the other functions.
cdbw_close
() frees all resources
associated with the handle.
cdbw_put
() adds the given (key,value) pair
after checking for a duplicate key. cdbw_put_data
()
adds the given value to the writer without adding a key reference. The
returned index can be used in subsequent calls to
cdbw_put_key
() to add one or more keys pointing to
this value. cdbw_put_key
() checks for duplicate keys
and valid index arguments. On success it adds the given key.
cdbw_output
() computes the database file
and writes it to the given descriptor. The function returns an error if the
file cannot be written correctly. The descr parameter
provides a human readable description of the database content. The
seedgen parameter can be used to override the default
PRNG. The bitwise layout of the output depends on the chosen seed. The
function should return a different value for each invocation. The
cdbw_stable_seeder
() can be used to create
reproducible output. It may be slower than the default.
cdb
format first appeared in
NetBSD 6.0.
cdbr
and cdbw
functions have
been written by Joerg Sonnenberger
<joerg@NetBSD.org>.
February 6, 2014 | NetBSD 9.2 |