CDBW(3) NetBSD Library Functions Manual CDBW(3)
NAME
cdbw_open, cdbw_put, cdbw_put_data, cdbw_put_key, cdbw_close -- create
constant databases
SYNOPSIS
#include <archive_entry.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);
int
cdbw_output(struct cdbw *cdbw, int output, const char descr[16],
uint32_t (*seedgen)(void));
void
cdbw_close(struct cdbw *cdbw);
DESCRIPTION
The cdbw functions are used to create a constant databases for use with
cdbr(3). Details about the file format, including overhead and limita-
tions, 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 function should return a different value for each
invokation. The bitwise layout of the output depends on the chosen seed.
SEE ALSO
cdbr(3), cdb(5)
HISTORY
Support for the cdb format first appeared in NetBSD 6.0.
AUTHORS
The cdbr and cdbw functions have been written by Joerg Sonnenberger
<joerg@NetBSD.org>.
NetBSD 5.0 November 3, 2010 NetBSD 5.0
