62 lines
1.1 KiB
Groff
62 lines
1.1 KiB
Groff
.TH cdb 3
|
|
.SH NAME
|
|
cdb \- read from a constant database
|
|
.SH SYNTAX
|
|
.B #include <cdb.h>
|
|
|
|
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)
|