Scroll to navigation

cdb(3) Library Functions Manual cdb(3)


cdb - read from a constant database


#include <cdb.h>

int cdb_seek(fd,key,len,dlen);

int fd;
char *key;
unsigned int len;
uint32 *dlen;


cdb_seek looks up key in a constant database. It returns 1 if key is present, 0 if key is not present, or -1 if there was a read error. key is an array of len characters.

cdb_seek needs an open file descriptor, fd, pointing to the database. If cdb_seek returns 1, it points fd at the beginning of the data portion of the first record indexed by key, and it stores the data length in dlen. cdb_seek does not provide a way to read subsequent records with the same key.

It's fine to do several cdb_seek lookups with the same open file descriptor. Beware, however, that two simultaneous cdb_seek lookups can fail horribly; separate processes should not share the same database descriptor. Furthermore, any updates after the database was opened will be invisible. It's rarely a good idea for a long-running program to hold a database open.