Add ndbm(3) documentation, fixing PR lib/25357.
This commit is contained in:
parent
a73f92f0e2
commit
88d9244df3
|
@ -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
|
# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
|
||||||
|
|
||||||
.PATH: ${.CURDIR}/db/man
|
.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+= dbopen.3 db.3
|
||||||
MLINKS+= mpool.3 mpool_open.3 mpool.3 mpool_filter.3 mpool.3 mpool_new.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
|
MLINKS+= mpool.3 mpool_get.3 mpool.3 mpool_put.3 mpool.3 mpool_sync.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.
|
Loading…
Reference in New Issue