cdb_find(3)

cdb_find3

Look up a key in a constant database

Usage

#include <libowfat/cdb.h>
#include <libowfat/uint32.h>

int cdb_find(struct cdb *c,char *key,unsigned long int keylen);
int cdb_datalen(struct cdb *c);
int cdb_datapos(struct cdb *c);
int cdb_findnext(struct cdb *c,char *key,unsigned long int keylen);

Overview

cdb_find looks for key. If cdb_find returns 0, the database does not contain that key; stop. If cdb_find returns -1, there was a read error; abort.

cdb_datalen returns the length of the data associated with the key. Use it to allocate a pointer p with enough space to hold the data.

cdb_datapos returns the position of the data inside the file. Use it as argument to cdb_read to retrieve the data.

There may be several records under a single key. You can use cdb_findnext to find the next record under this key.

Examples

static struct c;

if (cdb_find(&c,key,strlen(key)>0) {
char *buf=alloca(cdb_datalen(&c));
cdb_read(&c,buf,cdb_datalen(&c),cdb_datapos(&c));
write(1,buf,cdb_datalen(&c));
}

Releases

7 releases since Debian 7 (Wheezy); the text changed 1 time.

  1. 7–11
  2. 12–13

From libowfat-dev 0.32-5 in Debian 13 (Trixie). Parsed by carta from the page's man source.