OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / draft / man3 / hash.3
diff --git a/draft/man3/hash.3 b/draft/man3/hash.3
deleted file mode 100644 (file)
index 7f57175..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-.\" Copyright (c) 1990, 1993
-.\"    The Regents of the University of California.  All rights reserved.
-.\"
-.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
-.\" 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 University of
-.\"    California, Berkeley and its contributors.
-.\" 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
-.\" %%%LICENSE_END
-.\"
-.\"    @(#)hash.3      8.6 (Berkeley) 8/18/94
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 1999 Shouichi Saito
-.\"    all rights reserved.
-.\" Translated Mon Jul 26 14:22:49 JST 1999
-.\"    by Shouichi Saito <ss236rx@ymg.urban.ne.jp>
-.\" Proofed Tue Aug 17 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated 2008-02-10, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.77
-.\" Updated 2012-05-01, Akihiro MOTOKI <amotoki@gmail.com>
-.\"
-.TH HASH 3 2012\-04\-23 "" "Linux Programmer's Manual"
-.UC 7
-.SH 名前
-hash \- hash データベースへのアクセスメソッド
-.SH 書式
-.nf
-\fB#include <sys/types.h>
-#include <db.h>\fP
-.fi
-.SH 説明
-\fI大事な注意\fP:
-このページは、バージョン 2.1 までの glibc が提供するインターフェースに
-ついて説明している。バージョン 2.2 以降の glibc では、もはやこれらの
-インターフェースは提供されていない。おそらく、このページではなく、
-\fIlibdb\fP ライブラリが提供する API をお探しなのだろう。
-
-ルーチン \fBdbopen\fP(3)  はデータベースファイルに対するライブラリインターフェースである。 サポートされているファイルフォーマットのひとつに
-hash ファイルがある。 データベースへのアクセスメソッドに関する一般的な記述は \fBdbopen\fP(3)  に書かれている。
-このマニュアルページでは hash 特有の情報についてのみ記述する。
-.PP
-hash データ構造は、拡張可能な動的ハッシュスキームである。
-.PP
-\fBdbopen\fP(3)  に渡される hash アクセスメソッドに特有のデータ構造体は、 \fI<db.h>\fP
-インクルードファイルで以下のように定義されている。
-.in +4n
-.nf
-
-typedef struct {
-    unsigned int       bsize;
-    unsigned int       ffactor;
-    unsigned int       nelem;
-    unsigned int       cachesize;
-    uint32_t         (*hash)(const void *, size_t);
-    int         lorder;
-} HASHINFO;
-.fi
-.in
-.PP
-この構造体の要素を以下に示す。
-.TP  10
-\fIbsize\fP
-hash テーブルバケット (table bucket) のサイズを定義する。 デフォルトは 256 バイトである。
-ディスクに置かれるテーブルやデータアイテムが大きいテーブルでは ページサイズを大きくするほうが良いだろう。
-.TP 
-\fIffactor\fP
-ユーザーが望む hash テーブル中の密度である。 これはそれぞれのバケットに格納できるキーの概数であり、 hash テーブルを拡大・縮小を作用する。
-デフォルトは 8 である。
-.TP 
-\fInelem\fP
-hash テーブルの最終サイズを大まかに見積もった値である。 この値がセットされていなかったり、あまりに低くセットされていると、 hash
-テーブルはキーが入ってくるに応じて拡張される。 しかし少しパフォーマンスが (おそらく気付く程度に) 落ちる。 デフォルト値は 1 である。
-.TP 
-\fIcachesize\fP
-メモリーキャッシュの最大値 (バイト単位) の参考値。 この値は \fBあくまで参考であり\fP、
-アクセスメソッドはこの値を越えたメモリーの割り当てに成功することもある。
-.TP 
-\fIhash\fP
-はユーザー定義の hash 関数である。 全てのデータに対してうまく作用する hash 関数と言うのはないから、 特定のデータセットに対しては組み込みの
-hash 関数では パフォーマンスが低いこともあるかもしれない。 ユーザー定義の hash 関数は二つの引数をとらなくてはならない (バイト文字
-列へのポインターと、長さ)。 そして hash 値として使われる 32ビットの値を返さなくてはならない。
-.TP 
-\fIlorder\fP
-データベースに格納されているメタデータの整数値のバイトオーダー。 この数字は、順序を整数で表したものである。 例えばビッグエンディアンなら、この数値は
-4,321 となる。 \fIlorder\fP が 0 (指定されていない)場合、現在のホスト で使われている並び順が使われる。
-ファイルが既に存在する場合、指定した値は無視されツリーが作られ た時に指定されていた値が使われる。
-.PP
-ファイルが既に存在している (または \fBO_TRUNC\fP フラグが指定されていない) と、 \fIbsize\fP, \fIffactor\fP,
-\fIlorder\fP, \fInelem\fP に指定された値は無視され、 ハッシュが作られた時に使った値が使われる。
-.PP
-hash 関数が指定されると、 \fIhash_open\fP はデータベースが作られた時に指定されていた hash 関数と今回指定された hash
-関数が同じかどうかを調べ、 同じでない場合には失敗する。
-.PP
-\fBdbm\fP(3), と \fBndbm\fP(3)  に記述されているルーチンへの過去互換を取るためのインターフェイスが
-存在する。しかしこれらのインターフェイスは以前のファイルフォー マットとは互換性がない。
-.SH エラー
-\fIhash\fP アクセスメソッドルーチンは、失敗するとライブラリルーチン \fBdbopen\fP(3)  で指定されているエラーに応じた \fIerrno\fP
-をセットする。
-.SH バグ
-バイトオーダーとしてはビッグエンディアンとリトルエンディアンのみが サポートされている。
-.SH 関連項目
-\fBbtree\fP(3), \fBdbopen\fP(3), \fBmpool\fP(3), \fBrecno\fP(3)
-
-\fIDynamic Hash Tables\fP, Per\-Ake Larson, Communications of the ACM, April
-1988.
-
-\fIA New Hash Package for UNIX\fP, Margo Seltzer, USENIX Proceedings, Winter
-1991.
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。