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.