1 .\" Copyright (c) 1999 Tim Singletary
2 .\" No copyright is claimed.
4 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
5 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
7 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
8 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
9 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
10 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
11 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
12 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
13 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
16 .\" $FreeBSD: src/lib/libc/db/man/dbm.3,v 1.2.2.5 2003/03/15 15:11:05 trhodes Exp $
17 .\" $DragonFly: src/lib/libc/db/man/dbm.3,v 1.3 2006/05/26 19:39:36 swildner Exp $
19 .\" Note: The date here should be updated whenever a non-trivial
20 .\" change is made to the manual page.
35 .Nd database access functions
40 .Fn dbm_open "const char *base" "int flags" "int mode"
42 .Fn dbm_close "DBM *db"
44 .Fn dbm_store "DBM *db" "datum key" "datum data" "int flags"
46 .Fn dbm_fetch "DBM *db" "datum key"
48 .Fn dbm_delete "DBM *db" "datum key"
50 .Fn dbm_firstkey "DBM *db"
52 .Fn dbm_nextkey "DBM *db"
54 .Fn dbm_error "DBM *db"
56 .Fn dbm_clearerr "DBM *db"
58 .Fn dbm_dirfno "DBM *db"
60 Database access functions.
61 These functions are implemented using
78 .Fn dbm_open base flags mode
80 opens or creates a database.
84 is the basename of the file containing
85 the database; the actual database has a
91 .Qq Li /home/me/mystuff
92 then the actual database is in the file
93 .Pa /home/me/mystuff.db .
101 .Pq Dv O_RDWR | O_CREAT
102 is a typical value for
105 is a typical value for
110 The pointer returned by
112 identifies the database and is the
114 argument to the other functions.
122 if there were any errors.
131 normally returns zero.
134 .Fn dbm_store db key data flags
136 inserts or replaces an entry in the database.
148 and the database already contains an entry for
150 that entry is not replaced.
151 Otherwise the entry is replaced or inserted.
155 normally returns zero but returns 1 if the entry could not be
162 already exists) or returns -1 and sets
164 if there were any errors.
177 .Fn dbm_delete db key
179 deletes the entry for
184 normally returns zero but returns 1 if there was no entry with
186 in the database or returns -1 and sets
188 if there were any errors.
193 returns the first key in the database.
197 returns subsequent keys.
201 must be called before
203 The order in which keys are returned is unspecified and may appear
210 after all keys have been returned.
217 value of the most recent error.
221 resets this value to 0 and returns 0.
226 returns the file descriptor to the database.
232 These functions (except