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

November 3, 2010 | NetBSD 5.99