| 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.4 |