CDBW(3) | NetBSD Library Functions Manual | CDBW(3) |
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);
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.
November 3, 2010 | NetBSD 5.99 |