File: cdb.3

package info (click to toggle)
qmail 1.01-5
  • links: PTS
  • area: non-free
  • in suites: hamm
  • size: 2,188 kB
  • ctags: 1,711
  • sloc: ansic: 13,993; makefile: 1,914; perl: 448; sh: 377
file content (62 lines) | stat: -rw-r--r-- 1,156 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
.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)