.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH HSEARCH 3 2011\-09\-10 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1998 George Momma,
+.\" Copyright (c) 2001-2005 Yuichi SATO,
+.\" and Copyright (c) 2008 Akihiro MOTOKI
+.\" Translated 1998-05-23, George Momma <momma@wakhok.ac.jp>
+.\" Updated & Modified 2001-10-15, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified 2002-01-03, Yuichi SATO
+.\" Updated & Modified 2004-01-17, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2005-01-10, Yuichi SATO
+.\" Updated 2008-09-20, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\"
+.TH HSEARCH 3 2013\-07\-22 GNU "Linux Programmer's Manual"
.SH 名前
hcreate, hdestroy, hsearch, hcreate_r, hdestroy_r, hsearch_r \- ハッシュテーブルの管理
.SH 書式
\fBhsearch_r\fP() 関数が \fBhsearch\fP() と異なるのは、見つかった項目へのポインタを、 関数の結果としてではなく、
\fI*retval\fP に格納して返す点である。
.SH 返り値
-\fBhcreate\fP() と \fBhcreate_r\fP() は、成功した場合 0 以外の値を返し、 エラーの場合 0 を返す。
+\fBhcreate\fP() と \fBhcreate_r\fP() は、成功した場合 0 以外の値を返す。 エラーの場合 0 を返し、 \fIerrno\fP
+にエラーの原因を示す値を設定する。
成功すると、 \fBhsearch\fP() は、ハッシュテーブル内のエントリへのポインタを返す。 エラーの場合、 \fBhsearch\fP() は NULL
を返す。 エラーとなるのは、 \fIaction\fP が \fBENTER\fP でハッシュテーブルがいっぱいの場合か、 \fIaction\fP が \fBFIND\fP
で \fIitem\fP がハッシュテーブル内に 見つからない場合である。 \fBhsearch_r\fP() は、成功すると 0 以外を返し、エラーの場合 0
-を返す。
+を返す。 エラーの場合、 これら二つの関数は \fIerrno\fP にエラーの原因を示す値を設定する。
.SH エラー
.LP
\fBhcreate_r\fP() と \fBhdestroy_r\fP() は以下の理由で失敗する可能性がある。
\fIaction\fP が \fBFIND\fP で、 \fIkey\fP がテーブル内に見つからなかった。
.PP
POSIX.1\-2001 が規定しているのは、エラー \fBENOMEM\fP だけである。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+関数 \fBhcreate\fP(), \fBhsearch\fP(), \fBhdestroy\fP()
+はテーブルを格納するのにグローバル空間を使用する。そのため、これらの関数はスレッドセーフではない。
+.LP
+関数 \fBhcreate_r\fP(), \fBhsearch_r\fP(), \fBhdestroy_r\fP() はスレッドセーフである。
.SH 準拠
関数 \fBhcreate\fP(), \fBhsearch\fP(), \fBhdestroy\fP() は SVr4 から導入されたもので、POSIX.1\-2001
に記述されている。 関数 \fBhcreate_r\fP, \fBhsearch_r\fP, \fBhdestroy_r\fP は GNU の拡張である。
.SH 関連項目
\fBbsearch\fP(3), \fBlsearch\fP(3), \fBmalloc\fP(3), \fBtsearch\fP(3)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。