日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
HASH(3) FreeBSD ライブラリ関数マニュアル HASH(3) 名称 hash -- hash データベースアクセス方法 書式 #include <sys/types.h> #include <db.h> 解説 ルーチン dbopen() は、データベースファイルへのライブラリインタフェースで す。サポートされているファイルの形式の 1 つは、hash ファイルです。データ ベースアクセス方法の一般的な説明は、dbopen(3) にあります。このマニュアル ページは、hash 特有の情報についてのみ説明しています。 hash データ構造は、拡張可能で、動的なハッシュスキームです。 dbopen() で提供されるアクセス方法特有のデータ構造は、次のように <db.h> イ ンクルードファイルに定義されています。 typedef struct { u_int bsize; u_int ffactor; u_int nelem; u_int cachesize; uint32_t (*hash)(const void *, size_t); int lorder; } HASHINFO; この構造体の要素 (element) は、次の通りです: bsize bsize 要素は、hash テーブルのバケットサイズを定義し、デフォルト値 で、4096 バイトです。ディスク常駐テーブルと大きなデータ項目がある テーブルに対して、ページサイズを増加することが望ましいでしょう。 ffactor ffactor 要素は、hash テーブル内の望ましい密度を示します。それは、 hash テーブルが成長するか、または縮小するかどうかを決定して、任意 の 1 つのバケットに蓄積することを可能にされたキーの数の近似です。 デフォルト値は、8 です。 nelem nelem 要素は、hash テーブルの最終サイズの見積りです。設定されない か、または低く設定されるなら、hash テーブルは、キーが入力されると ともに素直に拡張しますが、少しの性能低下に、気が付くかれるかもし れません。デフォルト値は、1 です。 cachesize メモリキャッシュのバイト単位の推奨される最大サイズ。この値は、単 なる勧告であり、アクセス方法は、失敗するより、より多くのメモリを 割り付けます。 hash hash 要素は、ユーザ定義の hash 関数です。hash 関数は、すべての指 定できるデータで同様にうまく行なわないので、ユーザは、組み込みの hash 関数が特別のデータセットで不完全に行うことが分かります。ユー ザ指定の hash 関数は、2 つの引数 (バイト文字列へのポインタと長さ) を取る必要があり、hash (ハッシュ) 値として使用される 32 ビット量 を返します。 lorder 格納されたデータベースのメタデータの整数のバイト順。数値は、整数 としての順序を表すべきです。例えば、ビッグエンディアンの順序は、 数値 4,321 となるでしょう。lorder が 0 (順序が指定されない) のな ら、現在のホストの順序が使用されます。ファイルが既に存在している なら、指定された値は、無視され、ツリーが作成されたときに指定され た値が使用されます。 ファイルが既に存在し、(そして、O_TRUNC フラグが指定されてないなら)、 bsize, ffactor, lorder と nelem 引数に指定された値は、無視され、ツリーが 作成されたときに指定された値が使用されます。 hash 関数が指定されるなら、hash_open() は、指定された hash 関数がデータ ベースが作成されたものと同じかどうかを確認し、そうでなければ、失敗しま す。 より古い dbm と ndbm ルーチンへの後方互換性のインタフェースが、提供されて いますが、これらのインタフェースは、前のファイル形式と互換性がありませ ん。 エラー hash アクセス方法ルーチンは、失敗し、ライブラリルーチン dbopen(3) で明記 されたエラーのいずれかの値が errno に設定されます。 関連項目 btree(3), dbopen(3), mpool(3), recno(3) Per-Ake Larson, Dynamic Hash Tables, Communications of the ACM, April 1988. Margo Seltzer, A New Hash Package for UNIX, USENIX Proceedings, Winter 1991. バグ ビッグエンディアンとリトルエンディアンのバイト順のみ、サポートされていま す。 FreeBSD 11.2 August 18, 1994 FreeBSD 11.2