diff --git a/lib/libc/db/man/Makefile.inc b/lib/libc/db/man/Makefile.inc index e407fcb04df9..f45c41630b4a 100644 --- a/lib/libc/db/man/Makefile.inc +++ b/lib/libc/db/man/Makefile.inc @@ -1,9 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.9 2004/04/29 16:33:20 kleink Exp $ +# $NetBSD: Makefile.inc,v 1.10 2004/04/30 21:13:23 kleink Exp $ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 .PATH: ${.CURDIR}/db/man -MAN+= btree.3 dbopen.3 hash.3 recno.3 mpool.3 +MAN+= btree.3 dbm_clearerr.3 dbopen.3 hash.3 recno.3 mpool.3 +MLINKS+= dbm_clearerr.3 dbm_close.3 dbm_clearerr.3 dbm_delete.3 +MLINKS+= dbm_clearerr.3 dbm_dirfno.3 dbm_clearerr.3 dbm_error.3 +MLINKS+= dbm_clearerr.3 dbm_fetch.3 dbm_clearerr.3 dbm_firstkey.3 +MLINKS+= dbm_clearerr.3 dbm_nextkey.3 dbm_clearerr.3 dbm_open.3 +MLINKS+= dbm_clearerr.3 dbm_store.3 dbm_clearerr.3 ndbm.3 MLINKS+= dbopen.3 db.3 MLINKS+= mpool.3 mpool_open.3 mpool.3 mpool_filter.3 mpool.3 mpool_new.3 MLINKS+= mpool.3 mpool_get.3 mpool.3 mpool_put.3 mpool.3 mpool_sync.3 diff --git a/lib/libc/db/man/dbm_clearerr.3 b/lib/libc/db/man/dbm_clearerr.3 new file mode 100644 index 000000000000..f5e5b666ca7c --- /dev/null +++ b/lib/libc/db/man/dbm_clearerr.3 @@ -0,0 +1,309 @@ +.\" $NetBSD: dbm_clearerr.3,v 1.1 2004/04/30 21:13:23 kleink Exp $ +.\" +.\" Copyright (c) 2004 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Klaus Klein. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the NetBSD +.\" Foundation, Inc. and its contributors. +.\" 4. Neither the name of The NetBSD Foundation nor the names of its +.\" contributors may be used to endorse or promote products derived +.\" from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 30, 2004 +.Dt DBM_CLEARERR 3 +.Os +.Sh NAME +.Nm dbm_clearerr , +.Nm dbm_close , +.Nm dbm_delete , +.Nm dbm_dirfno , +.Nm dbm_error , +.Nm dbm_fetch , +.Nm dbm_firstkey , +.Nm dbm_nextkey , +.Nm dbm_open , +.Nm dbm_store , +.Nm ndbm +.Nd database functions +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In ndbm.h +.Ft int +.Fn dbm_clearerr "DBM *db" +.Ft void +.Fn dbm_close "DBM *db" +.Ft int +.Fn dbm_delete "DBM *db" "datum key" +.Ft int +.Fn dbm_dirfno "DBM *db" +.Ft int +.Fn dbm_error "DBM *db" +.Ft datum +.Fn dbm_fetch "DBM *db" "datum key" +.Ft datum +.Fn dbm_firstkey "DBM *db" +.Ft datum +.Fn dbm_nextkey "DBM *db" +.Ft DBM * +.Fn dbm_open "const char *file" "int open_flags" "mode_t file_mode" +.Ft int +.Fn dbm_store "DBM *db" "datum key" "datum content" "int store_mode" +.Sh DESCRIPTION +The +.Nm ndbm +facility provides access to hash database files. +.Pp +Two data types are fundamental to the +.Nm ndbm +facility. +.Fa DBM +serves as a handle to a database. +It is an opaque type. +.Pp +The other data type is +.Fa datum , +which is a structure type which includes the following members: +.Bd -literal -offset indent +void * dptr +size_t dsize +.Ed +.Pp +A +.Fa datum +is thus given by +.Fa dptr +pointing at an object of +.Fa dsize +bytes in length. +.Pp +The +.Fn dbm_open +function opens a database. +The +.Fa file +argument is the pathname which the actual database file pathname +is based on. +This implementation uses a single file with the suffix .db appended to +.Fa file . +The +.Fa open_flags +argument has the same meaning as the +.Fa flags +argument to +.Xr open 2 +except that when opening a database for write-only access the file +is opened for read/write access, and the +.Dv O_APPEND +flag must not be specified. +The +.Fa file_mode +argument has the same meaning as the +.Fa mode +argument to +.Xr open 2 . +.Pp +For the following functions, the +.Fa db +argument is a handle previously returned by a call to +.Fn dbm_open . +.Pp +The +.Fn dbm_close +function closes a database. +.Pp +The +.Fn dbm_fetch +function retrieves a record from the database. +The +.Fa key +argument is a +.Fa datum +that identifies the record to be fetched. +.Pp +The +.Fn dbm_store +function stores a record into the database. +The +.Fa key +argument is a +.Fa datum +that identifies the record to be stored. +The +.Fa content +argument is a +.Fa datum +that specifies the value of the record to be stored. +The +.Fa store_mode +argument specifies the behavior of +.Fn dbm_store +if a record matching +.Fa key +is already present in the database, +.Fa db . +.Fa store_mode +must be one of the following: +.Bl -tag -width DBM_REPLACEXX -offset indent +.It Dv DBM_INSERT +If a record matching +.Fa key +is already present, it is left unchanged. +.It Dv DBM_REPLACE +If a record matching +.Fa key +is already present, its value is replaced by +.Fa content . +.El +.Pp +If no record matching +.Fa key +is present, a new record is inserted regardless of +.Fa store_mode . +.Pp +The +.Fn dbm_delete +function deletes a record from the database. +The +.Fa key +argument is a +.Fa datum +that identifies the record to be deleted. +.Pp +The +.Fn dbm_firstkey +function returns the first key in the database. +.Pp +The +.Fn dbm_nextkey +function returns the next key in the database. +In order to be meaningful, it must be preceded by a call to +.Fn dbm_firstkey . +.Pp +The +.Fn dbm_error +function returns the error indicator of the database. +.Pp +The +.Fn dbm_clearerr +function clears the error indicator of the database. +.Pp +The +.Fn dbm_dirfno +function returns the file descriptor of the underlying database file. +.Sh IMPLEMENTATION NOTES +The +.Nm ndbm +facility is implemented on top of the +.Xr hash 3 +access method of the +.Xr db 3 +database facility. +.Sh RETURN VALUES +The +.Fn dbm_open +function returns a pointer to a +.Fa DBM +when successful; otherwise a null pointer is returned. +.Pp +The +.Fn dbm_close +function returns no value. +.Pp +The +.Fn dbm_fetch +function returns a content +.Fa datum ; +if no record matching +.Fa key +was found or if an error occured, its +.Fa dptr +member is a null pointer. +.Pp +The +.Fn dbm_store +function returns 0 when then record was successfully inserted; +it returns 1 when called with +.Fa store_mode +being +.Dv DBM_INSERT +and a record matching +.Fa key +is already present; +otherwise a negative value is returned. +.Pp +The +.Fn dbm_delete +function returns 0 when the record was successfully deleted; +otherwise a negative value is returned. +.Pp +The +.Fn dbm_firstkey +and +.Fn dbm_nextkey +functions return a key +.Fa datum . +When the end of the database is reached or if an error occured, its +.Fa dptr +member is a null pointer. +.Pp +The +.Fn dbm_error +function returns 0 if the error indicator is clear; +if the error indicator is set a non-zero value is returned. +.Pp +The +.Fn dbm_clearerr +function always returns 0. +.Pp +The +.Fn dbm_dirfno +function returns the file descriptor of the underlying database file. +.Sh ERRORS +No errors are defined. +.Sh SEE ALSO +.Xr open 2 , +.Xr db 3 , +.Xr hash 3 +.Sh STANDARDS +The +.Fn dbm_clearerr , +.Fn dbm_close , +.Fn dbm_delete , +.Fn dbm_error , +.Fn dbm_fetch , +.Fn dbm_firstkey , +.Fn dbm_nextkey , +.Fn dbm_open , +and +.Fn dbm_store +functions conform to +.St -xpg4.2 . +The +.Fn dbm_dirfno +function is an extension.