.TH cdb 3 .SH NAME cdb \- read from a constant database .SH SYNTAX .B #include int \fBcdb_seek(\fP\fIfd,key,len,dlen\fR\fB)\fP; int \fIfd\fR; .br char *\fIkey\fR; .br unsigned int \fIlen\fR; .br uint32 *\fIdlen\fR; .SH DESCRIPTION .B cdb_seek looks up .I key in a constant database. It returns 1 if .I key is present, 0 if .I key is not present, or \-1 if there was a read error. .I key is an array of .I len characters. .B cdb_seek needs an open file descriptor, .IR fd , pointing to the database. If .B cdb_seek returns 1, it points .I fd at the beginning of the data portion of the first record indexed by .IR key , and it stores the data length in .IR dlen. .B cdb_seek does not provide a way to read subsequent records with the same key. It's fine to do several .B cdb_seek lookups with the same open file descriptor. Beware, however, that two simultaneous .B 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. .SH "SEE ALSO" cdbget(1)