Commit | Line | Data |
---|---|---|
2117e02e MW |
1 | .TH cdb 3 |
2 | .SH NAME | |
3 | cdb \- read from a constant database | |
4 | .SH SYNTAX | |
5 | .B #include <cdb.h> | |
6 | ||
7 | int \fBcdb_seek(\fP\fIfd,key,len,dlen\fR\fB)\fP; | |
8 | ||
9 | int \fIfd\fR; | |
10 | .br | |
11 | char *\fIkey\fR; | |
12 | .br | |
13 | unsigned int \fIlen\fR; | |
14 | .br | |
15 | uint32 *\fIdlen\fR; | |
16 | .SH DESCRIPTION | |
17 | .B cdb_seek | |
18 | looks up | |
19 | .I key | |
20 | in a constant database. | |
21 | It returns 1 if | |
22 | .I key | |
23 | is present, | |
24 | 0 if | |
25 | .I key | |
26 | is not present, | |
27 | or \-1 if there was a read error. | |
28 | .I key | |
29 | is an array of | |
30 | .I len | |
31 | characters. | |
32 | ||
33 | .B cdb_seek | |
34 | needs an open file descriptor, | |
35 | .IR fd , | |
36 | pointing to the database. | |
37 | If | |
38 | .B cdb_seek | |
39 | returns 1, | |
40 | it points | |
41 | .I fd | |
42 | at the beginning of the data portion of the first record | |
43 | indexed by | |
44 | .IR key , | |
45 | and it stores the data length in | |
46 | .IR dlen. | |
47 | .B cdb_seek | |
48 | does not provide a way to read subsequent records with the same key. | |
49 | ||
50 | It's fine to do several | |
51 | .B cdb_seek | |
52 | lookups with the same open file descriptor. | |
53 | Beware, however, that two simultaneous | |
54 | .B cdb_seek | |
55 | lookups can fail horribly; | |
56 | separate processes should not share the same database descriptor. | |
57 | Furthermore, any updates after the database was opened | |
58 | will be invisible. | |
59 | It's rarely a good idea for a long-running program | |
60 | to hold a database open. | |
61 | .SH "SEE ALSO" | |
62 | cdbget(1) |