Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cdbw(3) [netbsd man page]

CDBW(3) 						   BSD Library Functions Manual 						   CDBW(3)

cdbw_open, cdbw_put, cdbw_put_data, cdbw_put_key, cdbw_stable_seeder, cdbw_output, 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); 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); DESCRIPTION
The cdbw functions are used to create a constant databases for use with cdbr(3). Details about the file format, including overhead and limi- tations, 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. 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 <>. BSD
June 3, 2012 BSD

Check Out this Related Man Page

MTBL_SOURCE(3)															    MTBL_SOURCE(3)

mtbl_source - obtain key-value entries from a data source SYNOPSIS
#include <mtbl.h> struct mtbl_iter * mtbl_source_iter(const struct mtbl_source *s); struct mtbl_iter * mtbl_source_get(const struct mtbl_source *s, const uint8_t *key, size_t len_key); struct mtbl_iter * mtbl_source_get_prefix( const struct mtbl_source *s, const uint8_t *prefix, size_t len_prefix); struct mtbl_iter * mtbl_source_get_range( const struct mtbl_source *s, const uint8_t *key0, size_t len_key0, const uint8_t *key1, size_t len_key1); mtbl_res mtbl_source_write(const struct mtbl_source *s, struct mtbl_writer *w); void mtbl_source_destroy(struct mtbl_source **s); DESCRIPTION
The mtbl_source iterface provides an abstraction for reading key-value entries from mtbl data sources. mtbl_source_iter() provides an iterator over all of the entries in the data source. mtbl_source_get() provides an exact match iterator which returns all entries whose key matches the key provided in the arguments key and len_key. mtbl_source_get_prefix() provides a prefix iterator which returns all entries whose keys start with prefix and are at least len_prefix bytes long. mtbl_source_get_range() provides a range iterator which returns all entries whose keys are between key0 and key1 inclusive. mtbl_source_write() is a convenience function for reading all of the entries from a source and writing them to an mtbl_writer object. It is equivalent to calling mtbl_writer_add() on all of the entries returned from mtbl_source_iter(). RETURN VALUE
mtbl_source_iter(), mtbl_source_get(), mtbl_source_get_prefix(), and mtbl_source_get_range() return mtbl_iter objects. mtbl_source_write() returns mtbl_res_success if all of the entries in the data source were successfully written to the mtbl_writer argument, and mtbl_res_failure otherwise. SEE ALSO
mtbl_iter(3) 05/29/2012 MTBL_SOURCE(3)
Man Page