Catch up with somewhat recent RELENG_4 section 3

Submitted by:FreeBSD jpman project members <man-jp@jp.FreeBSD.org>
This commit is contained in:
Kazuo Horikawa 2001-07-26 00:36:08 +00:00
parent 91f3c93359
commit c047a2ac17
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=10054
104 changed files with 2654 additions and 2056 deletions

View file

@ -17,7 +17,7 @@
.\" 5. Modifications may be freely made to this file providing the above
.\" conditions are met.
.\"
.\" %Id: _secure_path.3,v 1.3 1998/06/06 05:50:42 jkoshy Exp %
.\" %FreeBSD: src/lib/libutil/_secure_path.3,v 1.7.2.1 2000/04/22 16:36:01 phantom Exp %
.\"
.\" $FreeBSD$
.Dd May 2, 1997
@ -26,52 +26,54 @@
.Sh 名称
.Nm _secure_path
.Nd ファイルが安全であるように見えるかどうかを判定する
.Sh ライブラリ
.Lb libutil
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <libutil.h>
.Ft int
.Fn _secure_path "const char *path" "uid_t uid" "gid_t gid"
.Pp
.Sh 解説
この関数は、指定のパスについて基本的なセキュリティチェックを行います。
これはルート特権で実行中のプロセスが使用することを意図しています。指定の
ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの
危うさを検出するために使用される方法を使うことがよくあります。ファイルは、
次の条件を満たす場合に安全であると考えられます。
危険性を検出するために使用される方法としてよく使われます。
ファイルは、次の条件を満たす場合に
.Sq 安全である
と考えられます。
.Bl -enum
.It
ファイルが存在し、それが通常のファイルである (シンボリックリンク、
ファイル、デバイスに固有のファイル、または名前付きのパイプファイル
でない)。
.It
ワールド書き込み可能でない。
誰もが書き込み可能な属性を持っていない。
.It
uid が -1 でない場合は、指定の uid またはユーザ 0 によって
uid が -1 でない場合は、指定された uid または uid 0 のユーザによって
所有されている。
.It
グループ書き込みでない、または
グループの書き込み属性がない、または
gid が -1 でない場合は指定の
gid によるグループ所有権がある。
.El
.Sh 戻り値
この関数は、ファイルが存在し、安全であると考えられる場合 0 を返します。
ファイルが存在しない場合は -2 を返します。その他、セキュリティ障害を示す
場合は -1 を返します。
この関数は、ファイルが存在し、安全であると考えられる場合 0 を返します。
ファイルが存在しない場合は -2 を返します。
セキュリティ障害を示す場合は -1 を返します。
.Xr syslog 3
が、この関数の処理失敗をログ記入するのに
使用されます。これには、理由
LOG_ERR
優先順位が含まれます。
が、この関数の処理失敗を理由を含めて LOG_ERR 優先順位のログに
記入するために使用されます。
.Pp
.Sh バグ
実行されるチェックは基本的なものであり、この関数の使用と参照ファイルへの
アクセスの間の競争状況を除去しようとする試みは行われません。
.Pp
.Sh 関連項目
.Xr lstat 3 ,
.Xr lstat 2 ,
.Xr syslog 3
.Pp
.Sh 歴史
この関数の由来であるコードは、Berkeley Software Design,Inc. によって
FreeBSD プロジェクトに寄与されたものです。
.\"X kuma
.Fx
プロジェクトに寄与されたものです。
.\"X kuma oh

View file

@ -34,14 +34,17 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)abort.3 8.1 (Berkeley) 6/4/93
.\"
.\" %FreeBSD: src/lib/libc/stdlib/abort.3,v 1.6.2.1 2000/04/22 17:06:23 phantom Exp %
.\" $FreeBSD$
.\"
.Dd June 4, 1993
.Dt ABORT 3
.Os
.Sh 名称
.Nm abort
.Nd プログラムを異常終了させる
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft void
@ -50,10 +53,9 @@
.Fn abort
関数は、プログラムを異常終了させます。ただし、シグナル
.Dv SIGABRT
捕捉され、シグナルハンドラが戻らない場合は別です。開いているストリームは
フラッシュされ閉じられます。
が捕捉され、シグナルハンドラが戻らない場合は別です。
.Pp
開いているストリームはフラッシュされ閉じられます。
.Sh 戻り値
.Fn abort
関数が戻ることはありません。
@ -66,5 +68,5 @@
.Fn abort
関数は
.St -p1003.1-90
準拠しています。
.\"X kuma
適合しています。
.\"X kuma oh

View file

@ -34,7 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)abs.3 8.1 (Berkeley) 6/4/93
.\" %Id: abs.3,v 1.5 1997/02/22 15:03:06 peter Exp %
.\" %FreeBSD: src/lib/libc/stdlib/abs.3,v 1.7.2.2 2001/03/06 16:46:02 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -42,34 +42,34 @@
.Os
.Sh 名称
.Nm abs
.Nd 整数絶対値関数
.Nd 整数の絶対値関数
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft int
.Fn abs "int j"
.Sh 解説
.Fn abs
関数は整数
関数は整数
.Ar j
の絶対値を計算します。
.Pp
.Sh 戻り値
.Fn abs
関数は絶対値を返します。
.Pp
関数は、絶対値を返します。
.Sh 関連項目
.Xr cabs 3 ,
.Xr fabs 3 ,
.Xr floor 3 ,
.Xr hypot 3 ,
.Xr labs 3 ,
.Xr math 3
.Pp
.Sh 規格
.Fn abs
関数は
.St -ansiC
に準拠しています。
.Pp
関数は、
.St -isoC
に適合しています。
.Sh バグ
最も大きい負の値の絶対値は負のままです。
.\"X kuma
最大の負の整数の絶対値は、負のままです。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)acos.3 5.1 (Berkeley) 5/2/91
.\" %Id: acos.3,v 1.5 1997/02/22 15:09:19 peter Exp %
.\" %FreeBSD: src/lib/msun/man/acos.3,v 1.6.2.2 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd May 2, 1991
@ -48,42 +48,37 @@
.Fn acosf "float x"
.Sh 解説
.Fn acos
関数と
および
.Fn acosf
関数は
関数は
.Fa x
の逆余弦の主値を計算します。
[-1, +1]
範囲にない引数については領域エラーが起きます。切り捨て丸めによるエラーの
詳細については、
[-1, +1] の区間外の引数によって、領域エラーが発生します。
丸めによる誤差の議論は、
.Xr math 3
を参照してください。
.Pp
.Sh 戻り値
.Fn acos
関数と
および
.Fn acosf
関数は、
.Bq 0 , \*(Pi
ラジアンの範囲内の余弦を返します。
ラジアンの区間の逆余弦を返します。
.Tn VAX
および
.Tn Tahoe
では、
.Bd -unfilled -offset indent
.Pf \&| Ns Ar x Ns \&| > 1 ,
.Pf \&| Ns Ar x Ns \&| > 1
.Ed
.Pp
の場合、
の場合
.Fn acos x
.Dv EDOM
にグローバル変数
はグローバル変数
.Va errno
設定し、予約された
オペランドエラーが生成されます。
.Pp
.Er EDOM
に設定し、予約されたオペランドフォルトが生成されます。
.Sh 関連項目
.Xr asin 3 ,
.Xr atan 3 ,
@ -95,10 +90,10 @@
.Xr sinh 3 ,
.Xr tan 3 ,
.Xr tanh 3
.Pp
.Sh 規格
.Fn acos
関数は
.St -ansiC
に準拠しています。
.Pp
関数は、
.St -isoC
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)acosh.3 5.2 (Berkeley) 5/6/91
.\" %Id: acosh.3,v 1.5 1997/02/22 15:09:20 peter Exp %
.\" %FreeBSD: src/lib/msun/man/acosh.3,v 1.6 1999/08/28 00:06:18 peter Exp %
.\"
.\" $FreeBSD$
.Dd May 6, 1991
@ -48,43 +48,40 @@
.Fn acoshf "float x"
.Sh 解説
.Fn acosh
関数と
および
.Fn acoshf
関数は、実数引数
関数は、実数引数
.Ar x
の逆双曲余弦を計算します。切り捨て丸めによるエラーの詳細については、
の逆双曲余弦を計算します。
丸めによる誤差の議論は、
.Xr math 3
を参照してください。
.Pp
.Sh 戻り値
.Fn acosh
関数と
および
.Fn acoshf
関数は、
.Ar x
逆双曲余弦を返します。
逆双曲余弦を返します。
.Tn VAX
および
.Tn Tahoe
では、引数が 1 より小さい場合、
では、引数が 1 より小さい場合
.Fn acosh
は、
.Er EDOM
にグローバル変数
はグローバル変数
.Va errno
設定し、予約済みのオペランドエラーを発生させます。
.Pp
.Er EDOM
に設定し、予約されたオペランドフォルトが生成されます。
.Sh 関連項目
.Xr asinh 3 ,
.Xr atanh 3 ,
.Xr exp 3 ,
.Xr math 3
.Pp
.Sh 歴史
.Fn acosh
関数は
関数は
.Bx 4.3
現れました。
.Pp
.\"X kuma
登場しました。

View file

@ -26,7 +26,8 @@
.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $ANA: addr2ascii.3,v 1.1 1996/06/13 18:41:46 wollman Exp $
.\" $ANA: addr2ascii.3,v 1.1 1996/06/13 18:41:46 wollman Exp $
.\" %FreeBSD: src/lib/libc/net/addr2ascii.3,v 1.7.2.2 2000/05/06 13:34:10 phantom Exp %
.\"
.\" $FreeBSD$
.Dd June 13, 1996
@ -35,7 +36,9 @@
.Sh 名称
.Nm addr2ascii ,
.Nm ascii2addr
.Nd 一般的なアドレスフォーマット化ルーチン
.Nd 一般的なアドレスフォーマットルーチン
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <netinet/in.h>
@ -49,31 +52,28 @@
.Fn addr2ascii
.Fn ascii2addr
は、バイナリ形式と、アドレスファミリに
適切な印刷可能形式の間でネットワークアドレスを変換するのに使用されます。
両方の関数、変換プロセスで使用されるアドレスファミリを指定する
は、バイナリ形式と、アドレスファミリに適切な印字可能な形式との間で
ネットワークアドレスを変換するのに使用されます。
両方の関数とも、変換プロセスで使用されるアドレスファミリを指定する
.Fa af
引数を
使用します (現時点では、
引数を使用します (現時点では、
.Dv AF_INET
および
.Dv AF_LINK
アドレスファミリだけがサポートされています)。
.Pp
.Fn addr2ascii
関数は、バイナリのネットワーク形式のアドレス印刷可能な形式に
関数は、バイナリのネットワーク形式のアドレスを印字可能な形式に
変換するのに使用されます。
.Fa af
に加えて、
3 つの他の引数があります。
の他に、 3 つの引数を持ちます。
.Fa addrp
引数は、変換するネットワークアドレスを指すポインタです。
引数は、変換するネットワークアドレスへのポインタです。
.Fa len
引数は、
アドレスの長さです。
引数は、アドレスの長さです。
.Fa buf
引数は、結果を保持するために呼び出し元が割り振る
バッファを指すオプションのポインタです。
バッファへのオプションのポインタです。
ヌルポインタが渡されると、
.Fn addr2ascii
は静的に割り振られたバッファを使用します。
@ -81,28 +81,27 @@
.Fn ascii2addr
関数は、
.Fn addr2ascii
と逆の演算を実行します。
と逆の操作を実行します。
.Fa af
に加えて、
2 つのパラメータ
に加えて、2 つのパラメータ
.Fa ascii
.Fa result
を使用します。
.Fa ascii
パラメータは、バイナリに
変換されるストリングを指すポインタです。
パラメータは、バイナリに変換される文字列へのポインタです。
.Fa result
パラメータは、指定のファミリ
に適切なネットワークアドレス構造を指すポインタです。
パラメータは、指定されたファミリに適切なネットワークアドレス構造体への
ポインタです。
.Pp
指定ファイル内のバイナリアドレスを使用するのに適切な構造は次のとおりです。
指定されたファミリにおいて使用されるバイナリアドレスとして
適切な構造体は次のとおりです。
.Pp
.Bl -tag -width AF_INETxxxx -compact
.It Dv AF_INET
.Li struct in_addr
.Pq in Aq Pa netinet/in.h
.It Av AF_LINK
.It Dv AF_LINK
.Li struct sockaddr_dl
.Pq in Aq Pa net/if_dl.h
.\" .It Dv AF_INET6
@ -113,13 +112,11 @@
.Fn addr2ascii
関数は、渡されたバッファのアドレス、または
NULL
ポインタが
渡された場合は静的バッファのアドレスを返します。処理が失敗した場合は、
ヌルポインタを返します。
ポインタが渡された場合は静的バッファのアドレスを返します。
処理が失敗した場合は、ヌルポインタを返します。
.Fn ascii2addr
関数は、バイナリアドレスの長さ (バイト単位)
を返します。処理が失敗した場合は
-1 を返します。
関数は、バイナリアドレスの長さ (バイト単位) を返します。
処理が失敗した場合は -1 を返します。
.Pp
.Sh
.Xr inet 3
@ -127,7 +124,7 @@ NULL
.Fn inet_ntoa
.Fn inet_aton
は次のように実できます。
は次のように実装することができます。
.Bd -literal -offset indent
#include <sys/types.h>
#include <sys/socket.h>
@ -137,14 +134,14 @@ NULL
char *
inet_ntoa(struct in_addr addr)
{
return addr2ascii(AF_INET, &addr, sizeof addr, 0);
return addr2ascii(AF_INET, &addr, sizeof addr, 0);
}
int
inet_aton(const char *ascii, struct in_addr *addr)
{
return (ascii2addr(AF_INET, ascii, addr)
== sizeof(*addr));
return (ascii2addr(AF_INET, ascii, addr)
== sizeof(*addr));
}
.Ed
.Pp
@ -154,12 +151,12 @@ inet_aton(const char *ascii, struct in_addr *addr)
.Fn ascii2addr
は、他の方法でなく、
.Xr inet 3
関数で実されているからです。
関数で実されているからです。
.Sh エラー
処理失敗が返されたとき、
.Li errno
に次の値の 1 つの設定されます。
.Bl -tag -width [EPROTONOSUPPORT]
.Bl -tag -width Er
.It Bq Er ENAMETOOLONG
.Fn addr2ascii
ルーチンは、
@ -175,9 +172,7 @@ inet_aton(const char *ascii, struct in_addr *addr)
ではない
.Fa af
パラメータが渡されました。
.It Bq er EINVAL
.Fn ascii2addr
によって渡された
.It Bq Er EINVAL
.Fn ascii2addr
に渡された文字列は、
アドレスファミリ
@ -189,34 +184,35 @@ inet_aton(const char *ascii, struct in_addr *addr)
.Xr linkaddr 3 ,
.Xr inet 4
.Sh 歴史
これに近いインタフェースは、オリジナルには Craig Partridge
が提案しました。
これに近いインタフェースは、もともと Craig Partridge によって
提案されました。
このインタフェース自体は、
.Tn INRIA
.Tn IPv6
インプリメントに最初に現れたものです
の実装に最初に現れました
.Sh 作者
コードとドキュメンテーションは
.An Garrett A. Wollman ,
MIT Laboratory for Computer Science
コードとドキュメントは MIT Laboratory for Computer Science の
.An Garrett A. Wollman
によるものです。
.Sh バグ
オリジナルの実装は IPv6 をサポートしていました。このサポートは、
しだいに復活されるはずです。
オリジナルの実装は IPv6 をサポートしていました。
このサポートは、そのうち復活されるはずです。
.Tn NRL
の実装は、
の実装は、
.Dv AF_ISO
および
.Dv AF_NS
のアドレスファミリのサポートを組み込んでいるはずです
アドレスファミリのサポートも含まれていました
.Pp
このインタフェースの一般性については、いくらか疑問があります。真に一般的な
インタフェースは、使用されるバッファの長さを決定する手段を備えています。
動的に割り当てでき、バイナリアドレスとして保存するのに必ず
このインタフェースの一般性については、いくらか疑問があります。
本当に一般的なインタフェースであれば、バッファを動的に割り当てることが
できるよう、使用されるバッファの長さを決定する手段を備えているでしょうし、
バイナリアドレスを保持するのには必ず
.Dq Li struct sockaddr
使用とするからです。不都合なことに、これは
既存のやり方と互換性がありません。この制限は、任意のアドレスファミリからの
ネットワークアドレスを印刷するルーチンには、必要な最大バッファ長と、
バイナリアドレスとして使用するアドレスの該当する部分の内部的な
知識がなければならないことを意味します。
.\" kuma
要求するでしょう。
残念ながら、これは既存のやり方と互換性がありません。
この制限のため、任意のアドレスファミリからネットワークアドレスを
印字するルーチンは、必要な最大バッファ長や、
バイナリアドレスとして使用するアドレスの適切な部分といった
内部的な知識を依然として持っていなければなりません。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1980, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" 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.
.\" 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.
@ -29,7 +29,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)alarm.3 8.2 (Berkeley) 4/19/94
.\" @(#)alarm.3 8.2 (Berkeley) 4/19/94
.\" %FreeBSD: src/lib/libc/gen/alarm.3,v 1.9.2.2 2001/03/06 16:45:53 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 19, 1994
@ -38,6 +39,8 @@
.Sh 名称
.Nm alarm
.Nd シグナルタイマアラームを設定する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <unistd.h>
.Ft unsigned int
@ -48,18 +51,18 @@
.Ef
.Pp
.Fn alarm
関数は、指定の
.Fa seconds
秒の後、シグナル
関数は、シグナル
.Dv SIGALRM
を呼び出しプロセスに
配信するタイマを設定します。アラームが既に
を呼び出し元プロセスに指定の
.Fa seconds
秒後に配信するタイマを設定します。
アラームが既に
.Fn alarm
によって
設定されているものの配信されていない場合は、
によって設定されているものの配信されていない場合、
新たな
.Fn alarm
をもう一度呼び出すと、
前の呼び出しの設定を上書きします。要求
呼び出しは、前の設定を上書きします。
要求
.Fn alarm "0"
は、現在のアラームを無効にし、シグナル
.Dv SIGALRM
@ -75,8 +78,8 @@
.Fn alarm
の戻り値は、
.Fn alarm
の直前の呼び出しからタイマに残された時間の
量です。アラームが現時点で設定されていない場合、戻り値は
の直前の呼び出しからタイマに残された時間の量です。
アラームが現時点で設定されていない場合、戻り値は
0 になります。
.Sh 関連項目
.Xr setitimer 2 ,
@ -87,10 +90,13 @@
.Xr sleep 3 ,
.Xr ualarm 3 ,
.Xr usleep 3
.Pp
.\" .Sh 規格
.\" .Fn alarm
.\" 関数は
.\" .St -p1003.1-90
.\" に適合しています。
.Sh 歴史
.Fn alarm
関数は
.At v7
で現れました。
.\"X kuma
ではじめて登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" 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.
.\" 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.
@ -29,7 +29,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)alloca.3 8.1 (Berkeley) 6/4/93
.\" @(#)alloca.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/alloca.3,v 1.4.2.1 2000/04/22 17:06:23 phantom Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -38,6 +39,8 @@
.Sh 名称
.Nm alloca
.Nd メモリ割り当て関数
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft void *
@ -50,8 +53,8 @@
この一時的な空間は、関数から戻るときに自動的に解放されます。
.Sh 戻り値
.Fn alloca
関数は、割り当てられた空間の先頭を指すポインタを返します。割り当て
処理に失敗した場合は、
関数は、割り当てられた空間の先頭を指すポインタを返します。
割り当て処理に失敗した場合は、
.Dv NULL
ポインタが返されます。
.Pp
@ -63,7 +66,8 @@
.Xr realloc 3
.Sh バグ
.Fn alloca
関数はマシン依存です。これを使用することはお勧めできません。
関数はマシン依存です。
これを使用することはお勧めできません。
.\" .Sh HISTORY
.\"
.\" The
@ -73,4 +77,3 @@
.\" The function appeared in 32v, pwb and pwb.2 and in 3bsd 4bsd
.\" The first man page (or link to a man page that I can find at the
.\" moment is 4.3...
.\" kuma

View file

@ -30,11 +30,11 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)asin.3 5.1 (Berkeley) 5/2/91
.\" %Id: asin.3,v 1.5 1997/02/22 15:09:22 peter Exp %
.\" %FreeBSD: src/lib/msun/man/asin.3,v 1.6.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" word: range 区間[asin.3]
.\" word: principal 主値[asin.3]
.\" word: radian ラジアン[asin.3]
.\" WORD: range 区間[asin.3]
.\" WORD: principal 主値[asin.3]
.\" WORD: radian ラジアン[asin.3]
.\"
.\" $FreeBSD$
.Dd May 2, 1991
@ -52,51 +52,50 @@
.Fn asinf "float x"
.Sh 解説
.Fn asin
関数と
および
.Fn asinf
関数は、
.Fa x
の逆正弦の主値を計算します。区間
[-1, +1]
内にない引数については区間エラーが起きます。切り捨て丸めによるエラーの
詳細については、
の逆正弦の主値を計算します。
[-1, +1] の区間外の引数によって、領域エラーが発生します。
丸めによる誤差の議論は、
.Xr math 3
を参照してください。
.Sh 戻り値
.Fn asin
関数と
および
.Fn asinf
関数は、区間
関数は、
.Bk -words
.Bq -\*(Pi/2, +\*(Pi/2
.Bq -\*(Pi/2 , +\*(Pi/2
.Ek
ラジアンの逆正弦を返します。
ラジアンの区間の逆正弦を返します。
.Tn VAX
と Tahoe では、
および
.Tn Tahoe
では、
.Bd -unfilled -offset indent
.Pf \&| Ns Ar x Ns \&| > 1
.Ed
.Pp
の場合、グローバル変数
の場合、グローバル変数
.Va errno
.Er EDOM
に設定され、予約されたオペランドエラーが生成されます。
に設定し、予約されたオペランドフォルトが生成されます。
.Sh 関連項目
.Xr acos 3 ,
.Xr atan 3 ,
.Xr atan2 3 ,
.Xr cos 3 ,
.Xr cosh 3 ,
.Xr math 3 ,
.Xr math 3 ,
.Xr sin 3 ,
.Xr sinh 3 ,
.Xr tan 3 ,
.Xr tanh 3
.Pp
.Sh 規格
.Fn asin
関数は
.St -ansiC
に準拠しています。
.\" kuma
関数は、
.St -isoC
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)asinh.3 6.4 (Berkeley) 5/6/91
.\" %Id: asinh.3,v 1.5 1997/02/22 15:09:23 peter Exp %
.\" %FreeBSD: src/lib/msun/man/asinh.3,v 1.6 1999/08/28 00:06:18 peter Exp %
.\"
.\" $FreeBSD$
.Dd May 6, 1991
@ -48,22 +48,21 @@
.Fn asinhf "float x"
.Sh 解説
.Fn asinh
関数と
および
.Fn asinhf
関数は、実数引数
関数は、実数引数
.Ar x
の逆双曲正弦を計算します。切り捨て丸めエラーの詳細については、
の逆双曲正弦を計算します。
丸めによる誤差の議論は、
.Xr math 3
を参照してください。
.Pp
.Sh 戻り値
.Fn asinh
関数と
および
.Fn asinhf
関数は
関数は
.Ar x
の逆双曲正弦を返します。
.Pp
.Sh 関連項目
.Xr acosh 3 ,
.Xr atanh 3 ,
@ -71,7 +70,8 @@
.Xr math 3
.Sh 歴史
.Fn asinh
関数は
関数は
.Bx 4.3
で登場しました。
.\" kuma

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" 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.
.\" 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.
@ -29,11 +29,11 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)assert.3 8.1 (Berkeley) 6/9/93
.\" %Id: assert.3,v 1.4 1998/01/02 19:22:50 alex Exp %
.\" @(#)assert.3 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/share/man/man3/assert.3,v 1.7.2.2 2000/12/29 10:17:59 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 9, 1993
.Dd January 26, 1999
.Dt ASSERT 3
.Os
.Sh 名称
@ -46,8 +46,8 @@
.Fn assert
マクロは、指定された
.Ar expression
を試験し、偽の場合は、呼び出し元
プロセスは終了されます。診断メッセージが
を試験し、偽の場合は、呼び出し元プロセスは終了されます。
診断メッセージが
.Em stderr
に書き込まれ、関数
.Xr abort 3
@ -60,25 +60,27 @@
.Pp
.Fn assert
マクロはコンパイル時に
.Fl NDEBUG
オプションで除去できます。
.Dv NDEBUG
をマクロとして定義することで除去できます
(例えば
.Xr cc 1
を参照してください。
のオプション
.Fl D Ns Dv NDEBUG
を使います)。
.Sh 診断
.Ar expression
が偽の場合、次の診断メッセージが
.Em stderr
に書き込まれます。
.Bd -literal -offset indent
"assertion \e"%s\e" failed: file \e"%s\e", line %d0, \e
"expression", __FILE__, __LINE__);
"assertion \e"%s\e" failed: file \e"%s\e", line %d\en", \e
"expression", __FILE__, __LINE__);
.Ed
.Sh 関連項目
.Xr abort 3
.Pp
.Sh 歴史
.Fn assert
.Nm
マクロは
.At v6
で登場しました。
.\" kuma

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)atan.3 5.1 (Berkeley) 5/2/91
.\" %Id: atan.3,v 1.5 1997/02/22 15:09:24 peter Exp %
.\" %FreeBSD: src/lib/msun/man/atan.3,v 1.6.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd May 2, 1991
@ -39,7 +39,7 @@
.Sh 名称
.Nm atan ,
.Nm atanf
.Nd 1 つの変数の逆正接関数
.Nd 1 変数の逆正接関数
.Sh 書式
.Fd #include <math.h>
.Ft double
@ -48,24 +48,23 @@
.Fn atanf "float x"
.Sh 解説
.Fn atan
関数と
および
.Fn atanf
関数は、
.Fa x
の逆正接の主値を計算します。切り捨て丸めのエラーの詳細については、
の逆正接の主値を計算します。
丸めによる誤差の議論は、
.Xr math 3
を参照してください。
.Pp
.Sh 戻り値
.Fn atan
関数と
および
.Fn atanf
関数は、範囲
関数は、
.Bk -words
.Bq -\*(Pi/2 , +\*(Pi/2
.Ek
ラジアンの逆正接を返します。
.Pp
ラジアンの区間の逆正接を返します。
.Sh 関連項目
.Xr acos 3 ,
.Xr asin 3 ,
@ -77,10 +76,10 @@
.Xr sinh 3 ,
.Xr tan 3 ,
.Xr tanh 3
.Pp
.Sh 規格
.Fn atan
関数は
.St -ansiC
に準拠しています。
.\" kuma
関数は、
.St -isoC
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)atanh.3 5.2 (Berkeley) 5/6/91
.\" %Id: atanh.3,v 1.5 1997/02/22 15:09:25 peter Exp %
.\" %FreeBSD: src/lib/msun/man/atanh.3,v 1.6 1999/08/28 00:06:20 peter Exp %
.\"
.\" $FreeBSD$
.Dd May 6, 1991
@ -47,45 +47,37 @@
.Ft float
.Fn atanhf "float x"
.Sh 解説
.Fn atanh
関数と
.Fn atanhf
関数は、実数引数
.Fn atanh
および
.Fn atanhf
関数は、実数引数
.Ar x
の逆双曲正接を計算します。切り捨て丸めによるエラーの詳細については、
.Xr math 3
を参照してください。
の逆双曲正接を計算します。
.Sh 戻り値
.Fn atanh
関数と
および
.Fn atanhf
関数は、処理が成功した場合、
関数は、成功した場合には
.Ar x
の逆双曲正接を
返します。
.Tn VAX
の逆双曲正接を返します。
.Tn VAX
および
.Tn Tahoe
で、引数の絶対値が
1 より大きいかまたは
1 に等しい
場合、
では、引数が 1 以上の値を持つ場合に、
.Fn atanh
グローバル変数
はグローバル変数
.Va errno
.Er EDOM
に設定し、予約済みオペランドエラーが生成されます。
.Pp
に設定し、予約されたオペランドフォルトが生成されます。
.Sh 関連項目
.Xr acosh 3 ,
.Xr asinh 3 ,
.Xr exp 3 ,
.Xr math 3
.Pp
.Sh 歴史
.Fn atanh
関数は
関数は
.Bx 4.3
現れました。
.\" kuma
登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Chris Torek and the American National Standards Committee X3,
@ -15,8 +15,8 @@
.\" 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.
.\" 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.
@ -33,7 +33,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)atexit.3 8.1 (Berkeley) 6/4/93
.\" @(#)atexit.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/atexit.3,v 1.3.2.3 2001/03/06 16:46:02 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -42,6 +43,8 @@
.Sh 名称
.Nm atexit
.Nd 終了時に呼び出される関数を登録する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft int
@ -50,31 +53,33 @@
.Fn atexit
関数は、
.Xr exit 3
によってであれ、プログラムのメイン関数の
戻りによってであれ、プログラム終了で呼び出される指定の
によるものであろうが、プログラムの
.Em main
関数からの戻りによるものであろうが
プログラム終了時に、与えられた
.Ar function
を登録します。このように登録された関数は、逆の順序に呼び出されます。
引数は渡されません。少なくとも
32 個の関数が常に登録でき、十分なメモリが割り
振りできる限り、それを超える関数も登録できます。
が呼び出されるよう登録します。
登録された関数は、逆の順序で呼び出されます。
引数は渡されません。
少なくとも 32 個の関数が常に登録でき、
十分なメモリが割り当てられる限り、それを超える関数も登録できます。
.Sh 戻り値
.\"X .Rv -std atexit
.Fn atexit
関数は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が
返され、グローバル変数
関数は、処理が成功すると値 0 を返します。
そうでない場合は -1 が返され、エラーを示すためにグローバル変数
.Fa errno
が設定されてエラーを示します。
が設定されます。
.Sh エラー
.Bl -tag -width [ENOMEM]
.Bl -tag -width Er
.It Bq Er ENOMEM
関数をリストに追加するメモリが利用できませんでした。関数の既存の
リストは無修正です。
関数をリストに追加するメモリが利用できませんでした。
関数の既存のリストは無修正です。
.El
.Sh 関連項目
.Xr exit 3
.Sh 規格
.Fn atexit
関数は
.St -ansiC
に準拠しています。
.\" kuma
.St -isoC
に適合しています。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the American National Standards Committee X3, on Information
@ -15,8 +15,8 @@
.\" 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.
.\" 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.
@ -33,7 +33,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)atof.3 8.1 (Berkeley) 6/4/93
.\" @(#)atof.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/atof.3,v 1.4.2.2 2001/03/06 16:46:02 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -44,6 +45,8 @@
.Nd
.Tn ASCII
文字列を倍精度浮動小数点数に変換する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft double
@ -71,6 +74,5 @@ strtod(nptr, (char **)NULL);
.Sh 規格
.Fn atof
関数は
.St -ansiC
に準拠しています。
.\" kuma
.St -isoC
に適合しています。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the American National Standards Committee X3, on Information
@ -15,8 +15,8 @@
.\" 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.
.\" 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.
@ -33,7 +33,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)atoi.3 8.1 (Berkeley) 6/4/93
.\" @(#)atoi.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/atoi.3,v 1.3.2.2 2001/03/06 16:46:02 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -44,6 +45,8 @@
.Nd
.Tn ASCII
文字列を整数に変換する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft int
@ -69,6 +72,5 @@
.Sh 規格
.Fn atoi
関数は
.St -ansiC
に準拠しています。
.\" kuma
.St -isoC
に適合しています。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the American National Standards Committee X3, on Information
@ -15,8 +15,8 @@
.\" 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.
.\" 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.
@ -33,7 +33,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)atol.3 8.1 (Berkeley) 6/4/93
.\" @(#)atol.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/atol.3,v 1.3.2.2 2001/03/06 16:46:02 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -44,6 +45,8 @@
.Nd
.Tn ASCII
文字列を長整数に変換する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft long
@ -70,6 +73,5 @@ strtol(nptr, (char **)NULL, 10);
.Sh 規格
.Fn atol
関数は
.St -ansiC
に準拠しています。
.\" kuma
.St -isoC
に適合しています。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Chris Torek.
@ -13,8 +13,8 @@
.\" 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.
.\" 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.
@ -31,7 +31,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)bcmp.3 8.1 (Berkeley) 6/4/93
.\" @(#)bcmp.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/bcmp.3,v 1.4.2.1 2000/04/22 17:06:35 phantom Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -40,6 +41,8 @@
.Sh 名称
.Nm bcmp
.Nd バイト文字列を比較する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft int
@ -50,18 +53,16 @@
.Fa b1
をバイト文字列
.Fa b2
に対して比較し、
これらが同一の場合は
0 を返し、そうでない場合はゼロでない値を返します。
両方の文字列が
に対して比較します。
これらが同一の場合は 0 を返し、そうでない場合は 0 でない値を返します。
両方の文字列は
.Fa len
バイトの長さであると想定して比較します。長さがゼロの
文字列は必ず同一です。
バイトの長さであると想定します。
長さが 0 の文字列は常に同一です。
.Pp
2つの文字列が重なりあっていても構いません。
2 つの文字列は重なり合っていても構いません。
.Pp
.Sh 関連項目
.Xr bcmp 3 ,
.Xr memcmp 3 ,
.Xr strcasecmp 3 ,
.Xr strcmp 3 ,
@ -70,7 +71,6 @@
.Pp
.Sh 歴史
.Fn bcmp
関数は最初に
関数は
.Bx 4.2
で現れました。
.\" kuma
ではじめて登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Chris Torek.
@ -14,8 +14,8 @@
.\" 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.
.\" 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.
@ -32,7 +32,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)bcopy.3 8.1 (Berkeley) 6/4/93
.\" @(#)bcopy.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/bcopy.3,v 1.3.2.1 2000/04/22 17:06:37 phantom Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -41,6 +42,8 @@
.Sh 名称
.Nm bcopy
.Nd バイト文字列をコピーする
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft void
@ -54,9 +57,9 @@
.Fa len
バイトをコピーします。
2 つの文字列が重なりあっていても構いません。
2 つの文字列は重なり合っていても構いません。
.Fa len
ゼロの場合、コピーされるバイトはありません。
0 の場合、コピーはされません。
.Sh 関連項目
.Xr memccpy 3 ,
.Xr memcpy 3 ,
@ -67,5 +70,4 @@
.Fn bcopy
関数は
.Bx 4.2
で現れました。
.\" kuma
で登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the American National Standards Committee X3, on Information
@ -15,8 +15,8 @@
.\" 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.
.\" 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.
@ -33,7 +33,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)bsearch.3 8.3 (Berkeley) 4/19/94
.\" @(#)bsearch.3 8.3 (Berkeley) 4/19/94
.\" %FreeBSD: src/lib/libc/stdlib/bsearch.3,v 1.4.2.2 2001/03/06 16:46:02 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 19, 1994
@ -42,47 +43,42 @@
.Sh 名称
.Nm bsearch
.Nd ソート済みの表に対するバイナリ探索
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft void *
.Fn bsearch "const void *key" "const void *base" "size_t nmemb" "size_t size" "int (*compar) (const void *, const void *)"
.Sh 解説
.Fn bsearch
関数は、
最初のメンバが
関数は、最初のメンバが
.Fa base
によって示されている
.Fa nmemb
個のオブジェクトの配列の中から
.Fa key
が指すオブジェクト
に一致するメンバを探します。
が指すオブジェクトに一致するメンバを探します。
配列の各メンバのサイズは
.Fa size
で指定されます。
.Pp
配列の内容は、
.Fa compar
が参照する比較関数に従って昇順にソート
された状態でなければなりません。
が参照する比較関数に従って昇順にソートされた状態でなければなりません。
.Fa compar
ルーチンには、
2 つの引数があり、
ルーチンは
.Fa key
オブジェクト
と配列メンバをこの順序で指します。
と配列メンバを指す 2 つの引数をこの順序でとることが期待されており、
.Fa key
オブジェクトが、配列メンバより
小さい、一致する、またはより多いことが検出された場合、それぞれゼロより
小さい整数、ゼロ、ゼロを超える整数が返されます。
オブジェクトが配列メンバより小さい、一致する、またはより大きいことが
検出された場合、それぞれ 0 より小さい整数、0、0 より大きい整数を返します。
.Sh 戻り値
.Fn bsearch
関数は、配列の一致するメンバを指すポインタを返します。または、
一致するメンバが見つからない場合は
NULL
ポインタを返します。
関数は、配列の一致したメンバへのポインタを返します。
一致したメンバが見つからなかった場合は、ヌルポインタを返します。
もし 2 つのメンバが比較の対象として等しい場合、
一致したメンバがどちらになるかは不定となります。
どちらのメンバが一致したかは不定となります。
.Sh 関連項目
.Xr db 3 ,
.Xr lsearch 3 ,
@ -91,5 +87,5 @@ NULL
.Sh 規格
.Fn bsearch
関数は
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Chris Torek.
@ -13,8 +13,8 @@
.\" 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.
.\" 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.
@ -31,7 +31,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)bstring.3 8.1 (Berkeley) 6/4/93
.\" @(#)bstring.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/bstring.3,v 1.3.2.2 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -45,9 +46,11 @@
.Nm memchr ,
.Nm memcmp ,
.Nm memcpy ,
.Nm memmove,
.Nm memmove ,
.Nm memset
.Nd バイト文字列の操作
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft int
@ -69,14 +72,12 @@
.Ft void *
.Fn memset "void *b" "int c" "size_t len"
.Sh 解説
これらの関数は、さまざまな長さのバイトストリングに作用します。これらは、
これらの関数は、さまざまな長さのバイト文字列を操作します。
これらは、
.Xr string 3
にリストされたルーチンのように終了の
NULL
バイトをチェック
しません。
にリストされたルーチンのように終了のヌルバイトをチェックしません。
.Pp
詳細については、専用のマニュアルページを参照してください。
詳細については、それぞれのマニュアルページを参照してください。
.Sh 関連項目
.Xr bcmp 3 ,
.Xr bcopy 3 ,
@ -89,29 +90,25 @@ NULL
.Xr memset 3
.Sh 規格
関数
.Fn memchr
.Fn memcmp
.Fn memcpy
.Fn memchr ,
.Fn memcmp ,
.Fn memcpy ,
.Fn memmove
および
および
.Fn memset
.St -ansiC
準拠しています。
.St -isoC
適合しています。
.Sh 歴史
関数
.Fn bzero
関数
.Fn memccpy
関数
.Bx 4.3
現れました。関数
登場しました。
.Fn bcmp
関数
.Fn bcopy
関数
.Bx 4.2
現れました。
登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" 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.
.\" 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.
@ -29,7 +29,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)byteorder.3 8.1 (Berkeley) 6/4/93
.\" @(#)byteorder.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/net/byteorder.3,v 1.3.2.1 2000/04/22 17:06:03 phantom Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -40,7 +41,9 @@
.Nm htons ,
.Nm ntohl ,
.Nm ntohs
.Nd ホストとネットワーク間のバイト順序を変換
.Nd ホストバイトオーダとネットワークバイトオーダを変換する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/param.h>
.Ft u_long
@ -52,22 +55,17 @@
.Ft u_short
.Fn ntohs "u_short netshort"
.Sh 解説
これらのルーチンは、
16 ビットと
32 ビットの量を、ネットワークバイト順序と
ホストバイト順序の間で変換します。
ネットワークの順序と同じバイト順序の
マシンでは、ルーチンは
NULL
マクロとして定義されます。
これらのルーチンは、16 ビットと 32 ビットの値を、
ネットワークバイトオーダとホストバイトオーダの間で変換します。
ネットワークのオーダと同じバイトオーダのマシンでは、
ルーチンはヌルマクロとして定義されます。
.Pp
これらのルーチンは、
.Xr gethostbyname 3
および
.Xr getservent 3
によって返される
インターネットアドレスおよびポートとともに使用されることが
最もよくあります。
によって返されるインターネットアドレスおよびポートとともに
使用されることが最もよくあります。
.Sh 関連項目
.Xr gethostbyname 3 ,
.Xr getservent 3
@ -75,7 +73,7 @@ NULL
.Nm byteorder
関数は
.Bx 4.2
に現れました。
で登場しました。
.Sh バグ
.Tn VAX
は、世界中の他のほとんどすべてのマシンとは逆順にバイトを処理します。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Chris Torek.
@ -14,8 +14,8 @@
.\" 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.
.\" 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.
@ -32,7 +32,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)bzero.3 8.1 (Berkeley) 6/4/93
.\" @(#)bzero.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/bzero.3,v 1.3.2.1 2000/04/22 17:06:37 phantom Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -40,7 +41,9 @@
.Os BSD 4.3
.Sh 名称
.Nm bzero
.Nd バイトストリングにゼロを書き込む
.Nd バイト文字列に 0 を書き込む
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft void
@ -49,12 +52,11 @@
.Fn bzero
関数は、
.Fa len
個のゼロバイトをストリング
個の 0 バイトを文字列
.Fa b
に書き込みます。
.Fa len
がゼロの
場合、
が 0 の場合、
.Fn bzero
は何もしません。
.Pp
@ -66,5 +68,4 @@
.Fn bzero
関数は
.Bx 4.3
で現れました。
で登場しました。

View file

@ -22,9 +22,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: calendar.3,v 1.4 1998/03/19 07:33:51 charnier Exp %
.\"
.\" %FreeBSD: src/lib/libcalendar/calendar.3,v 1.6.2.2 2001/01/16 12:09:30 ru Exp %
.\" $FreeBSD$
.\"
.Dd November 29, 1997
.Dt CALENDAR 3
.Os
@ -39,6 +39,8 @@
.Nm week ,
.Nm weekday
.Nd 西暦での日付けの演算
.Sh ライブラリ
.Lb libcalendar
.Sh 書式
.Fd #include <calendar.h>
.Ft struct date *
@ -60,7 +62,7 @@
.Ft int
.Fn weekday "int nd"
.Sh 解説
これらの関数は、西暦ゼロ年 (すなわちB.C. 1 年) 3 月 1 日
これらの関数は、西暦 0 年 (すなわち B.C. 1 年) 3 月 1 日
から西暦 100000 年までの
広範囲の年月のカレンダを演算します。
.Pp
@ -69,13 +71,12 @@
とリンクさせる必要があります。
.Pp
関数
.Fn easterg
.Fn easterg ,
.Fn easterog
および
.Fn easteroj
は、
Eastern Sunday (復活祭の日曜日)
Easter Sunday (復活祭の日曜日)
の日付けを、
.Fa dt
で指定した構造体に保存し、
@ -125,8 +126,7 @@ B.C. 1 ǯ 3
.Fa nd
に対応する日付けを
.Fa dt
で指定した構造体に保存し、
その構造体のポインタを返します。
で指定した構造体に保存し、その構造体のポインタを返します。
.Pp
.Fn ndaysg
および
@ -138,8 +138,7 @@ B.C. 1 ǯ 3
.Fn gdate
および
.Fn ndaysg
関数は、
1582 年 10 月 4 日以降のグレゴリオ暦および、
関数は、1582 年 10 月 4 日以降のグレゴリオ暦および、
以前のユリウス暦を仮定しますが、
一方、
.Fn jdate
@ -150,34 +149,26 @@ B.C. 1 ǯ 3
これら 2 つの暦ではうるう年の定義が違います。
ユリウス暦では 4 の倍数の年はすべてうるう年ですが、
グレゴリオ暦ではそのうちの
100 の倍数で、
400 の 倍数ではない年を除きます。
すなわち、 1700 、 1800 、 1900 、 2100 年はうるう年ではなく、
100 の倍数で、400 の 倍数ではない年を除きます。
すなわち、1700, 1800, 1900, 2100 年はうるう年ではなく、
2000 年はうるう年になります。
この新たな規則は、1582 年 10 月 4 日に、
同日以降の 10 日を削除することで開始されました。
カトリック国家のほとんどは、
16 世紀末までにこの新暦を採用しましたが、
一方、
20 世紀までなおユリウス暦にとどまる国々もありました。
英国とその植民地が
新暦に切り替えたのは、
1752 年 9 月 2 日でしたが、
その時点ではすでに
11 日を
削除する必要がありました。
一方、20 世紀までなおユリウス暦にとどまる国々もありました。
英国とその植民地が新暦に切り替えたのは、1752 年 9 月 2 日でしたが、
その時点ではすでに 11 日を削除する必要がありました。
.Pp
関数
.Fn week
は、
.Fa nd
で指定された日番号の日付けが含まれる週番号を返します。
で指定された日番号の日付けが含まれる週番号を返します。
引数
.Fa *year
は、その週 (の半分以上)
が含まれる年に設定されます。
週番号は、
各年の 3 日以上が含まれる第 1 週を 1 として、
は、その週 (の半分以上) が含まれる年に設定されます。
週番号は、各年の 3 日以上が含まれる第 1 週を 1 として、
順番に振られます。
週は月曜日から始まります。
この関数はグレゴリオ暦だけに定義されます。
@ -202,29 +193,25 @@ int m; /\(** month (1 - 12) \(**/
int d; /\(** day of month (1 - 31) \(**/
.Ed
.Pp
ゼロ年は歴史家の手では
0 年は歴史家の手では
.Qq 1 B.C.
と書かれますが、天文学者とこのライブラリ
では
と書かれますが、天文学者とこのライブラリでは
.Qq 0
と表記されます。
.Sh 関連項目
.Xr ncal 1 ,
.Xr strftime 3
.Rs
.%A A. B. Author
.%D November 1997
.Sh 規格
週番号は ISO 8601: 1988 に準拠しています。
.Sh 歴史
.Nm calendar
ライブラリは
.Fx 3.0
で最初に取り入れられました。
で最初に登場しました。
.Sh 作者
このマニュアルページとライブラリは、
.An Wolfgang Helbig Aq helbig@FreeBSD.org
によって書かれました。
.Sh バグ
このライブラリはきわめて慎重にコーディングされたので、残されたバグ
はありません。
このライブラリはきわめて慎重にコーディングされたので、
残されたバグはありません。

View file

@ -1,5 +1,3 @@
.\" %Id: catclose.3,v 1.5 1998/04/30 11:06:11 ache Exp %
.\"
.\" Copyright (c) 1994 Winning Strategies, Inc.
.\" All rights reserved.
.\"
@ -28,13 +26,16 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/nls/catclose.3,v 1.7.2.4 2001/02/12 08:43:29 phantom Exp %
.\" $FreeBSD$
.Dd May 29, 1994
.Dt CATCLOSE 3
.Os
.Sh 名称
.Nm catclose
.Nd メッセージカタログを閉じる
.Nd メッセージカタログのクローズ
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <nl_types.h>
.Ft int
@ -43,14 +44,28 @@
.Fn catclose
関数は、引数
.Fa catd
で指定されたメッセージカタログを閉じます。
.Pp
によって指定されたメッセージカタログをクローズします。
.Sh 戻り値
.\".Rv -std catclose
.Fn catclose
関数は成功すると値 0 を返します。それ以外の場合は値 -1 が
返され、エラーを示すグローバル変数
.Fa errno
が設定されます。
.Sh エラー
.Bl -tag -width Er
.It Bq Er EBADF
.Fa catd
引数によって無効なメッセージカタログ記述子が渡されました。
.El
.Sh 関連項目
.Xr gencat 1 ,
.Xr catgets 3 ,
.Xr catopen 3
.Pp
.Sh 規格
.Fn catclose
関数は
関数は
.St -xpg4
に準拠しています。
に適合しています。

View file

@ -1,5 +1,3 @@
.\" %Id: catgets.3,v 1.5 1998/04/30 11:06:12 ache Exp %
.\"
.\" Copyright (c) 1994 Winning Strategies, Inc.
.\" All rights reserved.
.\"
@ -28,45 +26,48 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/nls/catgets.3,v 1.7.2.2 2000/09/07 16:46:33 ache Exp %
.\" $FreeBSD$
.Dd May 29, 1994
.Dt CATGETS 3
.Os
.Sh 名称
.Nm catgets
.Nd メッセージカタログからの文字列の取得
.Nd メッセージカタログからの文字列の取り出し
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <nl_types.h>
.Ft char *
.Fn catgets "nl_catd catd" "int set_id" "int msg_id" "const char *s"
.Sh 解説
.Fn catgets
.Fn catgets
関数は、記述子
.Fa catd
が参照しているメッセージカタログからセット
によって参照されたメッセージカタログの、セット
.Fa set_id
のメッセージ
.Fa msg_id
を取り出そうとします。引数
の取り出しを試みます。
引数
.Fa s
は、関数が指定の
メッセージを取り出せない場合に返されるデフォルトメッセージを指定します。
.Pp
は、この関数が指定されたメッセージを取り出せない場合に返される、
デフォルトメッセージを指しています。
.Sh 戻り値
指定のメッセージを取り出すことができた場合
指定されたメッセージが成功裏に取り出された場合には
.Fn catgets
は、
メッセージストリングの入った内部バッファを指すポインタを返します。
そうでない場合は、
はそのメッセージ文字列が入った内部バッファへのポインタを返します。
そうでない場合には、
.Fa s
を返します。
.Pp
.Sh 関連項目
.Xr gencat 1 ,
.Xr catclose 3 ,
.Xr catopen 3
.Sh 規格
.Fn catgets
関数は
関数は
.St -xpg4
準拠しています。
に適合しています。

View file

@ -1,5 +1,3 @@
.\" %Id: catopen.3,v 1.6 1998/04/30 16:11:50 ache Exp %
.\"
.\" Copyright (c) 1994 Winning Strategies, Inc.
.\" All rights reserved.
.\"
@ -28,6 +26,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/nls/catopen.3,v 1.9.2.4 2000/12/08 13:49:28 ru Exp %
.\" $FreeBSD$
.Dd May 29, 1994
.Dt CATOPEN 3
@ -35,6 +34,8 @@
.Sh 名称
.Nm catopen
.Nd メッセージカタログのオープン
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <nl_types.h>
.Ft nl_catd
@ -42,61 +43,104 @@
.Sh 解説
.Fn catopen
関数は、
.Fa name
によって指定されたメッセージカタログをオープンし、メッセージカタログの
記述子を返します。
.Fa name
によって指定されるメッセージカタログを開き、
メッセージカタログ記述子を返します。
に 1 つの
.Sq /
が含まれている場合には、
.Fa name
.Sq /
1 つ含まれる場合、
はメッセージカタログのフルパス名を指定します。そうでない場合には、環境変数の値
.Ev NLSPATH
が以下の置換とともに使用されます。
.Bl -tag -width XXX
.It \&%N
.Fa name
はメッセージカタログの完全なパス名を指定します。そうでない場合は、
環境変数
引数の値です。
.It \&%L
.Ev LANG
環境変数または
.Dv LC_MESSAGES
カテゴリ (下記参照) の値です。
.It \&%l
.Ev LANG
環境変数または
.Dv LC_MESSAGES
カテゴリの言語要素です。
.It \&%t
.Ev LANG
環境変数または
.Dv LC_MESSAGES
カテゴリの地域要素です。
.It \&%c
.Ev LANG
環境変数または
.Dv LC_MESSAGES
カテゴリのコードセット要素です。
.It \&%%
単一の % 文字です。
.El
.Pp
空の文字列は未定義の値に置換されます。
.Pp
.Ev NLSPATH
の値が、
%N
の代わりに置き換えられ
.Fa name
とともに
使用されます。
で定義されるパス名のテンプレートは、コロン
.No ( Sq \&: )
で区切られます。
先頭のまたは 2 つの隣接するコロンは、%N を指定したのと同等です。
.Pp
.Fa oflag
引数が
.Dv NL_CAT_LOCALE
定数に設定されている場合、メッセージカタログを開くために
定数に設定されている場合には、
.Dv LC_MESSAGES
ロケールカテゴリが使用されます。
ロケールカテゴリがメッセージカタログをオープンするために使用されます。
.Dv NL_CAT_LOCALE
を使用することは
の使用は、
.St -xpg4
規格に準拠しています。
規格に適合しています。
.St -xpg3
との互換性を保つために 0 を指定することができます。
との互換性ために 0 を指定することができます。
.Fa oflag
が 0 に設定されている場合、
が 0 に設定されている時には
.Ev LANG
環境変数によってメッセージカタログのロケールが決定されます。
環境変数がメッセージカタログのロケールを決定します。
.Pp
メッセージカタログの記述子は、プロセスがそれをクローズするまで、または 1 つの
.Xr exec 3
関数の呼び出しの成功まで、有効に残ります。
.Sh 戻り値
処理が正常に完了すると、
成功して完了した時には
.Fn catopen
は、メッセージカタログ記述子を返します。
そうでない場合は、
(nl_catd) -1
が返され、エラーを示す
.Va errno
が設定されます。
はメッセージカタログの記述子を返します。
そうでない場合には、(nl_catd) -1 が返され、
.Va errno
がそのエラーを示すために設定されます。
.Sh エラー
.Bl -tag -width Er
.It Bq Er EINVAL
引数
.Fa name
が有効なメッセージカタログを指していません。
.It Bq Er ENAMETOOLONG
メッセージカタログのパス名全体が 1024 文字を超過しています。
.It Bq Er ENOENT
その名前のメッセージカタログが存在しません。または、
.Fa name
引数が空の文字列を指しています。
.It Bq Er ENOMEM
利用できるメモリが不十分です。
十分なメモリが有効ではありません
.El
.Sh 関連項目
.Xr gencat 1 ,
.Xr catclose 3 ,
.Xr catgets 3 ,
.Xr setlocale 3
.Sh 規格
.Fn catopen
関数は
関数は
.St -xpg4
に準拠しています。
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)ceil.3 5.1 (Berkeley) 5/2/91
.\" %Id: ceil.3,v 1.7 1997/03/19 01:28:42 bde Exp %
.\" %FreeBSD: src/lib/msun/man/ceil.3,v 1.8.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd March 10, 1994
@ -39,7 +39,7 @@
.Sh ĚžžÎ
.Nm ceil ,
.Nm ceilf
.Nd x 以上で最も小さい整数への切上げ
.Nd x 以上の最も小さな整数値への切上げ
.Sh ˝ńź°
.Fd #include <math.h>
.Ft double
@ -48,13 +48,11 @@
.Fn ceilf "float x"
.Sh ˛ňŔâ
.Fn ceil
関数と
および
.Fn ceilf
関数は、
関数は、(倍精度数として表現される)
.Fa x
以上の最も小さい整数値
(倍精度数として表現される)
を返します。
以上の最も小さな整数値を返します。
.Sh ´ŘϢšŕĚÜ
.Xr abs 3 ,
.Xr fabs 3 ,
@ -64,6 +62,8 @@
.Xr rint 3
.Sh ľŹłĘ
.Fn ceil
関数は
.St -ansiC
に準拠しています。
関数は、
.St -isoC
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)cos.3 5.1 (Berkeley) 5/2/91
.\" %Id: cos.3,v 1.6 1997/03/19 01:28:44 bde Exp %
.\" %FreeBSD: src/lib/msun/man/cos.3,v 1.7.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd May 2, 1991
@ -48,23 +48,20 @@
.Fn cosf "float x"
.Sh 解説
.Fn cos
関数と
および
.Fn cosf
関数は、
関数は、(ラジアンで計測された)
.Fa x
(
ラジアン単位で計算
)
の余弦を計算します。
引数があまりに大きいと、結果はわずかしか重要性がないか、または
重要性のないものになります。切り捨て名丸めエラーの詳細については、
大きな引数は、ほとんどまたは全く意味のない結果を生じることがあります。
丸めによる誤差の議論は、
.Xr math 3
を参照してください。
.Sh 戻り値
.Fn cos
関数と
および
.Fn cosf
関数は余弦値を返します。
関数は余弦値を返します。
.Sh 関連項目
.Xr acos 3 ,
.Xr asin 3 ,
@ -78,6 +75,8 @@
.Xr tanh 3
.Sh 規格
.Fn cos
関数は
.St -ansiC
に準拠しています。
関数は、
.St -isoC
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)cosh.3 5.1 (Berkeley) 5/2/91
.\" %Id: cosh.3,v 1.6 1997/03/19 01:28:44 bde Exp %
.\" %FreeBSD: src/lib/msun/man/cosh.3,v 1.7.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd May 2, 1991
@ -48,20 +48,19 @@
.Fn coshf "float x"
.Sh 解説
.Fn cosh
関数と
および
.Fn coshf
関数は、
.Fa x
の双曲余弦を計算します。
.Sh 戻り値
.Fn cosh
関数と
および
.Fn coshf
関数は、
.Fa x
が大きすぎない場合は、双曲余弦を返します。
.Fa x
が大きすぎる場合は、グローバル変数
の大きさが大きすぎる場合以外は、双曲余弦を返します。
大きすぎる場合は、グローバル変数
.Va errno
.Er ERANGE
@ -79,6 +78,8 @@
.Xr tanh 3
.Sh 規格
.Fn cosh
関数は
.St -ansiC
に準拠しています。
関数は、
.St -isoC
に適合しています。

View file

@ -31,10 +31,9 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)fabs.3 5.1 (Berkeley) 5/2/91
.\" %Id: fabs.3,v 1.5 1997/02/22 15:09:31 peter Exp %
.\" %FreeBSD: src/lib/msun/man/fabs.3,v 1.6.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd May 2, 1991
.Dt FABS 3
.Os
@ -50,18 +49,18 @@
.Fn fabsf "float x"
.Sh 解説
.Fn fabs
関数と
および
.Fn fabsf
関数は、浮動小数
関数は、浮動小数点数
.Fa x
の絶対値を算します。
の絶対値を算します。
.Sh 戻り値
.Fn fabs
関数と
および
.Fn fabsf
関数は、
.Fa x
の絶対値をします。
の絶対値をします。
.Sh 関連項目
.Xr abs 3 ,
.Xr ceil 3 ,
@ -72,5 +71,7 @@
.Sh 規格
.Fn fabs
関数は、
.St -ansiC
に準拠しています。
.St -isoC
に適合しています。

View file

@ -43,6 +43,8 @@
.Sh 名称
.Nm fclose
.Nd ストリームを閉じる
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdio.h>
.Ft int
@ -50,33 +52,41 @@
.Sh 解説
.Fn fclose
関数は、基礎となるファイルや関数のセットから、指定された
.Fa stream
.Fa ストリーム
を分離します。
ストリームが出力に使用されていた場合は、バッファのデータが
ストリームを出力に使用している場合は、
まず最初に、
.Xr fflush 3
で最初に書き込まれます。
を使用して、バッファにあるデータを書込みます。
.Sh 戻り値
問題なく終了すると 0 が戻されます。問題がある場合は
正常終了すると 0 が返されます。
正常終了しなかった場合は
.Dv EOF
が戻され、そのエラーを示す値にグローバル変数
が返され、
グローバル変数
.Va errno
が設定されます。
どちらの場合も、ストリームにはアクセスできなくなります。
には、エラーを示す値を設定されます。
どちらの場合でも、ストリームには
それ以上アクセスできません。
.Sh エラー
.Fn fclose
関数がエラーになると、ルーチン
関数がエラーなると、
ルーチン
.Xr close 2
.Xr fflush 3
に指定されたエラーに
で指定されたエラーが
.Va errno
が設定されることがあります。
に設定されます。
.Sh
.Fn fclose
は NULL 引数を処理しません。
NULL 引数はセグメンテーション違反を引き起こします。
これは、FreeBSD で作成されたプログラムのバグをなくすためのものです。
この動作はシステムの詳細であり、プログラムが依存すべきではありません。
この動作は意図的なもので、
.Fx
で作成されたプログラムのバグをなくすためです。
この動作は実装に関わるものであり、
プログラムが依存すべきではありません。
.Sh 関連項目
.Xr close 2 ,
.Xr fflush 3 ,
@ -85,5 +95,5 @@ NULL
.Sh 規格
.Fn fclose
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)fflush.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdio/fflush.3,v 1.4.2.3 2001/03/06 16:46:01 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -44,6 +45,8 @@
.Nm fflush ,
.Nm fpurge
.Nd ストリームのフラッシュ
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdio.h>
.Ft int
@ -52,15 +55,19 @@
.Fn fpurge "FILE *stream"
.Sh 解説
.Fn fflush
関数は、指定された出力のバッファにあるすべてのデータの書込み、
またはストリームの基礎となる書込み関数による
関数は、すべてのバッファされたデータを対応する
出力に強制的に書込みます。
またはストリームの場合は、下層の書込み関数を用いて
.Fa stream
の更新を強制的に実行します。ストリームのオープンステータスは変化しません。
の更新を強制的に実行します。
.\" underlying 下層
ストリームは開いた状態のままで、この関数によって影響は受けません。
.\" status ステータス?
.Pp
.Fa stream
引数が
.Dv NULL
である場合、
場合、
.Fn fflush
は開いている
.Em すべての
@ -69,33 +76,36 @@
.Fn fpurge
関数は、指定された
.Fa stream
でバッファに入っている入力か出力を消去します。
出力ストリームの場合は、書き込まれていない出力が破棄されます。
入力ストリームの場合は、基礎となるオブジェクトから読み込まれたが
のバッファに入っているどんな入出力も消去します。
出力ストリームの場合は、書込まれていない出力を破棄します。
入力ストリームの場合は、下層オブジェクトから読込んであり
.Xr getc 3
で入手されていない入力が破棄されます。これには、
で取り出されていない入力を破棄します。
これには、
.Xr ungetc
でプッシュバックされたテキストも含まれます。
.Sh 戻り値
問題なく終了すると 0 が戻されます。問題がある場合は
処理が正常に完了すると、値 0 が返されます。
そうでない場合は
.Dv EOF
が戻され、そのエラーを示す値にグローバル変数
が戻され、エラーを示すためにグローバル変数
.Va errno
が設定されます。
.Sh エラー
.Bl -tag -width [EBADF]
.Bl -tag -width Er
.It Bq Er EBADF
.Fa stream
が開いているストリームではありません。
.Fn fflush
の場合は、ストリームが書込み用に開いていません。
の場合、ストリームが書込み用に開いていません。
.El
.Pp
.Fn fflush
関数がエラーになると、ルーチン
.Xr write 2
で指定されたエラー
で指定されたエラー
.Va errno
が設定されることがあります。
に設定されます。
.Sh 関連項目
.Xr write 2 ,
.Xr fclose 3 ,
@ -104,5 +114,5 @@
.Sh 規格
.Fn fflush
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -1,4 +1,4 @@
.\" copyright (c) 1985, 1991 The Regents of the University of California.
.\" Copyright (c) 1985, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@ -30,17 +30,16 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)floor.3 6.5 (Berkeley) 4/19/91
.\" %Id: floor.3,v 1.6 1997/02/22 15:09:32 peter Exp %
.\" %FreeBSD: src/lib/msun/man/floor.3,v 1.7.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd March 10, 1994
.Dt FLOOR 3
.Os
.Sh 名称
.Nm floor ,
.Nm floorf
.Nd x 以下の最大整数値に丸める
.Nd x 以下の最も大きな整数値への切捨て
.Sh 書式
.Fd #include <math.h>
.Ft double
@ -49,11 +48,11 @@
.Fn floorf "float x"
.Sh 解説
.Fn floor
関数と
および
.Fn floorf
関数は、
.Fa x
以下の最大整数値 (倍精度数値) を戻します。
関数は、(倍精度数として表現される)
.Fa x
以下の最も大きな整数値を返します。
.Sh 関連項目
.Xr abs 3 ,
.Xr ceil 3 ,
@ -64,5 +63,7 @@
.Sh 規格
.Fn floor
関数は、
.St -ansiC
に準拠しています。
.St -isoC
に適合しています。

View file

@ -30,10 +30,10 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91
.\" %Id: ieee.3,v 1.4 1997/02/22 15:09:35 peter Exp %
.\" %FreeBSD: src/lib/msun/man/ieee.3,v 1.5.2.2 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd Feb 25, 1994
.Dd February 25, 1994
.Dt IEEE 3
.Os
.Sh 名称
@ -49,7 +49,7 @@
.Nm remainderf ,
.Nm scalbn ,
.Nm scalbnf
.Nd IEEE論理演算
.Nd IEEE 演算関数
.Sh 書式
.Fd #include <math.h>
.Ft double
@ -77,14 +77,14 @@
.Ft float
.Fn scalbnf "float x" "int n"
.Sh 解説
これらの関数は
これらの関数は
.St -ieee754
によ要求または推奨されています。
によって要求または推奨されています。
.Pp
.Fn copysign
および
.Fn copysignf
.Fa x
の符号を
.Fa y
@ -95,62 +95,58 @@
\-\*(If \*(Lt
.Fa x
\*(Lt +\*(If
とき
時には
.Fn finite
および
.Fn finitef
は値 1 を返します。
その他
(
は、値 1 を返します。そうでない時 (
.Pf \\*(Ba Ns Fa x Ns \\*(Ba
= \*(If
または
= \*(If または
.Fa x
\*(Na の時 )
はゼロを返します。
\*(Na の時) には、0 が返されます。
.Pp
.Fn ilogb
および
.Fn ilogbf
.Fa x
.Fa n
乗を整数で返します。
.Fn ilogb \*(Pm\*(If
乗を整数で返します。
.Fn ilogb \*(Pm\*(If
.Dv INT_MAX
し、
し、
.Fn ilogb 0
.Dv INT_MIN
を返します。
.Pp
.Fn nextafter
.Fn nextafter
および
.Fn nextafterf
は次のマシン表示可能な数を
次のマシン表示可能な数を
.Fa x
から
.Fa y
方向に返します。
.Pp
.Fn remainder
および
.Fn remainderf
は剰余
.Fa r
:=
剰余
.Fa r
:=
.Fa x
\-
\-
.Fa n\(**y
を返します。このとき
を返します。このとき
.Fa n
.Bk -words
.Fa x Ns / Ns Fa y
.Ek
完全な値に最も近似の整数です。さらに、
正確な値に最も近い整数です。更に、
.Pf \\*(Ba Fa n
\-
.Sm off
@ -160,8 +156,7 @@
1/2
ならば、
.Fa n
は偶数です。
この結果、剰余は完全に計算されて、
は偶数です。その結果、剰余は正確に計算され、
.Sm off
.Pf \\*(Ba Fa r No \\*(Ba
.Sm on
@ -169,24 +164,26 @@
.Sm off
.Pf \\*(Ba Fa y No \\*(Ba/2
.Sm on
なります。しかし、
なります。しかし、
.Fn remainder x 0
および
.Fn remainder \*(If 0
\*(Na を作る無効の演算です。
\*(Na を生成する無効な演算です。
.Pp
.Fn scalbn
および
.Fn scalbnf
指数操作で計算される
、指数操作によって計算された
.Fa x Ns \(**(2** Ns Fa n )
を返します。
.Sh 関連項目
.Xr math 3
.Sh 歴史
.Nm ieee
関数は
関数は
.Bx 4.3
から登場しました。
登場しました。
.Sh 規格
.St -ieee754

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91
.\" %Id: ieee_test.3,v 1.4 1997/02/22 15:09:36 peter Exp %
.\" %FreeBSD: src/lib/msun/man/ieee_test.3,v 1.5.2.1 2000/12/29 14:45:07 ru Exp %
.\"
.\" $FreeBSD$
.Dd March 10, 1994
@ -43,7 +43,7 @@
.Nm scalbf ,
.Nm significand ,
.Nm significandf
.Nd IEEEテスト関数
.Nd IEEE テスト関数
.Sh 書式
.Fd #include <math.h>
.Ft double
@ -59,60 +59,56 @@
.Ft float
.Fn significandf "float x"
.Sh 解説
これらの関数でユーザは
これらの関数は、ユーザが
.St -ieee754
への適合性のテストができます。
それ以外の目的での使用は推奨されません。
への適合をテストすることを可能にします。
それ以外の目的でのこれらの使用は推奨されません。
.Pp
.Fn logb x
および
.Fn logbf x
は、
.Fa x
.Fa n
乗で符号付き整数を倍精度浮動小数点に変換して返します。
乗を返します。ここでの
.Fa n
は、符号付き整数が倍精度浮動小数に変換されたものです。
.Fn logb \*(Pm\*(If
= +\*(If;
.Fn logb 0
.Fn logb 0
= -\*(If
ゼロ除算による例外が発生します。
で、0 による除算の例外を伴います。
.Pp
.Fn scalbn x n
および
.Fn scalbnf x n
指数操作により計算される
は、指数操作により計算された
.Fa x Ns \(**(2** Ns Fa n )
を返します。
.Pp
.Fn significand x
.Fn significandf x
1 \(<=
.Fn significand x
および
.Fn significandf x
は、1 \(<=
.Fa sig
< 2 の範囲のとき
.Fa sig
を返します。このとき、
< 2 の範囲で
.Fa x
:=
.Fa sig No \(** 2** Ns Fa n
です。
となる時の、
.Fa sig
を返します。
.Fn significand x
および
.Fn significandf x
.Fa x
0, \*(Pm\*(If
または
\*(Na
のとき定義されません。
.Pp
が 0, \*(Pm\*(If, または \*(Na の時には定義されません。
.Sh 関連項目
.Xr ieee 3 ,
.Xr math 3
.Sh 規格
.St -ieee754

View file

@ -39,7 +39,10 @@
.Sh 名称
.Nm popen ,
.Nm pclose
.Nd I/O 処理
.Nd
.Tn 入出力処理
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdio.h>
.Ft FILE *
@ -50,97 +53,108 @@
.Fn popen
関数は、双方向パイプフォークを作成し、シェルを起動してプロセスを
.Dq 開き
ます。親プロセスで以前に
ます。
親プロセスで事前に
.Fn popen
を呼び出して開いたストリームは、
新しい子プロセスで閉じられます。以前の
新しい子プロセスによってクローズされます。
以前の
.Fn popen
一方向パイプで実現されていたため、
単方向のパイプで実装されていたため、
.Fn popen
の多くのシステでは、
の多くの実装は、
読み書きの両方ではなく、
.Fa type
引数で読み取りか書込みを指定していました。
両方は指定できませんでした。現在の
引数が読込もしくは書込のどちらかを指定すること
だけ許可していました。
現在の
.Fn popen
は双方向パイプで実現されているので、
は双方向パイプで実装しているので、
.Fa type
引数で双方向データフローを要求できます。
.Fa type
引数はナル文字で終わる文字列のポインタで、読み取りの場合は
引数はヌル文字で終わる文字列のポインタで、
読取りの場合は
.Ql r
、書込みの場合は
.Ql w
、読み取りと書込みの場合は
、読み書きの場合は
.Ql r+
である必要があります。
.Pp
.Fa command
引数は、シェルコマンドラインを含む、
ナル文字で終わる文字列のポインタです。このコマンドは、
ヌル文字で終了する文字列のポインタです。
このコマンドは、
.Fl c
フラグで
.Pa /bin/sh
に渡されます。解釈がある場合シェルで実行されます。
に渡されます。解釈がある場合シェルで実行されます。
.Pp
.Fn popen
からの戻り値は標準
.Tn I/O
ストリームで、保存するためには
の戻り値は通常の標準
.Tn 入出力
とあらゆる点で同等のものです。
ただし、閉じるときは、
.Fn fclose
ではなく
.Fn pclose
で閉じる必要があります
このようなストリームに書込むと、
コマンドの標準入力に書込まれます。
を使わなければなりません
このようなストリームに書込むと、
コマンドの標準入力に書込まれます。
コマンドの標準出力は、
コマンドで変更しないかぎり、
そのコマンド自体で変更しないかぎり、
.Fn popen
で呼び出したプロセスのものと同じです。
反対に、
.Fn popen
.Dq 開かれた
ストリームからの読込みは、
コマンドの標準出力から読込まれます。
コマンドの標準入力は
.Fn popen
を呼び出したプロセスのものと同じです。
.Fn popen
で開いたストリームから読み込むと、
コマンドの標準出力から読み込まれます。
コマンドの標準入力は、
.Fn popen
を呼び出したプロセスのものと
同じです。
.Pp
出力
.Fn popen
ストリームは、デフォルトで完全にバッファに入ります。
ストリームは、デフォルトで完全にバッファ
されることに注意してください。
.Pp
.Fn pclose
関数は、関連プロセスの終了を待機し、
関数は、結び付けられたプロセスの終了を待機し、
.Fn wait4
が戻す、コマンドの終了ステータスを戻します。
が戻すコマンドの終了ステータスを返します。
.Sh 戻り値
.Fn popen
関数は、
.Xr fork 2
.Xr pipe 2
でエラーが発生した場合、またはメモリを割りれない場合は
でエラーが発生した場合、またはメモリを割り当てられない場合は
.Dv ヌル
を戻します。
.Pp
.Fn pclose
関数は、
.Fa ストリーム
.Fn popen
.Dq 開いた
コマンドに
.Fa stream
が関連していない場合、または
.Fa stream
コマンドと
結び付いていなかった場合、または
.Fa ストリーム
がすでに
.Fn pclose
すでに
.Dq 閉じている
場合、あるいは
.Xr wait4 2
.Xr wait4
でエラーが発生した場合は \-1 を戻します。
.Sh 誤り
.Sh エラー
.Fn popen
関数は
関数は、信頼性のある
.Va errno
を設定しません。
.Sh 関連項目
@ -154,21 +168,20 @@
.Xr stdio 3 ,
.Xr system 3
.Sh バグ
取り用に開いたコマンドの標準入力は、
読取り用に開いたコマンドの標準入力は、
.Fn popen
を呼び出したプロセスとシークオフセットを共有するので、
オリジナルプロセスがバッファ読取りを実行すると、
オリジナルプロセスがバッファ読取りを実行すると、
コマンドの入力位置が予想どおりにならないことがあります。
書込み用に開いたコマンドの出力は、
同様に、書込み用に開いたコマンドの出力は、
オリジナルプロセスのものと混ざることがあります。後者は、
.Fn popen
の前に
.Xr fflush 3
を呼び出すことで回避できます。
.Pp
シェルを実行する場合のエラーは、
コマンドを実行する場合のシェルのエラー、
またはコマンドの途中終了と区別できません。
シェルを実行しないことには、それが実行できないコマンドのシェル
なのか、すぐに終了してしまうコマンドか、区別できません。
終了ステータスの 127 のみがヒントになります。
.Pp
.Fn popen
@ -183,6 +196,8 @@
.Fn pclose
関数は、
.At v7
に追加されました。双方向機能は、
.Tn FreeBSD
2.2.6 で追加されました。
で登場しました。
.Pp
双方向機能は、
.Fx 2.2.6
で追加されました。

View file

@ -28,21 +28,22 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread.3,v 1.7 1998/09/12 13:53:58 alex Exp %
.\" %FreeBSD: src/share/man/man3/pthread.3,v 1.12.2.2 2001/03/06 19:08:09 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd September 10, 1998
.Dt PTHREAD 3
.Os BSD 4
.Sh 名称
.Nm pthread
.Nd POSIX スレッド関数
.Sh 書式
.Fd #include <pthread.h>
.Sh 解説
POSIX スレッドは、プロセスで制御の複数のフロー
(スレッド) を要求するアプリケーションをサポートする関数です。
マルチスレッドは、
プログラムのパフォーマンスを改善するために使用されます。
POSIX スレッドは、プロセス内でスレッド (thread) と呼ばれる
制御の複数のフローを要求するアプリケーションをサポートする関数です。
マルチスレッドは、プログラムのパフォーマンスを改善するために使用されます。
.Pp
このセクションでは、
POSIX スレッド関数の概要について以下のグループに分けて説明します。
.Bl -bullet -offset indent
@ -51,11 +52,11 @@ POSIX
.It
属性オブジェクトルーチン
.It
Mutex ルーチン
mutex ルーチン
.It
条件変数ルーチン
.It
読み書きロックルーチン
取り/書込みロックルーチン
.It
スレッド固有コンテキストルーチン
.It
@ -63,194 +64,390 @@ Mutex
.El
.Sh スレッドルーチン
.Bl -tag -width Er
.It int Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg"
実行の新しいスレッドを作成します。
.It int Fn pthread_detach "pthread_t thread"
スレッドに削除マークを付けます。
.It int Fn pthread_equal "pthread_t t1" "pthread_t t2"
2 つのスレッド ID を比較します。
.It void Fn pthread_exit "void *value_ptr"
呼び出しスレッドを終了します。
.It int Fn pthread_join "pthread_t thread" "void **value_ptr"
呼び出しスレッドが、指定したスレッドの終了を待つようになりす。
.It int Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)"
初期化ルーチンを 1 回呼び出します。
.It pthread_t Fn pthread_self void
呼び出しスレッドのスレッド ID を戻します。
.It Xo
.Ft int
.Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg"
.Xc
新しい実行するスレッドを作成します。
.It Xo
.Ft int
.Fn pthread_detach "pthread_t thread"
.Xc
スレッドに削除のための印を付けます。
.It Xo
.Ft int
.Fn pthread_equal "pthread_t t1" "pthread_t t2"
.Xc
2 つのスレッドの ID を比較します。
.It Xo
.Ft void
.Fn pthread_exit "void *value_ptr"
.Xc
呼び出しているスレッドを終了します。
.It Xo
.Ft int
.Fn pthread_join "pthread_t thread" "void **value_ptr"
.Xc
呼び出しているスレッドが、指定したスレッドの終了を待つようにします。
.It Xo
.Ft int
.Fn pthread_cancel "pthread_t thread"
.Xc
スレッドの実行を取り消します。
.It Xo
.Ft int
.Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)"
.Xc
初期化ルーチンを一度だけ呼び出します。
.It Xo
.Ft pthread_t
.Fn pthread_self void
.Xc
呼び出しているスレッドの ID を返します。
.El
.Sh 属性オブジェクトルーチン
.Bl -tag -width Er
.It int Fn pthread_attr_destroy "pthread_attr_t *attr"
.It Xo
.Ft int
.Fn pthread_attr_destroy "pthread_attr_t *attr"
.Xc
スレッドの属性オブジェクトを破壊します。
.It int Fn pthread_attr_getinheritsched "pthread_attr_t *attr" "int *inheritsched"
スレッドの属性オブジェクトから継承スケジューリング属性を入手します。
.It int Fn pthread_attr_getschedparam "pthread_attr_t *attr" "struct sched_param *param"
スレッドの属性オブジェクトからスケジューリングパラメータ属性を入手します。
.It int Fn pthread_attr_getschedpolicy "pthread_attr_t *attr" "int *policy"
スレッドの属性オブジェクトからスケジューリング方針属性を入手します。
.It int Fn pthread_attr_getscope "pthread_attr_t *attr" "int *contentionscope"
スレッドの属性オブジェクトからコンテンション範囲属性を入手します。
.It int Fn pthread_attr_getstacksize "pthread_attr_t *attr" "size_t *stacksize"
スレッドの属性オブジェクトからスタックサイズ属性を入手します。
.It int Fn pthread_attr_getstackaddr "pthread_attr_t *attr" "void **stackaddr"
スレッドの属性オブジェクトからスタックアドレス属性を入手します。
.It int Fn pthread_attr_getdetachstate "pthread_attr_t *attr" "int *detachstate"
スレッドの属性オブジェクトから切り離し状態属性を入手します。
.It int Fn pthread_attr_init "pthread_attr_t *attr"
スレッドの属性オブジェクトをデフォルト値で初期化します。
.It int Fn pthread_attr_setinheritsched "pthread_attr_t *attr" "int inheritsched"
スレッドの属性オブジェクトで継承スケジューリング属性を設定します。
.It int Fn pthread_attr_setschedparam "pthread_attr_t *attr" "struct sched_param *param"
スレッドの属性オブジェクトでスケジューリングパラメータ属性を設定します。
.It int Fn pthread_attr_setschedpolicy "pthread_attr_t *attr" "int policy"
スレッドの属性オブジェクトでスケジューリング方針属性を設定します。
.It int Fn pthread_attr_setscope "pthread_attr_t *attr" "int contentionscope"
スレッドの属性オブジェクトでコンテンション範囲属性を設定します。
.It int Fn pthread_attr_setstacksize "pthread_attr_t *attr" "size_t stacksize"
スレッドの属性オブジェクトでスタックサイズ属性を設定します。
.It int Fn pthread_attr_setstackaddr "pthread_attr_t *attr" "void *stackaddr"
スレッドの属性オブジェクトでスタックアドレス属性を設定します。
.It int Fn pthread_attr_setdetachstate "pthread_attr_t *attr" "int detachstate"
スレッドの属性オブジェクトで切り離し状態を設定します。
.It Xo
.Ft int
.Fn pthread_attr_getinheritsched "const pthread_attr_t *attr" "int *inheritsched"
.Xc
スレッドの属性オブジェクトから継承スケジューリング属性を取得します。
.It Xo
.Ft int
.Fn pthread_attr_getschedparam "const pthread_attr_t *attr" "struct sched_param *param"
.Xc
スレッドの属性オブジェクトからスケジューリングパラメータ属性を取得します。
.It Xo
.Ft int
.Fn pthread_attr_getschedpolicy "const pthread_attr_t *attr" "int *policy"
.Xc
スレッドの属性オブジェクトからスケジューリング方針属性を取得します。
.It Xo
.Ft int
.Fn pthread_attr_getscope "const pthread_attr_t *attr" "int *contentionscope"
.Xc
スレッドの属性オブジェクトからコンテンション範囲属性を取得します。
.It Xo
.Ft int
.Fn pthread_attr_getstacksize "const pthread_attr_t *attr" "size_t *stacksize"
.Xc
スレッドの属性オブジェクトからスタックサイズ属性を取得します。
.It Xo
.Ft int
.Fn pthread_attr_getstackaddr "const pthread_attr_t *attr" "void **stackaddr"
.Xc
スレッドの属性オブジェクトからスタックアドレス属性を取得します。
.It Xo
.Ft int
.Fn pthread_attr_getdetachstate "const pthread_attr_t *attr" "int *detachstate"
.Xc
スレッドの属性オブジェクトからデタッチ状態属性を取得します。
.It Xo
.Ft int
.Fn pthread_attr_init "pthread_attr_t *attr"
.Xc
スレッド属性オブジェクトをデフォルト値で初期化します。
.It Xo
.Ft int
.Fn pthread_attr_setinheritsched "pthread_attr_t *attr" "int inheritsched"
.Xc
スレッドの属性オブジェクトに継承スケジューリング属性を設定します。
.It Xo
.Ft int
.Fn pthread_attr_setschedparam "pthread_attr_t *attr" "const struct sched_param *param"
.Xc
スレッドの属性オブジェクトにスケジューリングパラメータ属性を設定します。
.It Xo
.Ft int
.Fn pthread_attr_setschedpolicy "pthread_attr_t *attr" "int policy"
.Xc
スレッドの属性オブジェクトにスケジューリング方針属性を設定します。
.It Xo
.Ft int
.Fn pthread_attr_setscope "pthread_attr_t *attr" "int contentionscope"
.Xc
スレッドの属性オブジェクトにコンテンション範囲属性を設定します。
.It Xo
.Ft int
.Fn pthread_attr_setstacksize "pthread_attr_t *attr" "size_t stacksize"
.Xc
スレッドの属性オブジェクトにスタックサイズ属性を設定します。
.It Xo
.Ft int
.Fn pthread_attr_setstackaddr "pthread_attr_t *attr" "void *stackaddr"
.Xc
スレッドの属性オブジェクトにスタックアドレス属性を設定します。
.It Xo
.Ft int
.Fn pthread_attr_setdetachstate "pthread_attr_t *attr" "int detachstate"
.Xc
スレッドの属性オブジェクトにデタッチ状態属性を設定します。
.El
.Sh MUTEX ルーチン
.Sh mutex ルーチン
.Bl -tag -width Er
.It int Fn pthread_mutexattr_destroy "pthread_mutexattr_t *attr"
MUTEX 属性オブジェクトを破壊します。
.It int Fn pthread_mutexattr_init "pthread_mutexattr_t *attr"
MUTEX 属性オブジェクトをデフォルト値で初期化します。
.It int Fn pthread_mutex_destroy "pthread_mutex_t *mutex"
MUTEX を破壊します。
.It int Fn pthread_mutex_init "pthread_mutex_t *mutex" "const pthread_mutexattr_t *attr"
指定された属性で MUTEX を初期化します。
.It int Fn pthread_mutex_lock "pthread_mutex_t *mutex"
MUTEX をロックし、MUTEX が使用できるようになるまでブロックします。
.It int Fn pthread_mutex_trylock "pthread_mutex_t *mutex"
MUTEX をロックしようとしますが、
現行スレッドも含めた別のスレッドで
MUTEX がロックされている場合はブロックしません。
.It int Fn pthread_mutex_unlock "pthread_mutex_t *mutex"
MUTEX のロックを解除します。
.It Xo
.Ft int
.Fn pthread_mutexattr_destroy "pthread_mutexattr_t *attr"
.Xc
mutex の属性オブジェクトを破壊します。
.It Xo
.Ft int
.Fn pthread_mutexattr_init "pthread_mutexattr_t *attr"
.Xc
mutex の属性オブジェクトをデフォルト値で初期化します。
.It Xo
.Ft int
.Fn pthread_mutex_destroy "pthread_mutex_t *mutex"
.Xc
mutex を破壊します。
.It Xo
.Ft int
.Fn pthread_mutex_init "pthread_mutex_t *mutex" "const pthread_mutexattr_t *attr"
.Xc
mutex を指定された属性で初期化します。
.It Xo
.Ft int
.Fn pthread_mutex_lock "pthread_mutex_t *mutex"
.Xc
mutex をロックして、mutex が利用可能になるまでブロックします。
.It Xo
.Ft int
.Fn pthread_mutex_trylock "pthread_mutex_t *mutex"
.Xc
mutex をロックしようとしますが、mutex が現在のスレッドを含めた
別のスレッドによってロックされている場合には、ブロックしません。
.It Xo
.Ft int
.Fn pthread_mutex_unlock "pthread_mutex_t *mutex"
.Xc
mutex のロックを解除します。
.El
.Sh 条件変数ルーチン
.Bl -tag -width Er
.It int Fn pthread_condattr_init "pthread_condattr_t *attr"
条件変数属性オブジェクトをデフォルト値で初期化します。
.It int Fn pthread_condattr_destroy "pthread_condattr_t *attr"
条件変数属性オブジェクトを破壊します。
.It int Fn pthread_cond_broadcast "pthread_cond_t *cond"
指定された条件変数で現在ブロックされている、
すべてのスレッドのブロックを解除します。
.It int Fn pthread_cond_destroy "pthread_cond_t *cond"
.It Xo
.Ft int
.Fn pthread_condattr_init "pthread_condattr_t *attr"
.Xc
条件変数の属性オブジェクトをデフォルト値で初期化します。
.It Xo
.Ft int
.Fn pthread_condattr_destroy "pthread_condattr_t *attr"
.Xc
条件変数の属性オブジェクトを破壊します。
.It Xo
.Ft int
.Fn pthread_cond_broadcast "pthread_cond_t *cond"
.Xc
指定された条件変数で現在ブロックされている
全てのスレッドのブロックを解除します。
.It Xo
.Ft int
.Fn pthread_cond_destroy "pthread_cond_t *cond"
.Xc
条件変数を破壊します。
.It int Fn pthread_cond_init "pthread_cond_t *cond" "const pthread_condattr_t *attr"
指定された属性で条件変数を初期化します。
.It int Fn pthread_cond_signal "pthread_cond_t *cond"
指定された条件変数でブロックされているスレッドの、
最低 1 つのブロックを解除します。
.It int Fn pthread_cond_timedwait "pthread_cond_t *cond" "pthread_mutex_t *mutex" "const struct timespec *abstime"
指定された時間以内で条件を待機し、
指定された MUTEX をロックします。
.It int Fn pthread_cond_wait "pthread_cond_t *" "pthread_mutex_t *mutex"
条件を待機し、指定された MUTEX をロックします。
.It Xo
.Ft int
.Fn pthread_cond_init "pthread_cond_t *cond" "const pthread_condattr_t *attr"
.Xc
条件変数を指定された属性で初期化します。
.It Xo
.Ft int
.Fn pthread_cond_signal "pthread_cond_t *cond"
.Xc
指定された条件変数で現在ブロックされている
少なくとも 1 つのスレッドのブロックを解除します。
.It Xo
.Ft int
.Fn pthread_cond_timedwait "pthread_cond_t *cond" "pthread_mutex_t *mutex" "const struct timespec *abstime"
.Xc
条件を指定された時間内で待機し、指定された mutex をロックします。
.It Xo
.Ft int
.Fn pthread_cond_wait "pthread_cond_t *" "pthread_mutex_t *mutex"
.Xc
条件を待機し、指定された mutex をロックします。
.El
.Sh 読み書きロックルーチン
.Sh 取り/書込みロックルーチン
.Bl -tag -width Er
.It int Fn pthread_rwlock_destroy "pthread_rwlock_t *lock"
読み書きロックオブジェクトを破壊します。
.It int Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockat-tr_t *attr"
読み書きロックオブジェクトを初期化します。
.It int Fn pthread_rwlock_rdlock "pthread_rwlock_t *lock"
読み書きロックを読込み用にロックし、
ロックを取得できるまでブロックします。
.It int Fn pthread_rwlock_tryrdlock "pthread_rwlock_t *lock"
読み書きロックを読込み用にロックしようとしますが、
ロックを使用できない場合はブロックしません。
.It int Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock"
読み書きロックを書込み用にロックしようとしますが、
ロックを使用できない場合はブロックしません。
.It int Fn pthread_rwlock_unlock "pthread_rwlock_t *lock"
読み書きロックを解除します。
.It int Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock"
読み書きロックを書込み用にロックし、
ロックを取得できるまでブロックします。
.It int Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr"
読み書きロック属性オブジェクトを破壊します。
.It int Fn pthread_rwlockattr_getpshared "pthread_rwlockattr_t *attr" "int *pshared"
プロセスで共有している、
読み書きロック属性オブジェクトの設定を取り出します。
.It int Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr"
読み書きロック属性オブジェクトを初期化します。
.It int Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int *pshared"
プロセスで共有している、
読み書きロック属性オブジェクトの設定を設定します。
.It Xo
.Ft int
.Fn pthread_rwlock_destroy "pthread_rwlock_t *lock"
.Xc
読取り/書込みロックオブジェクトを破壊します。
.It Xo
.Ft int
.Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockattr_t *attr"
.Xc
読取り/書込みロックオブジェクトを初期化します。
.It Xo
.Ft int
.Fn pthread_rwlock_rdlock "pthread_rwlock_t *lock"
.Xc
読取り/書込みロックを読取り用にロックし、
ロックを取得できるようになるまでブロックします。
.It Xo
.Ft int
.Fn pthread_rwlock_tryrdlock "pthread_rwlock_t *lock"
.Xc
読取り/書込みロックを読取り用にロックしようとしますが、
ロックできない場合にはブロックしません。
.It Xo
.Ft int
.Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock"
.Xc
読取り/書込みロックを書込み用にロックしようとしますが、
ロックできない場合にはブロックしません。
.It Xo
.Ft int
.Fn pthread_rwlock_unlock "pthread_rwlock_t *lock"
.Xc
読取り/書込みロックのロックを解除します。
.It Xo
.Ft int
.Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock"
.Xc
読取り/書込みロックを書込み用にロックし、
ロックを取得できるようになるまでブロックします。
.It Xo
.Ft int
.Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr"
.Xc
読取り/書込みロックの属性オブジェクトを破壊します。
.It Xo
.Ft int
.Fn pthread_rwlockattr_getpshared "const pthread_rwlockattr_t *attr" "int *pshared"
.Xc
読取り/書込みロックの属性オブジェクトのプロセス共有設定を取得します。
.It Xo
.Ft int
.Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr"
.Xc
読取り/書込みロックの属性オブジェクトを初期化します。
.It Xo
.Ft int
.Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int pshared"
.Xc
読取り/書込みロックの属性オブジェクトのプロセス共有設定を設定します。
.El
.Sh スレッド固有コンテキストルーチン
.Bl -tag -width Er
.It int Fn pthread_key_create "pthread_key_t *key" "void (*routine)(void *)"
スレッドに固有なデータキーを作成します。
.It int Fn pthread_key_delete "pthread_key_t key"
スレッドに固有なデータキーを削除します。
.It void * Fn pthread_getspecific "pthread_key_t key" "void **value_ptr"
指定されたキーのスレッドに固有な値を入手します。
.It int Fn pthread_setspecific "pthread_key_t key" "const void *value_ptr"
指定されたキーのスレッドに固有な値を設定します。
.It Xo
.Ft int
.Fn pthread_key_create "pthread_key_t *key" "void (*routine)(void *)"
.Xc
スレッド固有のデータキーを作成します。
.It Xo
.Ft int
.Fn pthread_key_delete "pthread_key_t key"
.Xc
スレッド固有のデータキーを削除します。
.It Xo
.Ft "void *"
.Fn pthread_getspecific "pthread_key_t key"
.Xc
指定されたキーのスレッド固有の値を取得します。
.It Xo
.Ft int
.Fn pthread_setspecific "pthread_key_t key" "const void *value_ptr"
.Xc
指定されたキーのスレッド固有の値を設定します。
.El
.Sh クリーンアップルーチン
.Bl -tag -width Er
.It void Fn pthread_cleanup_pop "int execute"
呼び出しスレッドのキャンセルクリーンアップスタックの
最上位でルーチンを削除し、オプションで起動します。
.It void Fn pthread_cleanup_push "void (*routine)(void *)" "void *routine_arg"
指定されたキャンセルクリーンアップハンドラを呼び出し
スレッドのキャンセルスタックにプッシュします。
.It Xo
.Ft void
.Fn pthread_cleanup_pop "int execute"
.Xc
呼び出しているスレッドの取り消しクリーンアップスタックの最初のルーチンを
削除し、オプションでそのルーチンを実行します。
.It Xo
.Ft void
.Fn pthread_cleanup_push "void (*routine)(void *)" "void *routine_arg"
.Xc
呼び出しているスレッドの取り消しスタックに指定された取り消しクリーンアップ
ハンドラを積みます。
.El
.Sh インストレーション
現在の FreeBSD POSIX スレッドシステムは、
スレッドセーフな libc 関数とスレッド関数を含むライブラリ
現在の
.Fx
POSIX スレッドの実装は、スレッドセーフな libc 関数とスレッド関数を含む
ライブラリ
.Fa libc_r
で構築されています。このライブラリは、スレッドアプリケーションの
で構築されています。このライブラリはスレッドアプリケーションの
.Fa libc
を置き換えます。
.Pp
デフォルトでは、
.Fa libc_r
は 'make world' の一部として構築されます。
.Fa libc_r
の構築を無効にするには、'-DNOLIBC_R' オプションを
は 'make world' の一部として構築されます。この構築を無効にするには、
.Xr make 1
指定する必要があります
に '-DNOLIBC_R' オプションを与えなければなりません。
.Pp
gcc には FreeBSD に固有なオプションが追加されており、
スレッドプロセスのリンクが簡単になっています。
スレッド化されたプロセスを簡単にリンクするために、gcc に
.Fx
固有のオプションが追加されています。
.Fa gcc -pthread
を実行すると、
はスレッド化されたプロセスに
.Fa libc
ではなく
に代って
.Fa libc_r
にスレッドプロセスがリンクされます。
をリンクします。
.Sh 関連項目
.Xr pthread_create 3 ,
.Xr pthread_detach 3 ,
.Xr pthread_equal 3 ,
.Xr pthread_exit 3 ,
.Xr pthread_join 3 ,
.Xr pthread_once 3 ,
.Xr pthread_self 3 ,
.Xr pthread_mutex_destroy 3 ,
.Xr pthread_mutex_init 3 ,
.Xr pthread_mutex_lock 3 ,
.Xr pthread_mutex_trylock 3 ,
.Xr pthread_mutex_unlock 3 ,
.Xr pthread_cond_broadcast 3 ,
.Xr pthread_cond_destroy 3 ,
.Xr pthread_cond_init 3 ,
.Xr pthread_cond_signal 3 ,
.Xr pthread_cond_timedwait 3 ,
.Xr pthread_cond_wait 3 ,
.Xr pthread_rwlock_destroy 3 ,
.Xr pthread_rwlock_init 3 ,
.Xr pthread_rwlock_rdlock 3 ,
.Xr pthread_rwlock_unlock 3 ,
.Xr pthread_rwlock_wrlock 3 ,
.Xr pthread_rwlockattr_destroy 3 ,
.Xr pthread_rwlockattr_getpshared 3 ,
.Xr pthread_rwlockattr_init 3 ,
.Xr pthread_rwlockattr_setpshared 3 ,
.Xr pthread_key_delete 3 ,
.Xr pthread_getspecific 3 ,
.Xr pthread_setspecific 3 ,
.Xr pthread_cleanup_pop 3 ,
.Xr pthread_cleanup_push 3
.Sh 規格
接頭語
.Fa pthread_
が付き、接尾語
接頭語が付き、
.Fa _np
や接頭語
接尾語または
.Fa pthread_rwlock
が付いていない
接頭語が付いていない
.Fa libc_r
の関数は、IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Eition 1996-07-12 に準拠しています。
の関数は、
.St -p1003.1-96
に適合しています。
.Pp
接頭語
.Fa pthread_
と接尾語
接頭語および
.Fa _np
が付いている libc_r の関数は、
POSIX スレッドの移植不可能なエクステンションです。
接尾語が付いた libc_r の関数は、POSIX スレッドへの非ポータブル拡張です。
.Pp
接頭語
.Fa pthread_rwlock
が付いている libc_r の関数は、
Single UNIX Specification, Version 2 の
The Open Group が作成したエクステンションです。
接頭語が付いた libc_r の関数は、
.St -susv2
の The Open Group によって作成された拡張です。

View file

@ -25,38 +25,42 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\" %FreeBSD: src/lib/libc_r/man/pthread_cleanup_pop.3,v 1.5.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 30, 1998
.Dt PTHREAD_CLEANUP_POP 3
.Os BSD 4
.Sh 名称
.Nm pthread_cleanup_pop
.Nd 最初のクリーンアップルーチンを呼び出す
.Nd 最初のクリーンアップルーチンの呼び出し
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft void
.Fn pthread_cleanup_pop "int execute"
.Sh 解説
.Fn pthread_cleanup_pop
関数は、現行スレッドクリーンアップルーチンスタック
最初のクリーンアップルーチンを取り出し、
関数は、現在のスレッドのクリーンアップルーチンスタックから先頭
クリーンアップルーチンを取り出します。
.Fa execute
ゼロ以外である場合にこの関数を実行します。
クリーンアップルーチンがない場合、
0 でない場合には、その関数を実行します。
クリーンアップルーチンがない場合には
.Fn pthread_cleanup_pop
は何も実行しません。
は何もしません。
.Sh 戻り値
.Fn pthread_cleanup_pop
値を戻しません。
.Sh 誤り
いかなる値も返しません。
.Sh エラー
ありません。
.Sh 関連項目
.Xr pthread_cleanup_push 3 ,
.Xr pthread_exit 3
.Sh 規格
.Fn pthread_cleanup_pop
は、ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn Posix
POSIX
Std 1003.1 Second Edition 1996-07-12 に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,39 +25,44 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\" %FreeBSD: src/lib/libc_r/man/pthread_cleanup_push.3,v 1.5.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 30, 1998
.Dt PTHREAD_CLEANUP_PUSH 3
.Os BSD 4
.Sh 名称
.Nm pthread_cleanup_push
.Nd クリーンアップ関数を追加し、スレッドが終了したときに実行
.Nd スレッド終了時のクリーンアップ関数の追加
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft void
.Fn pthread_cleanup_push "void (*cleanup_routine)(void *)" "void *arg"
.Sh 解説
.Fn pthread_cleanup_push
関数は、クリーンアップハンドラのスタックの最上位に
関数は、現在のスレッドが終了する時に呼び出されるクリーンアップハンドラの
スタックの先頭に
.Fa cleanup_routine
を追加します。このハンドラは、
現行スレッドが終了した場合に呼び出されます。
を追加します。
.Pp
.Fn pthread_cleanup_push
を呼び出すと、
が呼び出されると、
.Fa arg
が唯一の引数として渡されます。
その唯一の引数として渡されます。
.Sh 戻り値
.Fn pthread_cleanup_push
値を戻しません。
.Sh 誤り
いかなる値も返しません。
.Sh エラー
ありません。
.Sh 関連項目
.Xr pthread_cleanup_pop 3 ,
.Xr pthread_exit 3
.Sh 規格
.Fn pthread_cleanup_push
は、ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12 に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,14 +25,17 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_broadcast.3,v 1.5.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 28, 1998
.Dt PTHREAD_COND_BROADCAST 3
.Os BSD 4
.Sh 名称
.Nm pthread_cond_broadcast
.Nd 条件変数を待機しているすべてのスレッドのブロックを解除
.Nd 条件変数を待っている全てのスレッドのブロック解除
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -41,19 +44,19 @@
.Fn pthread_cond_broadcast
関数は、条件変数
.Fa cond
を待機しているすべてのスレッドのブロックを解除します。
を待っている全てのスレッドのブロックを解除します。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_cond_broadcast
関数はゼロを戻します。
問題がある場合は、そのエラーを示すエラー番号を戻します。
.Sh 誤り
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_cond_broadcast
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa cond
で指定された値が正しくない場合
によって指定された値が無効です。
.El
.Pp
.Sh 関連項目
@ -64,6 +67,8 @@
.Xr pthread_cond_wait 3
.Sh 規格
.Fn pthread_cond_broadcast
は、ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12 に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,13 +25,17 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_destroy.3,v 1.6.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 28, 1998
.Dt PTHREAD_COND_DESTROY 3
.Os BSD 4
.Sh 名称
.Nm pthread_cond_destroy
.Nd 条件変数を破壊
.Nd 条件変数の破壊
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,24 +44,23 @@
.Fn pthread_cond_destroy
関数は、条件変数
.Fa cond
が割り当てたリソースを解放します。
によって割り当てられたリソースを開放します。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_cond_destroy
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_cond_destroy
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa cond
で指定された値が正しくない場合
によって指定された値が無効です。
.It Bq Er EBUSY
変数
.Fa cond
が別のスレッドでロックされている場合
が別のスレッドによってロックされています。
.El
.Pp
.Sh 関連項目
@ -68,8 +71,8 @@
.Xr pthread_cond_wait 3
.Sh 規格
.Fn pthread_cond_destroy
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,6 +25,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_init.3,v 1.6.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 28, 1998
.Dt PTHREAD_COND_INIT 3
@ -32,6 +34,8 @@
.Sh 名称
.Nm pthread_cond_init
.Nd 条件変数の作成
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,32 +44,27 @@
.Fn pthread_cond_init
関数は、
.Fa attr
指定された属性で新しい条件変数を作成します。
指定された属性で新しい条件変数を作成します。
.Fa attr
NULL
である場合は、デフォルトの属性が使用されます。
が NULL の場合には、デフォルトの属性が使用されます。
.Sh 戻り値
問題がない場合、
問題がない場合は、
.Fn pthread_cond_init
関数は
0
を戻し、新しい条件変数
ID
関数は 0 を返し、
.Fa cond
に入れます。問題がある場合は、そのエラーを示すエラー番号を戻します。
に新しい条件変数の ID を入れます。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_cond_init
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa attr
で指定された値が正しくない場合
によって指定された値が無効です。
.It Bq Er ENOMEM
プロセスが、条件変数の作成に十分なメモリを割り当てできない場合
プロセスが別の条件変数の作成のための十分なメモリを割り当てられません。
.It Bq Er EAGAIN
条件変数を作成するためのリソースが一時的に不足している場合
別の条件変数を作成するために一時的なリソースが不足しています。
.El
.Pp
.Sh 関連項目
@ -76,8 +75,8 @@ ID
.Xr pthread_cond_wait 3
.Sh 規格
.Fn pthread_cond_init
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,13 +25,17 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_signal.3,v 1.5.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 28, 1998
.Dt PTHREAD_COND_SIGNAL 3
.Os BSD 4
.Sh 名称
.Nm pthread_cond_signal
.Nd 条件変数を待機しているスレッドのブロック解除
.Nd 条件変数を待っている 1 つのスレッドのブロック解除
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,22 +44,19 @@
.Fn pthread_cond_signal
関数は、条件変数
.Fa cond
を待機している
1
スレッドのブロックを解除します。
を待っている 1 つのスレッドのブロックを解除します。
.Sh 戻り値
問題がない場合、
問題がない場合は、
.Fn pthread_cond_signal
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_cond_signal
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa cond
で指定された値が正しくない場合
によって指定された値が無効です。
.El
.Pp
.Sh 関連項目
@ -66,8 +67,8 @@
.Xr pthread_cond_wait 3
.Sh 規格
.Fn pthread_cond_signal
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,13 +25,17 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_timedwait.3,v 1.8.2.3 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 28, 1998
.Dt PTHREAD_COND_TIMEDWAIT 3
.Os BSD 4
.Sh 名称
.Nm pthread_cond_timedwait
.Nd 指定時間、条件変数を待つ
.Nd 指定した時間の間の条件変数の待機
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,39 +44,37 @@
.Fn pthread_cond_timedwait
関数は、
.Fa cond
で指定された条件変数を待つことで現行スレッドをアトミックにブロックし、
で指定された条件変数で待っている現在のスレッドを不可分にブロックし、
.Fa mutex
で指定された
MUTEX
のブロックを解除します。待機しているスレッドのブロックは、
別のスレッドが
で指定された mutex のブロックを解除します。
待っているスレッドは、別のスレッドが
.Xr pthread_cond_signal 3
または
.Xr pthread_cond_broadcast 3
を同じ条件変数で呼び出した場合、または
を同じ条件変数で呼び出した後、またはシステム時間が
.Fa abstime
で指定された時間にシステム時間が達した場合に解除されます。
解除されると、現行スレッドは
に指定された時間に達した場合、にのみブロックが解除され、現在のスレッドは
.Fa mutex
をロックします。
のロックを再取得します。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_cond_timedwait
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_cond_timedwait
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa cond
で指定された値、または
.Fa attr
で指定された値が正しくない場合
.It Bq Er ETIMEDOUT
.Fa cond ,
.Fa mutex
または
.Fa abstime
で指定された時間にシステム時間が達したか越えた場合
によって指定された値が無効です。
.It Bq Er ETIMEDOUT
システム時間が、
.Fa abstime
に指定した時間に達しました。または、超過しました。
.El
.Pp
.Sh 関連項目
@ -83,8 +85,8 @@ MUTEX
.Xr pthread_cond_wait 3
.Sh 規格
.Fn pthread_cond_timedwait
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,13 +25,17 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_wait.3,v 1.8.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 28, 1998
.Dt PTHREAD_COND_WAIT 3
.Os BSD 4
.Sh 名称
.Nm pthread_cond_wait
.Nd 条件変数を待つ
.Nd 条件変数の待機
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,34 +44,30 @@
.Fn pthread_cond_wait
関数は、
.Fa cond
で指定された条件変数を待つことで現行スレッドをアトミックにブロックし、
で指定された条件変数で待っている現在のスレッドを不可分にブロックし、
.Fa mutex
で指定された
MUTEX
のブロックを解除します。
待機しているスレッドのブロックは、別のスレッドが
で指定された mutex のブロックを解除します。
待っているスレッドは、別のスレッドが
.Xr pthread_cond_signal 3
または
.Xr pthread_cond_broadcast 3
を同じ条件変数で呼び出した場合にのみ解除されます。
解除されると、現行スレッドは
を同じ条件変数で呼び出した後にのみブロックが解除され、現在のスレッドは
.Fa mutex
をロックします。
のロックを再取得します。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_cond_wait
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_cond_wait
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa cond
指定された値、または
.Fa attr
で指定された値が正しくない場合
によって指定された値、または
.Fa mutex
によって指定された値が無効です。
.El
.Pp
.Sh 関連項目
@ -78,8 +78,8 @@ MUTEX
.Xr pthread_cond_timedwait 3
.Sh 規格
.Fn pthread_cond_wait
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,6 +28,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_create.3,v 1.9.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_CREATE 3
@ -35,76 +37,72 @@
.Sh 名称
.Nm pthread_create
.Nd 新しいスレッドの作成
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg"
.Sh 解説
.Fn pthread_create
関数を使用すると、
関数は、プロセス内に
.Fa attr
で指定された属性でプロセスに新しいスレッドを作成できます。
によって指定された属性をもつ新しいスレッドを作成するために使用されます。
.Fa attr
NULL
である場合は、デフォルトの属性が使用されます。
が NULL である場合には、デフォルトの属性が使用されます。
.Fa attr
で指定した属性を後で変更しても、スレッドの属性は変化しません。
問題なく終了すると、
によって指定された属性が後から更新された場合には、
スレッドの属性は変化しません。
問題なく完了すると、
.Fn pthread_create
は、作成したスレッドの
ID
.Fa thread
で指定された場所に保存します。
によって指定された場所に作成されたスレッドの ID を格納します。
.Pp
スレッドは、
.Fa arg
を唯一の引数として
.Fa start_routine
を実行して作成されます。
を実行することで作成されます。
.Fa start_routine
復帰すると
戻った場合には
.Fa start_routine
の戻り値を終了ステータスとして使用し、
の戻り値を終了ステータスとして使用し、暗黙のうちに
.Fn pthread_exit
暗黙のうちに呼び出したような効果があります。
を呼び出したような効果があります。
.Fn main
を呼び出したスレッドは、これとは異なることに注意してください。
を最初にに実行したスレッドは、これとは異なることに注意してください。
そのスレッドが
.Fn main
から復帰すると
から戻った時には
.Fn main
の戻り値を終了ステータスとして使用し、
の戻り値を終了ステータスとして使用し、暗黙のうちに
.Fn exit
暗黙のうちに呼び出したような効果があります。
を呼び出したような効果があります。
.Pp
新しいスレッドのシグナルは、以下の状態に初期化されます。
新しいスレッドのシグナルの状態は、以下のように初期化されます。
.Bl -bullet -offset indent
.It
シグナルマスクは、作成を行なうスレッドから継承されます。
シグナルマスクは作成しているスレッドから継承されます。
.It
新しいスレッド用に保留しているシグナルのセットは空です。
.El
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_create
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_create
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EAGAIN
別のスレッドの作成に必要なリソースがシステムに不足している場合、
または
1
つのプロセスの総スレッド数についてシステムに課された制限
[PTHREAD_THREADS_MAX]
を越えた場合
.It Bq Er EINVAL
別のスレッドを作成するために必要なリソースがシステムに不足しています。
または、1 つのプロセス内の総スレッド数についてのシステムの
制限 [PTHREAD_THREADS_MAX] を超過しました。
.It Bq Er EINVAL
.Fa attr
で指定された値が正しくない場合
によって指定された値が、有効ではありません。
.El
.Pp
.Sh 関連項目
@ -115,8 +113,6 @@ ID
.Xr pthread_join 3
.Sh 規格
.Fn pthread_create
は、
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,60 +28,60 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_detach.3,v 1.6.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_DETACH 3
.Os BSD 4
.Sh 名称
.Nm pthread_detach
.Nd スレッドの切り離し
.Nd スレッドのデタッチ
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_detach "pthread_t thread"
.Sh 解説
.Fn pthread_detach
関数は、スレッドが終了する時にスレッド
関数は、スレッドを終了する時にスレッドのための記憶領域
.Fa thread
の記憶域が再生できることをシステムに指定するために使用します。
が再生できることを実装に示すために使用されます。
.Fa thread
が終了していない場合、
まだ終了していない場合
.Fn pthread_detach
でそのスレッドが終了することはありません。同じスレッドを対象にして
はそのスレッド終了させることはありません。
同じ対象スレッドへの複数回の
.Fn pthread_detach
を複数回呼び出す効果は未規定です。
の呼び出しの効果は未規定です。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_detach
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を
戻します。この関数は、規格の一部のドラフトで行なわれていたようには
errno
の値を変更しないことに注意してください。また、以前のドラフトでは
pthread_t
のポインタを引数として渡していました。ご注意ください。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
この関数は幾つかの草案で規格とされていたようには errno の値を変更しない
ことに注意してください。
これらの早期の草案では引数として pthread_t へのポインタも渡していました。
気を付けてください。
.Sh エラー
.Fn pthread_detach
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa thread
で指定された値が、結合可能なスレッドを参照していないことを
システムが検出した場合
によって指定された値が、
待機されることが可能なスレッドを参照していないことを検出しました。
.It Bq Er ESRCH
指定されたスレッド
ID
与えられたスレッド ID,
.Fa thread
対応するスレッドが見つからない場合
よって指定されたものと一致するスレッドを見つけることができません。
.El
.Pp
.Sh 関連項目
.Xr pthread_join 3
.Sh 規格
.Fn pthread_detach
は、
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,6 +28,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_equal.3,v 1.4.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_EQUAL 3
@ -35,30 +37,27 @@
.Sh 名称
.Nm pthread_equal
.Nd スレッド ID の比較
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_equal "pthread_t t1" "pthread_t t2"
.Sh 解説
.Fn pthread_equal
関数は、スレッド
ID
関数は、
.Fa t1
および
.Fa t2
を比較します。
のスレッド ID を比較します。
.Sh 戻り値
.Fn pthread_equal
関数は、スレッド
ID
関数は、
.Fa t1
および
.Fa t2
が同じスレッドに相当する場合、
0
以外を戻します。異なるスレッドである場合は
0
を戻します。
のスレッド ID が同じスレッドに相当する場合には非 0 を返し、
そうでない場合には 0 を返します。
.Sh エラー
ありません。
.Pp
@ -67,8 +66,6 @@ ID
.Xr pthread_exit 3
.Sh 規格
.Fn pthread_equal
は、
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,78 +28,79 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_exit.3,v 1.8.2.3 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_EXIT 3
.Os BSD 4
.Sh 名称
.Nm pthread_exit
.Nd 呼び出しスレッドの終了
.Nd 呼び出しているスレッドの終了
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft void
.Fn pthread_exit "void *value_ptr"
.Sh 解説
.Fn pthread_exit
関数は、呼び出しスレッドを終了し、終了スレッドとの結合に
関数は、呼び出しているスレッドを終了し、
終了するスレッドと成功裏に待ち受けするために
.Fa value_ptr
の値を使用できるようにします。プッシュされたがまだポップされていない
キャンセルクリーンアップハンドラは、プッシュと逆の順序でポップ
されて実行されます。すべてのキャンセルハンドラが実行された後で
スレッドに固有なデータがスレッドにある場合は、適切な破壊関数が
順序不定で呼び出されます。スレッドが終了しても、
MUTEX
とファイル記述子等のアプリケーションのプロセスリソースは
解放されませんし、存在する可能性がある
の値を利用可能にします。
既にスタックに積まれていて取り出されていない取り消しクリーンアップハンドラは、
積まれたのと逆の順序で取り出され、実行されます。
全ての取り消しハンドラが実行された後で、スレッドがそのスレッド固有のデータを
持っている場合には、適切なデストラクタ関数が順序不定で呼び出されます。
スレッドの終了は、アプリケーションから見える全てのプロセスリソースを
開放しません。
このリソースは、mutex およびファイル記述子を含みますが、これに限りません。
また、あらゆるプロセスレベルのクリーンアップの実行も行ないません。
このクリーンアップは、存在する可能性のある
.Fn atexit
関数の呼び出し等のプロセスレベルのクリーンアップアクションも
実行されません。
ルーチンの呼び出しを含みますが、これに限りません。
.Pp
.Fn main
を最初に呼び出したスレッド以外のスレッドが、作成に使用された
開始ルーチンから戻った場合は、
を最初に実行したスレッド以外のスレッドが、その作成に使用された
開始ルーチンから戻った時に、暗黙的に
.Fn pthread_exit
暗黙のうちに呼び出されます。
が呼び出されます。
関数の戻り値は、スレッドの終了ステータスとして使用されます。
.Pp
暗黙的なまたは明示的な
.Fn pthread_exit
を暗黙のうちにあるいは明示的に呼び出したために
起動されたキャンセルハンドラや破壊関数から呼び出された
の呼び出しの結果として実行された取り消しハンドラまたはデストラクタ関数から
呼び出された場合の、
.Fn pthread_exit
の動作は未定義です。
.Pp
スレッドが終了した後では、スレッドのローカル
(
自動
)
変数へのアクセス結果は不定になります。
スレッドが終了した後での、そのスレッドのローカル (auto) 変数へのアクセスの
結果は未定義です。
従って、終了するスレッドのローカル変数への参照は、
.Fn pthread_exit
.Fa value_ptr
パラメータに、終了するスレッドのローカル変数の参照を
使用しないでください。
パラメータの値に使用されるべきではありません。
.Pp
最後のスレッドが終了した後では、プロセスは終了ステータス
0
で終了します。実装がスレッドの終了時に引数をゼロにして
最後のスレッドが終了した後で、プロセスは終了ステータス 0 で終了します。
スレッド終了時に実装が引数 0 で
.Fn exit
を呼び出したような動作となります。
を呼び出したかのように動作します。
.Pp
.Sh 戻り値
.Fn pthread_exit
関数は、呼び出し側に復帰できません。
関数は呼び出し側には戻れません。
.Sh エラー
ありません。
.Pp
.Sh 関連項目
.Xr _exit 2 ,
.Xr exit 2 ,
.Xr exit 3 ,
.Xr pthread_create 3 ,
.Xr pthread_join 3
.Sh 規格
.Fn pthread_exit
は、
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_getspecific.3,v 1.5 1998/08/03 00:58:36 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_getspecific.3,v 1.6.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
@ -36,41 +36,39 @@
.Os BSD 4
.Sh 名称
.Nm pthread_getspecific
.Nd スレッドに固有なデータ値を入手
.Nd スレッド固有のデータ値の取得
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft void *
.Fn pthread_getspecific "pthread_key_t key"
.Sh 解説
.Fn pthread_getspecific
関数は、呼び出しスレッドに代わって指定された
関数は、呼び出しているスレッドの代わりに、指定された
.Fa key
に現在結合されている値を戻します。
に現在結びつけられている値を返します。
.Pp
.Fn pthread_key_create
で入手していない
から入手したのではない
.Fa key
値で
.Fn pthread_getspecific
を呼び出したり、
の値を伴った、または
.Fn pthread_key_delete
によって
.Fa key
が削除された後で
が削除された後での、
.Fn pthread_getspecific
を呼び出したりすると、結果は不定になります。
の呼び出しの結果は未定義です。
.Pp
.Fn pthread_getspecific
、スレッドに固有なデータの破壊関数から呼び出されることがあります。
スレッド固有のデータのデストラクタ関数から呼び出されることがあります。
.Sh 戻り値
.Fn pthread_getspecific
関数は、指定された
関数は、与えられた
.Fa key
に関連する、スレッドに固有なデータ値を戻します。
に関連付けられたスレッド固有のデータ値を返します。
.Fa key
にスレッド固有のデータ値が関連していない場合は
NULL
が戻されます。
に関連付けられたスレッド固有のデータ値がない場合には、値 NULL が返されます。
.Sh エラー
ありません。
.Sh 関連項目
@ -79,8 +77,8 @@ NULL
.Xr pthread_setspecific 3
.Sh 規格
.Fn pthread_getspecific
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,72 +28,71 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_join.3,v 1.7.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_JOIN 3
.Os BSD 4
.Sh 名称
.Nm pthread_join
.Nd スレッドの終了を待機
.Nd スレッド終了の待機
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_join "pthread_t thread" "void **value_ptr"
.Sh 解説
.Fn pthread_join
関数は、
関数は、対象
.Fa thread
終了していない場合、
まだ終了していない場合には、その対象
.Fa thread
が終了するまで呼び出しスレッドの実行を保留します。
が終了するまで呼び出しているスレッドの実行を保留します。
.Pp
NULL
NULL ではない
.Fa value_ptr
引数での
引数を持つ
.Fn pthread_join
の呼び出しから正常に復帰すると、終了するスレッドが
の呼び出しから成功裏に戻った時には、終了したスレッドによって
.Fn pthread_exit
に渡した値は
に渡された値が、
.Fa value_ptr
が参照する場所に保存されます。
によって参照される位置に格納されます。
.Fn pthread_join
正常に復帰する場合、対象スレッドは終了しています。
同じ対象スレッドを指定し
成功裏に戻った時には、その対象スレッドは既に終了しています。
同じ対象スレッドを指定した複数で同時の
.Fn pthread_join
を同時に複数回呼び出す結果は未定義です。
の呼び出しによる結果は、未定義です。
.Fn pthread_join
を呼び出したスレッドがキャンセルされた場合、
対象スレッドは切り離されません。
を呼び出しているスレッドが取り消された場合には、その対象スレッドは
デタッチされません。
.Pp
終了したが結合していないスレッドは、
[_POSIX_THREAD_THREADS_MAX]
にカウントされます。
既に終了したが持ち受けされずに残っているスレッドは、
[_POSIX_THREAD_THREADS_MAX] に対してカウントされます。
.Pp
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_join
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_join
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa thread
で指定された値が、結合可能スレッドを参照していないことを
実装が検出した場合
によって指定された値が、
待機されることが可能なスレッドを参照していないことを検出しました。
.It Bq Er ESRCH
指定されたスレッド
ID
与えられたスレッド ID,
.Fa thread
対応するスレッドが見つからない場合
よって指定されたものと一致するスレッドを見つけることができません。
.It Bq Er EDEADLK
デッドロックが検出された場合、または
デッドロックを検出しました。または、
.Fa thread
の値が呼び出しスレッドを指定している場合
の値が呼び出しているスレッドを指定しています。
.El
.Pp
.Sh 関連項目
@ -101,8 +100,8 @@ ID
.Xr pthread_create 3
.Sh 規格
.Fn pthread_join
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,77 +28,68 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_key_create.3,v 1.6.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_KEY_CREATE 3
.Os BSD 4
.Sh 名称
.Nm pthread_key_create
.Nd スレッドに固有なデータキーの作成
.Nd スレッド固有のデータキーの作成
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_key_create "pthread_key_t *key" "void (*destructor)(void *)"
.Sh 解説
.Fn pthread_key_create
関数は、プロセスのすべてのスレッドで使用できる、スレッドに固有な
データキーを作成します。
関数は、プロセス内の全てのスレッドに可視のスレッド固有のデータキーを
作成します。
.Fn pthread_key_create
で提供されるキー値は不透明なオブジェクトであり、スレッドに固有な
データの特定に使用されます。別のスレッドで同じキー値を使用できますが、
によって提供されたキーの値は、スレッド固有のデータの位置を示すために
使用される不透明なオブジェクトです。
別のスレッドによって同じキー値が使用されることが可能ですが、
.Fn pthread_setspecific
でキーに結び付けられた値はスレッドごとに維持され、
呼び出しスレッドが終了するまで残ります。
によってキーに結びつけられた値はスレッド毎を基準に保守され、
呼び出しているスレッドが生きている間存続します。
.Pp
キーの作成時には、すべてのアクティブなスレッドの新しいキーに
NULL
値が関連します。スレッドの作成時には、新しいスレッドで定義された
すべてのキーに
NULL
値が関連します。
キーの作成時には、全てのアクティブなスレッド内の新しいキーに、値 NULL が
関連付けられます。
スレッドの作成時には、新しいスレッド内の全ての定義済のキーに、値 NULL が
関連付けられます。
.Pp
それぞれのキー値には、任意の破壊関数が関連していることがあります。
スレッドの終了時には、キー値が破壊関数への非
NULL
ポインタを持ち、かつスレッドでキーに非
NULL
値が関連している場合に、現在関連している値を唯一の引数として、
指されている関数が呼び出されます。スレッドに複数の破壊関数が
存在する場合、スレッドの終了時に破壊関数を呼び出す順序は未規定です。
任意のデストラクタ関数は、個々のキーの値と関連付けられることができます。
スレッドの終了時に、キー値が NULL でないデストラクタのポインタを持ち、
かつスレッドがキーに関連付けられた NULL でない値を持っている場合には、
現在関連付けられている値を唯一の引数として、指されている関数が呼び出されます。
スレッドの終了時にそのスレッドのための 1 つ以上のデストラクタ関数が
存在する場合には、デストラクタの呼び出しの順序は未規定です。
.Pp
破壊関数が関連づけられたすべての非
NULL
値に対してすべての破壊関数が呼び出された後で、
まだ破壊関数が関連づけられた非
NULL
値が存在する場合は、プロセスが繰り返されます。
未処理の非
NULL
値に対して最低でも
[PTHREAD_DESTRUCTOR_ITERATIONS]
の回数だけ破壊関数の呼び出しを繰り返した後で、関連する破壊関数で非
NULL
値が残っている場合、実装は破壊関数の呼び出しを中止します。
デストラクタに関連付けられた全ての NULL でない値のために、全ての
デストラクタが呼び出された後で、まだ幾つかの関連付けられたデストラクタを
持つ NULL でない値がある場合には、その過程が繰り返されます。
最低でも [PTHREAD_DESTRUCTOR_ITERATIONS] 回のデストラクタの呼び出しの
繰り返しの後で、まだなお幾つかの関連付けられたデストラクタを
持つ NULL でない値がある場合には、実装はデストラクタの呼び出しを中止します。
.Sh 戻り値
問題がない場合、
問題がない場合は、
.Fn pthread_key_create
関数は、新しく作成されたキー値を
関数は、新しく作成されたキーの値を
.Fa key
で指定されている場所に保存して
0
を戻します。問題がある場合は、そのエラーを示すエラー番号が戻されます。
で指定された場所に格納し、0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_key_create
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EAGAIN
スレッドに固有なデータキーの作成に必要なリソースが
システムで不足しているか、プロセスごとのキー総数に関する、
システムに課せられた制限
[PTHREAD_KEYS_MAX]
を越えた場合
別のスレッド固有のデータキーを作成するために必要なリソースがシステムに
不足しています。または、1 つのプロセスごとのキーの総数についての
システムの制限 [PTHREAD_KEYS_MAX] を超過しました。
.It Bq Er ENOMEM
キーの作成にメモリが不足している場合
キーを作成するための十分なメモリがありません。
.El
.Pp
.Sh 関連項目
@ -107,8 +98,8 @@ NULL
.Xr pthread_setspecific 3
.Sh 規格
.Fn pthread_key_create
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,57 +28,61 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_key_delete.3,v 1.6.2.2 2001/03/06 16:46:08 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_KEY_DELETE 3
.Os BSD 4
.Sh 名称
.Nm pthread_key_delete
.Nd スレッドに固有なデータキーの削除
.Nd スレッド固有のデータキーの削除
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_key_delete "pthread_key_t key"
.Sh 解説
.Fn pthread_key_delete
関数は、
関数は、以前に
.Fn pthread_key_create
で以前に戻された、スレッドに固有なデータキーを削除します。
によって返されたスレッド固有のデータキーを削除します。
.Fa key
に関連する、スレッドに固有なデータ値は、
に関連付けられたスレッド固有のデータ値は、
.Fn pthread_key_delete
を呼び出す時点で
NULL
になっている必要はありません。アプリケーションの記憶域の解放、
削除されるキーに関係のあるデータ構造や任意のスレッドでの関連する
スレッド固有データのクリーンアップアクションの実行は、
アプリケーションで行なってください。このクリーンアップは、
が呼び出される時点で NULL である必要はありません。
全てのアプリケーション記憶領域の開放、または削除されたキーに関連した
データ構造や全てのスレッドの中のスレッド固有のデータの全ての
クリーンアップ動作の実行は、アプリケーションの責務です。
このクリーンアップは
.Fn pthread_key_delete
の呼び出しの前後で実行できます。
が呼び出される前後で実行されることが可能です。
.Fn pthread_key_delete
を呼び出した後で
の呼び出しの後で、
.Fa key
を使用しようとすると、結果は不定になります。
を使用しようとする全ての試みの結果は、不定動作になります。
.Pp
.Fn pthread_key_delete
関数は、破壊関数から呼び出されることがあります。
関数は、デストラクタ関数の中から呼び出すことが可能です。
デストラクタ関数は、
.Fn pthread_key_delete
が破壊関数を呼び出すことはありません。
からは呼び出されません。
.Fa key
に関連していた破壊関数は、スレッドの終了時に呼び出されません。
に関連付けられているかもしれない全てのデストラクタ関数は、
スレッドの終了時にはもはや呼び出されません。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_key_delete
関数は
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_key_delete
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa key
の値が正しくない場合
の値が無効です。
.El
.Pp
.Sh 関連項目
@ -87,8 +91,8 @@ NULL
.Xr pthread_setspecific 3
.Sh 規格
.Fn pthread_key_delete
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,38 +25,39 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_destroy.3,v 1.5.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 29, 1998
.Dt PTHREAD_MUTEX_DESTROY 3
.Os BSD 4
.Sh 名称
.Nm pthread_mutex_destroy
.Nd MUTEX に割り当てられたリソースの解放
.Nd mutex のために割り当てられたリソースの開放
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_mutex_destroy "pthread_mutex_t *mutex"
.Sh 解説
.Fn pthread_mutex_destroy
関数は、
.Fa mutex
に割り当てられたリソースを解放します。
関数は、mutex のために割り当てられたリソースを開放します。
.Sh 戻り値
問題がない場合、
問題がない場合は、
.Fn pthread_mutex_destroy
0
を戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_mutex_destroy
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa mutex
で指定された値が正しくない場合
によって指定された値が無効です。
.It Bq Er EBUSY
.Fa mutex
が別のスレッドでロックされている場合
が別のスレッドにロックされています。
.El
.Pp
.Sh 関連項目
@ -66,8 +67,8 @@
.Xr pthread_mutex_unlock 3
.Sh 規格
.Fn pthread_mutex_destroy
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,13 +25,17 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_init.3,v 1.6.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 29, 1998
.Dt PTHREAD_MUTEX_INIT 3
.Os BSD 4
.Sh 名称
.Nm pthread_mutex_init
.Nd MUTEX の作成
.Nd mutex の作成
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,37 +44,27 @@
.Fn pthread_mutex_init
関数は、
.Fa attr
で指定された属性で新しい
MUTEX
を作成します。
に指定された属性で新しい mutex を作成します。
.Fa attr
NULL
である場合はデフォルトの属性が使用されます。
が NULL の場合には、デフォルトの属性が使用されます。
.Sh 戻り値
問題がない場合、
問題がない場合は、
.Fn pthread_mutex_init
0
を戻し、新しい
MUTEX ID
は 0 を返し、
.Fa mutex
に入れます。問題がある場合は、そのエラーを示すエラー番号を戻します。
に新しい mutex の ID を入れます。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_mutex_init
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa attr
で指定された値が正しくない場合
によって指定された値が無効です。
.It Bq Er ENOMEM
プロセスが
MUTEX
の作成に十分なメモリを割り当てできなかった場合
プロセスが別の mutex の作成のための十分なメモリを割り当てられません。
.It Bq Er EAGAIN
MUTEX
の作成にリソースが一時的に不足した場合
別の mutex を作成するために一時的なリソースが不足しています。
.El
.Pp
.Sh 関連項目
@ -80,8 +74,8 @@ MUTEX
.Xr pthread_mutex_unlock 3
.Sh 規格
.Fn pthread_mutex_init
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,6 +25,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_lock.3,v 1.5.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 30, 1998
.Dt PTHREAD_MUTEX_LOCK 3
@ -32,6 +34,8 @@
.Sh 名称
.Nm pthread_mutex_lock
.Nd mutex のロック
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,23 +44,27 @@
.Fn pthread_mutex_lock
関数は、
.Fa mutex
をロックします。 mutex がすでにロックされている場合、
呼び出しスレッドは、 mutex が使用できるようになるまでブロックされます。
をロックします。
mutex が既にロックされている場合には、呼び出しているスレッドは
その mutex が利用可能になるまでブロックされます。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_mutex_lock
はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_mutex_lock
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa mutex
で指定された値が正しくない場合
によって指定された値が無効です
.It Bq Er EDEADLK
スレッドがブロックされて
.Fa mutex
を待機している場合にデッドロックが発生した場合。
を待つためにそのスレッドがブロックされた場合には、
デッドロックが発生しています。
.El
.Pp
.Sh 関連項目
.Xr pthread_mutex_destroy 3 ,
.Xr pthread_mutex_init 3 ,
@ -64,8 +72,8 @@
.Xr pthread_mutex_unlock 3
.Sh 規格
.Fn pthread_mutex_lock
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,13 +25,17 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_trylock.3,v 1.5.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 30, 1998
.Dt PTHREAD_MUTEX_TRYLOCK 3
.Os BSD 4
.Sh 名称
.Nm pthread_mutex_trylock
.Nd ブロックせずに mutex をロック
.Nd ブロックを伴わない mutex のロックの試行
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -40,24 +44,25 @@
.Fn pthread_mutex_trylock
関数は
.Fa mutex
をロックします。 mutex がすでに
ロックされている場合、
をロックします。
mutex が既にロックされている場合には
.Fn pthread_mutex_trylock
mutex を待機するためにブロックせず、エラー条件を戻します。
その mutex を待つためにブロックせずに、エラー条件を返します。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_mutex_trylock
はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_mutex_trylock
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa mutex
で指定された値が正しくない場合
.Fa mutex
によって指定された値が無効です
.It Bq Er EBUSY
.Fa mutex
すでにロックされている場合
.Fa mutex
既にロックされています
.El
.Pp
.Sh 関連項目
@ -67,8 +72,8 @@
.Xr pthread_mutex_unlock 3
.Sh 規格
.Fn pthread_mutex_trylock
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -25,6 +25,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_unlock.3,v 1.5.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd July 30, 1998
.Dt PTHREAD_MUTEX_UNLOCK 3
@ -32,6 +34,8 @@
.Sh 名称
.Nm pthread_mutex_unlock
.Nd mutex のロックを解除
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -39,26 +43,27 @@
.Sh 解説
現在のスレッドが
.Fa mutex
をロックしている場合
のロックを保持している場合には
.Fn pthread_mutex_unlock
関数は
関数は
.Fa mutex
のロックを解除します。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_mutex_unlock
はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_mutex_trylock
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa mutex
で指定された値が正しくない場合
.Fa mutex
によって指定された値が無効です
.It Bq Er EPERM
現在のスレッドが
.Fa mutex
をロックしていない場合
のロックを保持していません
.El
.Pp
.Sh 関連項目
@ -68,8 +73,8 @@
.Xr pthread_mutex_trylock 3
.Sh 規格
.Fn pthread_mutex_unlock
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,77 +28,83 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_once.3,v 1.6.2.3 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_ONCE 3
.Os BSD 4
.Sh 名称
.Nm pthread_once
.Nd ダイナミックなパッケージの初期化
.Nd 動的なパッケージの初期化
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Pp
pthread_once
pthread_once_t
.Fa once_control
= PTHREAD_ONCE_INIT;
.Ft int
.Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)"
.Sh 解説
プロセスの任意のスレッドで特定の
プロセスの全てのスレッドによる最初の、与えられた
.Fa once_control
使用して
伴っての
.Fn pthread_once
を初めて呼び出すと、引数なしで
の呼び出しは、
.Fn init_routine
が呼び出されます。その後で
.Fn pthread_once
を同じ
を引数無しで呼び出します。
その後での同じ
.Fa once_control
で呼び出しても、
を持つ
.Fn pthread_once
の呼び出しは、
.Fn init_routine
は呼び出されません。
を呼び出しません。
.Fn pthread_once
から戻る時点では、
.Fn init_routine
は終了しています。
が完了していることが保証されています。
.Fa once_control
パラメータは、関連する初期化ルーチンが呼び出されているかどうかを
パラメータは、関連付けられた初期化ルーチンが既に呼び出されたかどうかを
判断するために使用されます。
.Pp
関数
.Fn pthread_once
関数はキャンセルポイントではありませんが、
は取り消しポイントではありません。
しかしながら、
.Fn init_routine
はキャンセルポイントであるためキャンセルされます。キャンセルされると
が取り消しポイントですので取り消され
.Fa once_control
.Fn pthread_once
.Fa が呼び出されていないかのような
効果が生まれます。
が一度も呼び出されていないかのような結果になります。
.Pp
ヘッダ
定数
.Fa PTHREAD_ONCE_INIT
は、
.Aq Pa pthread.h
で、定数
.Fa PTHREAD_ONCE_INIT
が定義されています。
で定義されています。
.Pp
.Fa once_control
に自動保存期間がある場合、または
.Fa once_control
に自動保存期間がある、または
.Fa PTHREAD_ONCE_INIT
で初期化されない場合、
で初期化されていない場合には、
.Fn pthread_once
の動作は不定になります。
の動作は未定義です。
.Pp
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_once
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
ありません。
.Pp
.Sh 規格
.Fn pthread_once
は、
ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12
に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlock_destroy.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_destroy.3,v 1.3.2.1 2000/04/22 16:35:07 phantom Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -30,48 +30,53 @@
.Os
.Sh 名称
.Nm pthread_rwlock_destroy
.Nd 読み書きロックの破壊
.Nd 読取り/書込みロックの破壊
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_rwlock_destroy "pthread_rwlock_t *lock"
.Sh 解説
.Fn pthread_rwlock_destroy
関数は、
関数は、以前に
.Fn pthread_rwlock_init
以前に作成された読み書きロックを破壊します。
作成された読取り/書込みロックを破壊するために使用されます。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlock_destroy
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlock_init 3
.Xr pthread_rwlock_init 3
.Sh 規格
.Fn pthread_rwlock_destroy
関数は、
.St -susv2
準拠する見込みです。
.St -susv2
適合しているはずです。
.Sh エラー
.Fn pthread_rwlock_destroy
関数は、以下のような場合にエラーとなります。
関数は、以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EPERM
オペレーションを実行する権利が呼び出し側にない場合
呼び出し側が、その操作を実行するための権利を持っていません
.El
.Pp
.Fn pthread_rwlock_destroy
関数は、以下のような場合にエラーになることがあります。
関数は、以下の場合に失敗することがあります。
.Bl -tag -width Er
.It Bq Er EBUSY
.Fa lock
で参照されるオブジェクトがロックされている間に、
そのオブジェクトを破壊しようとする動きがシステムによって検出された場合
によって参照されているオブジェクトをロックされている間に、
破壊しようとしていることを、システムが検出しました
.It Bq Er EINVAL
.Fa lock
で指定された値が正しくない場合
.Fa lock
によって指定された値が無効です
.El
.Sh 歴史
.Fn pthread_rwlock_destroy
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlock_init.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_init.3,v 1.2.2.1 2000/04/22 16:35:07 phantom Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -30,7 +30,9 @@
.Os
.Sh 名称
.Nm pthread_rwlock_init
.Nd 読み書きロックの初期化
.Nd 読取り/書込みロックの初期化
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -39,17 +41,18 @@
.Fn pthread_rwlock_init
関数は、
.Fa attr
で指定された属性で読み書きロックを初期化します。
で指定された属性で、読取り/書込みロックを初期化するために使用されます。
.Fa attr
が NULL である場合は、デフォルトの読み書きロック属性が使用されます。
が NULL の場合には、デフォルトの読取り/書込みロック属性が使用されます。
.Pp
すでに初期化されているロックで
既に初期化されているロックでの
.Fn pthread_rwlock_init
を呼び出すと、結果は不定になります。
の呼び出しの結果は、未定義です。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlock_init
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlock_destroy 3 ,
.Xr pthread_rwlockattr_init 3 ,
@ -57,37 +60,39 @@
.Sh 規格
.Fn pthread_rwlock_init
関数は、
.St -susv2
に準拠する見込みです。
.Pp
.St -susv2
に適合しているはずです。
.Sh エラー
.Fn pthread_rwlock_init
関数は、以下のような場合にエラーとなります。
関数は、以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EAGAIN
ロックの初期化に必要なリソース ( メモリ以外 ) がシステムで不足している場合。
ロックを初期化するために必要な (メモリ以外の) リソースが、
システムに不足しています。
.It Bq Er ENOMEM
メモリが不足しているためにロックを初期化できない場合
ロックを初期化するための十分なメモリがありません
.It Bq Er EPERM
オペレーションを実行するための十分な権利が呼び出し側にない場合
呼び出し側が、その操作を実行するための十分な権利を持っていません
.El
.Pp
.Fn pthread_rwlock_init
関数は、以下のような場合にエラーになる場合があります。
関数は、以下の場合に失敗することがあります。
.Bl -tag -width Er
.It Bq Er EBUSY
以前に初期化されたが破壊されていない読み書きロック
.Fa lock
で参照されるオブジェクトをさらに初期化しようとする動きが、システムによって
検出された場合。
によって参照されているオブジェクトで、
以前に初期化されているがまだ破壊されていない読取り/書込みロックを
再初期化しようとしていることを、システムが検出しました。
.It Bq Er EINVAL
.Fa attr
で指定された値が正しくない場合
.Fa attr
によって指定された値が無効です
.El
.Sh 歴史
.Fn pthread_rwlock_init
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。
.Sh バグ
PTHREAD_PROCESS_SHARED 属性はサポートされていません。
PTHREAD_PROCESS_SHARED 属性は、サポートされていません。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlock_rdlock.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_rdlock.3,v 1.2.2.1 2000/04/22 16:35:08 phantom Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -31,7 +31,9 @@
.Sh 名称
.Nm pthread_rwlock_rdlock ,
.Nm pthread_rwlock_tryrdlock
.Nd 読込み用に読み書きロックを取得
.Nd 読取り用の読取り/書込みロックの獲得
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -42,31 +44,32 @@
.Fn pthread_rwlock_rdlock
関数は、
.Fa lock
が書込み用に設定されておらず、
書込みスレッドがロックでブロックされていない場合、読込みロックを
.Fa lock
で取得します。読込みロックをすぐに取得できない場合、呼び出しスレッドはロック
を取得できるようになるまでブロックされます。
で与えられた、ロックが現在書込み用に保持されておらず、書込みスレッドが
現在そのロックでブロックされていない、読取り用のロックを獲得します。
読取り用のロックをすぐに獲得できない場合には、呼び出しているスレッドは
そのロックを獲得できるまでブロックします。
.Pp
.Fn pthread_rwlock_tryrdlock
関数は同じアクションを実行しますが、ロックをすぐに取得できなくても
( 書込み用にロックされているか、書込みスレッドが待機していても )
ブロックされません。
関数は、同じ操作を実行しますが、すぐにロックを獲得できない (すなわち、
ロックが書込み用に保持されている、
または待っている書込みスレッドがある) 場合には、ブロックしません。
.Pp
1つのスレッドは、複数の読込みロックを同時に取得できます。この場合は
1 つのスレッドは複数の同時の読取り用ロックを保持することができます。
その場合には、個々の獲得されたのために
.Fn pthread_rwlock_unlock
をそれぞれのロックに 1 回ずつ呼び出す必要があります
が 1 度ずつ呼び出されなければなりません
.Pp
呼び出しスレッドが書込みロックを取得している場合に読込みロックを
取得しようとすると、結果は不定になります。
.Sh システムの注意事項
書込み側の飢餓状態を避けるため、書込み側は読込み側より優先されます。
呼び出しているスレッドが書込み用のロックを保持している間の、
読取り用のロックの獲得の結果は、未定義です。
.Sh 実装に関する注
書込み側の飢餓状態を防ぐため、書込み側が読込み側よりも優先されます。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlock_rdlock
関数と
および
.Fn pthread_rwlock_tryrdlock
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlock_init 3 ,
.Xr pthread_rwlock_trywrlock 3 ,
@ -74,39 +77,44 @@
.Xr pthread_rwlock_wrlock 3
.Sh 規格
.Fn pthread_rwlock_rdlock
関数と
および
.Fn pthread_rwlock_tryrdlock
関数は、
.St -susv2
.St -susv2
に適合しているはずです。
.Sh エラー
.Fn pthread_rwlock_tryrdlock
関数は、以下のような場合にエラーとなります。
関数は、以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EBUSY
書込み側がロックしているかブロックされているため、ロック
を取得できない場合
書込みスレッドがロックを保持している、またはブロックされているため、
ロックを獲得できません
.El
.Pp
.Fn pthread_rwlock_rdlock
関数と
および
.Fn pthread_rwlock_tryrdlock
関数は、
以下のような場合にエラーになる場合があります。
関数は、以下の場合に失敗することがあります。
.Bl -tag -width Er
.It Bq Er EAGAIN
.Fa lock
に対する読込みロックの最大数を越えたため、ロックを取得できない場合。
に対する読取り用のロックの最大数を既に越えているため、
ロックを獲得できません。
.It Bq Er EDEADLK
現在のスレッドが、書込み用にロックをすでに取得している場合。
現在のスレッドが既に書込み用の
.Fa lock
を所有しています。
.It Bq Er EINVAL
.Fa lock
で指定されている値が正しくない場合
.Fa lock
によって指定された値が無効です
.It Bq Er ENOMEM
メモリが不足しているため、ロックを初期化できない場合 ( 静的
初期化されるロックのみに適用 )
ロック (静的に初期化されたロックのみに適用) の初期化のため
十分なメモリがありません
.El
.Sh 歴史
.Fn pthread_rwlock_rdlock
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlock_unlock.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_unlock.3,v 1.2.2.1 2000/04/22 16:35:08 phantom Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -30,49 +30,53 @@
.Os
.Sh 名称
.Nm pthread_rwlock_unlock
.Nd 読み書きロックの解除
.Nd 読取り/書込みロックの開放
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_rwlock_unlock "pthread_rwlock_t *lock"
.Sh 解説
.Fn pthread_rwlock_unlock
関数は、
関数は、以前に
.Fn pthread_rwlock_rdlock ,
.Fn pthread_rwlock_wrlock ,
.Fn pthread_rwlock_tryrdlock
あるい
.Fn pthread_rwlock_tryrdlock ,
また
.Fn pthread_rwlock_trywrlock
以前に取得した読み書きロックを解除します。
獲得された読取り/書込みロックを開放するために使用されます。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlock_unlock
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Pp
呼び出しスレッドが
.Fa lock
を取得していない場合、結果は不定になります。
が呼び出しているスレッドによって保持されていない場合には、
その結果は未定義です。
.Sh 関連項目
.Xr pthread_rwlock_rdlock 3 ,
.Xr pthread_rwlock_wrlock 3
.Sh 規格
.Fn pthread_rwlock_unlock
関数は、
.St -susv2
準拠する見込みです。
.SH エラー
.St -susv2
適合しているはずです。
.Sh エラー
.Fn pthread_rwlock_unlock
関数は、以下のような場合にエラーとなります。
関数は、以下の場合に失敗することがあります。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa lock
で指定されている値が正しくない場合
.It Bq Er EINVAL
.Fa lock
によって指定された値が無効です
.It Bq Er EPERM
現在のスレッドが読み書きロックを取得していない場合
現在のスレッドが、その読取り/書込みロックを所有していません
.El
.Pp
.Sh 歴史
.Fn pthread_rwlock_unlock
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlock_wrlock.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_wrlock.3,v 1.2.2.1 2000/04/22 16:35:08 phantom Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -31,7 +31,9 @@
.Sh 名称
.Nm pthread_rwlock_wrlock ,
.Nm pthread_rwlock_trywrlock
.Nd 書込み用に読み書きロックを取得
.Nd 書込み用の読取り/書込みロックの獲得
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
@ -42,57 +44,60 @@
.Fn pthread_rwlock_wrlock
関数は、
.Fa lock
に対して書込みロックを取得できるようになるまでブロックされます。
に対して書込み用のロックを獲得できるまで、ブロックします。
.Fn pthread_rwlock_trywrlock
関数は同じアクションを実行しますが、ロックをすぐに取得できなくてもブロック
されません。
関数は、同じ操作を実行しますが、すぐにロックを獲得できない場合には、
ブロックしません。
.Pp
呼び出しスレッドが呼び出しを行なう時点でロックをすでに取得している
場合、結果は不定になります。
.Sh システムの注意事項
書込み側の飢餓状態を避けるため、書込みが読込みより優先されます。
呼び出しているスレッドが、呼び出しが行なわれたのと同時に既にそのロックを
保持している場合には、その結果は未定義です。
.Sh 実装に関する注
書込み側の飢餓状態を防ぐため、書込み側が読込み側よりも優先されます。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlock_wrlock
関数と
および
.Fn pthread_rwlock_trywrlock
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlock_trywrlock 3 ,
.Xr pthread_rwlock_unlock 3 ,
.Xr pthread_rwlock_wrlock 3
.Sh 規格
.Fn pthread_rwlock_wrlock
関数と
および
.Fn pthread_rwlock_trywrlock
関数は、
.St -susv2
準拠する見込みです。
.St -susv2
適合しているはずです。
.Sh エラー
.Fn pthread_rwlock_trywrlock
関数は、以下のような場合にエラーとなります。
関数は、以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EBUSY
呼び出しスレッドが、ブロックせずにロックを取得できない場合
呼び出しているスレッドがブロック無しでロックを獲得できません
.El
.Pp
.Fn pthread_rwlock_wrlock
関数と
および
.Fn pthread_rwlock_trywrlock
関数は、以下のような場合にエラーとなります。
関数は、以下の場合に失敗することがあります。
.Bl -tag -width Er
.It Bq Er EDEADLK
呼び出しスレッドが、読み書きロック ( 読込み用か書込み用 ) を
すでに取得している場合
.It Bq Er EINVAL
呼び出しているスレッドが既にその読取り/書込みロックを (読取り用または
書込み用に) 所有しています
.It Bq Er EINVAL
.Fa lock
で指定された値が正しくない場合
によって指定された値が無効です
.It Bq Er ENOMEM
メモリが不足しているため、ロックを初期化できない場合 ( 静的
初期化されるロックのみに適用 ) 。
ロック (静的に初期化されたロックのみに適用) の初期化のため
十分なメモリがありません
.El
.Sh 歴史
.Fn pthread_rwlock_wrlock
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlockattr_destroy.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_destroy.3,v 1.3.2.1 2000/04/22 16:35:09 phantom Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -30,37 +30,42 @@
.Os
.Sh 名称
.Nm pthread_rwlockattr_destroy
.Nd 読み書きロックの破壊
.Nd 読取り/書込みロックの属性の破壊
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr"
.Sh 解説
.Fn pthread_rwlockattr_destroy
関数は、
関数は、以前に
.Fn pthread_rwlockattr_init
以前に作成された読み書きロック属性オブジェクトを破壊します。
で作成された読取り/書込みロック属性オブジェクトを破壊します。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlockattr_destroy
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlockattr_init 3
.Xr pthread_rwlockattr_init 3
.Sh 規格
.Fn pthread_rwlockattr_destroy
関数は、
.St -susv2
準拠する見込みです。
適合しているはずです。
.Sh エラー
.Fn pthread_rwlockattr_destroy
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa attr
で指定された値が正しくない場合
によって指定された値が無効です
.El
.Sh 歴史
.Fn pthread_rwlockattr_destroy
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。

View file

@ -22,38 +22,42 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlockattr_getpshared.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_getpshared.3,v 1.4.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
.Dd March 22, 1999
.Dt PTHREAD_RWLOCKATTR_GETPSHARED 3
.Os
.Sh 名称
.Nm pthread_rwlockattr_getpshared
.Nd プロセス共有属性の設定
.Nd プロセス共有属性の取得
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_rwlockattr_getpshared "pthread_rwlockattr_t *attr" "int *pshared"
.Fn pthread_rwlockattr_getpshared "const pthread_rwlockattr_t *attr" "int *pshared"
.Sh 解説
.Fn pthread_rwlockattr_getpshared
関数は、読み書きロック属性オブジェクトのプロセス共有設定を入手します。設定は
関数は、読取り/書込みロックの属性オブジェクトのプロセス共有設定を
取得するために使用されます。
その設定は
.Fa pshared
で戻されますが、以下のうちどちらかの値になります。
.Bl -hang -offset flag -width 123456789012345678901234
.It Ar PTHREAD_PROCESS_SHARED
み書きロックが常駐するメモリにアクセス
できるプロセスのスレッドが、ロックを操作できます。
.It Ar PTHREAD_PROCESS_PRIVATE
読み書きロックを初期化したスレッドと同じ
プロセスで作成されたスレッドのみが、ロックを操作できます。これが
デフォルト値です。
を通して返され、以下の 2 つの内の 1 つになります。
.Bl -tag -width PTHREAD_PROCESS_PRIVATE
.It Dv PTHREAD_PROCESS_SHARED
取り/書込みロックが属するメモリにアクセスする全てのプロセスの
全てのスレッドは、ロックを操作できます。
.It Dv PTHREAD_PROCESS_PRIVATE
取り/書込みロックを初期化したスレッドと同じプロセスの中で作成された
スレッドのみが、ロックを操作できます。
これがデフォルト値です。
.El
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlockattr_getpshared
関数はゼロを戻します。
問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlock_init 3 ,
.Xr pthread_rwlockattr_init 3 ,
@ -62,18 +66,19 @@
.Fn pthread_rwlockattr_getpshared
関数は、
.St -susv2
準拠する見込みです。
適合しているはずです。
.Sh エラー
.Fn pthread_rwlockattr_getpshared
は、以下のような場合にエラー
となります。
は以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa attr
で指定された値が正しくない場合
によって指定された値が無効です
.El
.Sh 歴史
.Sh HISTORY
.Fn pthread_rwlockattr_getpshared
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlockattr_init.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_init.3,v 1.3.2.1 2000/04/22 16:35:09 phantom Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -30,41 +30,42 @@
.Os
.Sh 名称
.Nm pthread_rwlockattr_init
.Nd 読み書きロックの初期化
.Nd 読取り/書込みロックの属性の作成
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr"
.Sh 解説
.Fn pthread_rwlockattr_init
関数は、読み書きロック属性オブジェクトを
初期化します。
関数は、読取り/書込みロックの属性オブジェクトを初期化するために使用されます。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlockattr_init
関数はゼロを戻します。
問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlock_init 3 ,
.Xr pthread_rwlockattr_destroy 3 ,
.Xr pthread_rwlock-attr_getpshared 3 ,
.Xr pthread_rwlockattr_getpshared 3 ,
.Xr pthread_rwlockattr_setpshared 3
.Sh 規格
.Fn pthread_rwlockattr_init
関数は、
.St -susv2
準拠する見込みです。
.St -susv2
適合しているはずです。
.Sh エラー
.Fn pthread_rwlockattr_init
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er ENOMEM
メモリが不足しているため、属性オブジェクトを
初期化できない場合。
属性オブジェクトを初期化するために十分なメモリがありません。
.El
.Pp
.Sh 歴史
.Fn pthread_rwlockattr_init
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %Id: pthread_rwlockattr_setpshared.3,v 1.1 1998/09/07 19:01:43 alex Exp %
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_setpshared.3,v 1.3.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd August 4, 1998
@ -30,35 +30,36 @@
.Os
.Sh 名称
.Nm pthread_rwlockattr_setpshared
.Nd プロセス共有属性を設定
.Nd プロセス共有属性の設定
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int *pshared"
.Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int pshared"
.Sh 解説
.Fn pthread_rwlockattr_setpshared
関数は、
.Fa attr
のプロセス共有属性を
.Fa pshared
が参照する値に設定します。
によって参照されている値に設定します。
.Fa pshared
は、以下のうちどちらかの
値になります。
.Bl -hang -offset flag -width 123456789012345678901234
.It Ar PTHREAD_PROCESS_SHARED
読み書きロックが常駐するメモリにアクセス
できるプロセスのスレッドが、ロックを操作できます。
.It Ar PTHREAD_PROCESS_PRIVATE
読み書きロックを初期化したスレッドと同じ
プロセスで作成されたスレッドのみが、ロックを操作できます。これが
デフォルト値です。
は、以下の 2 つの内の 1 つになります。
.Bl -tag -width PTHREAD_PROCESS_PRIVATE
.It Dv PTHREAD_PROCESS_SHARED
読取り/書込みロックが属するメモリにアクセスする全てのプロセスの
全てのスレッドは、ロックを操作できます。
.It Dv PTHREAD_PROCESS_PRIVATE
読取り/書込みロックを初期化したスレッドと同じプロセスの中で作成された
スレッドのみが、ロックを操作できます。
これがデフォルト値です。
.El
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_rwlockattr_setpshared
関数はゼロを戻します。
問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh 関連項目
.Xr pthread_rwlock_init 3 ,
.Xr pthread_rwlockattr_init 3 ,
@ -67,22 +68,23 @@
.Fn pthread_rwlockattr_setpshared
関数は、
.St -susv2
準拠する見込みです。
適合しているはずです。
.Sh エラー
.Fn pthread_rwlockattr_setpshared
は、以下のような場合にエラー
となります。
は以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa attr
または
.Fa pshared
で指定された値が正しくない場合
によって指定された値が無効です
.El
.Sh 歴史
.Fn pthread_rwlockattr_setpshared
関数は、
.Fx 3.0
に追加されました。
で初めて登場しました。
.Sh バグ
PTHREAD_PROCESS_SHARED 属性はサポートされていません。
.Dv PTHREAD_PROCESS_SHARED
属性は、サポートされていません。

View file

@ -28,30 +28,35 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_self.3,v 1.4.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_SELF 3
.Os BSD 4
.Sh 名称
.Nm pthread_self
.Nd 呼び出しスレッドの ID の入手
.Nd 呼び出しているスレッドの ID の取得
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft pthread_t
.Fn pthread_self "void"
.Sh 解説
.Fn pthread_self
関数は、呼び出しスレッドのスレッド ID を戻します。
関数は、呼び出しているスレッドのスレッド ID を返します。
.Sh 戻り値
.Fn pthread_self
関数は、呼び出しスレッドのスレッド ID を戻します。
関数は、呼び出しているスレッドのスレッド ID を返します。
.Sh エラー
ありません。
.Pp
.Sh 関連項目
.Xr pthread_create 3 ,
.Xr pthread_equal 3
.Sh 規格
.Fn pthread_self
、ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12 に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -28,57 +28,62 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc_r/man/pthread_setspecific.3,v 1.6.2.2 2001/03/06 16:46:09 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 4, 1996
.Dt PTHREAD_SETSPECIFIC 3
.Os BSD 4
.Sh 名称
.Nm pthread_setspecific
.Nd スレッドに固有なデータ値の設定
.Nd スレッド固有のデータ値の設定
.Sh ライブラリ
.Lb libc_r
.Sh 書式
.Fd #include <pthread.h>
.Ft int
.Fn pthread_setspecific "pthread_key_t key" "const void *value"
.Sh 解説
.Fn pthread_setspecific
関数は、
関数は、以前の
.Fn pthread_key_create
を以前に呼び出して入手した
の呼び出しを通して入手した
.Fa key
に、スレッドに固有な値を関連させます。別のスレッドでは、同じキーに
別の値を結び付けられます。この値は、呼び出しスレッドでの使用に予約した、
ダイナミックに割り振られたメモリのブロックを指すポインタであることが
一般的です。
に、スレッド固有の値を関連付けます。
異なるスレッドは同じキーに対して異なる値を、結びつけることができます。
これらの値は、通常は呼び出しているスレッドによって既に予約されて、
動的に割り当てられたメモリブロックを指すポインタです。
.Pp
.Fn pthread_key_create
で入手していないキー値で、または
から入手したのではない
.Fa key
の値を伴った、または
.Fn pthread_key_delete
.Fa key
を削除した後で
によって
.Fa key
が削除された後での、
.Fn pthread_setspecific
を呼び
出すと、結果は不定になります。
の呼び出しの結果は未定義です。
.Pp
.Fn pthread_setspecific
、スレッドに固有なデータの破壊関数で呼び
出されることがありますが、このように呼び出されると、記憶域が失われたり無限
ループに陥ったりすることがあります。
スレッド固有のデータのデストラクタ関数から呼び出されることがあります。
しかしながら、これは記憶領域を失ったり、
無限ループに陥ったりすることがあります。
.Sh 戻り値
問題がない場合、
問題がない場合
.Fn pthread_setspecific
関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。
関数は 0 を返します。
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
.Sh エラー
.Fn pthread_setspecific
、以下のような場合にエラーとなります。
以下の場合に失敗します。
.Bl -tag -width Er
.It Bq Er ENOMEM
メモリが不足しているため、値を
.Fa key
に関連させられない場合
と関連付けるための値の十分なメモリがありません
.It Bq Er EINVAL
.Fa key
の値が正しくない場合
の値が無効です
.El
.Pp
.Sh 関連項目
@ -87,6 +92,7 @@
.Xr pthread_key_delete 3
.Sh 規格
.Fn pthread_setspecific
は、ISO/IEC 9945-1 ANSI/IEEE
.Pq Dq Tn POSIX
Std 1003.1 Second Edition 1996-07-12 に準拠しています。
.St -p1003.1-96
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)rint.3 5.1 (Berkeley) 5/2/91
.\" %Id: rint.3,v 1.5 1997/02/22 15:09:40 peter Exp %
.\" %FreeBSD: src/lib/msun/man/rint.3,v 1.6 1999/08/28 00:06:23 peter Exp %
.\"
.\" $FreeBSD$
.Dd March 10, 1994
@ -39,7 +39,7 @@
.Sh 名称
.Nm rint ,
.Nm rintf
.Nd 浮動小数点形式で整数値に丸める
.Nd 浮動小数点形式で整数値への丸め
.Sh 書式
.Fd #include <math.h>
.Ft double
@ -48,15 +48,12 @@
.Fn rintf "float x"
.Sh 解説
.Fn rint
関数と
および
.Fn rintf
関数は、現行の丸めモードに従い、
.Fa x
に最も近い整数値
(
倍精度数値か浮動精度数値として表現
)
を戻します。
関数は、広く行なわれている丸め方法に従って、
(倍精度数または単精度数として表現される)
.Fa x
に最も近い整数値を返します。
.Sh 関連項目
.Xr abs 3 ,
.Xr ceil 3 ,
@ -69,3 +66,5 @@
関数は、
.At v6
で登場しました。

View file

@ -33,6 +33,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/locale/setlocale.3,v 1.15.2.2 2001/03/06 16:45:58 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 9, 1993
@ -41,7 +42,9 @@
.Sh 名称
.Nm setlocale ,
.Nm localeconv
.Nd C 用の自然言語をフォーマットする
.Nd C 用の自然言語の整形
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <locale.h>
.Ft char *
@ -50,31 +53,25 @@
.Fn localeconv "void"
.Sh 解説
.Fn setlocale
関数は、特定のルーチンのセットに関して、
C
ライブラリにとっての
自然言語フォーマットスタイルの概念を設定します。
このような各スタイル
関数は、特定のルーチンの集合について、C ライブラリでいうところの
自然言語整形のスタイルを設定します。
それぞれのスタイルを
.Sq ロケール
と呼ばれ、
C
文字列として渡される適切な名前を使用して呼び出されます。
と呼び、C 文字列として渡される適切な名前によって呼び出します。
.Fn localeconv
ルーチンは、現在のロケールの
数値フォーマット用パラメータを返します。
ルーチンは、現在のロケールの数値整形用パラメータを返します。
.Pp
.Fn setlocale
関数は、ルーチンに関する複数のカテゴリを識別します。
以下は、カテゴリとカテゴリが選択したルーチンのセットです。
関数は、いくつかのルーチンのカテゴリを識別します。
以下は、カテゴリとカテゴリが選択したルーチンのです。
.Pp
.Bl -tag -width LC_MONETARY
.It Dv LC_ALL
ロケール全体を一般的に設定します。
ロケール全体をまとめて設定します。
.It Dv LC_COLLATE
文字列照合ルーチン用ロケールを設定します。これは
文字列照合ルーチン用ロケールを設定します。これは
.Fn strcoll
および
.Fn strxfrm
でのアルファベット順を制御します。
.It Dv LC_CTYPE
@ -93,51 +90,42 @@ C
.Xr catopen 3
関数を参照してください。
.It Dv LC_MONETARY
通貨値のフォーマット用ロケールを設定します。これは
通貨値の整形用ロケールを設定します。これは
.Fn localeconv
関数に影響を及ぼします。
.It Dv LC_NUMERIC
数字をフォーマットするためのロケールを設定します。これは、
.Fn printf
.Fn scanf
のような関数の浮動小数点入出力の小数点フォーマットを
制御します。
数字を整形するためのロケールを設定します。これは、
.Fn localeconv
によって返される値も制御します。
によって返される値を制御するのに加えて、
.Fn printf
および
.Fn scanf
のような関数の浮動小数点入出力の小数点整形方法も制御します。
.It Dv LC_TIME
.Fn strftime
関数を使用して日付と時刻をフォーマットするための
ロケールを設定します。
関数を使用して日付と時刻を整形するためのロケールを設定します。
.El
.Pp
デフォルトでは
3
つのロケールだけが定義されています。空の文字列
デフォルトでは 3 つのロケールだけが定義されています。空の文字列
.Li "\&""\|""
はネイティブの環境を表します。そして
はネイティブの環境を表します。そして
.Li "\&""C""
および
.Li "\&""POSIX""
ロケール、これは
C
言語環境を表記します。
ロケールは C 言語環境を表します。
.Fa locale
引数が
.Dv NULL
の場合、
の場合には
.Fn setlocale
は現在のロケールを戻します。デフォルトでは、
C
プログラムは
は現在のロケールを戻します。デフォルトでは、 C プログラムは
.Li "\&""C""
ロケールで開始します。ロケールを設定する唯一のライブラリ内関数は
.Fn setlocale
です。
ロケールは他のルーチンの副作用として変更されることはありません。
です。ロケールは他のルーチンの副作用として変更されることはありません。
.Pp
.Fn localeconv
関数は、数字、特に通貨値のフォーマット用パラメータを
関数は、数字、特に通貨値の整形用パラメータを
提供する構造体を指すポインタを返します。
.Bd -literal -offset indent
struct lconv {
@ -166,92 +154,79 @@ struct lconv {
.Pp
.Bl -tag -width mon_decimal_point
.It Fa decimal_point
小数点文字。通貨値は除きます。
通貨値を除く、小数点文字です。
.It Fa thousands_sep
小数点の前の数字のグループ間の分離記号。通貨値は除きます。
通貨値を除く、小数点の前の桁のグループ間の区切り文字です。
.It Fa grouping
数字のグループのサイズ。通貨値は除きます。
これは、整数のベクトルを指すポインタです。各整数のサイズは
通貨値を除く、桁のグループの大きさです。
これは、
.Va char
であり、低い位の数字から高い位の数字
(
右から左
)
までのグループのサイズを表します。リストは、
0
または
型の、低い位の桁から高い位の桁 (右から左) までのグループの大きさを表す
整数の配列を指すポインタです。
そのリストは、0 または
.Dv CHAR_MAX
で終了できます。リストが
0
で終了する場合、
0
の前の最後のグループサイズは、すべての数字を埋めるために反復されます。
リストが
で終わります。リストが 0 で終了する場合には、0 の前の最後のグループの
大きさを、全ての桁が埋まるまで繰り返し用います。
.Dv CHAR_MAX
で終了される場合、それ以上のグループ化は実行されません。
で終了する場合には、それ以上のグループ化は実行されません。
.It Fa int_curr_symbol
標準化された国際通貨シンボル
標準で定められた国際通貨記号です。
.It Fa currency_symbol
ローカルな通貨シンボル
ローカルな通貨記号です。
.It Fa mon_decimal_point
通貨値に対する小数点文字
通貨値に対する小数点文字です。
.It Fa mon_thousands_sep
通貨値内の数字グループについての分離記号
通貨値内の桁のグループについての区切り文字です。
.It Fa mon_grouping
.Fa grouping
に類似していますが、通貨用
に類似していますが、通貨用です。
.It Fa positive_sign
非負の通貨値を表記するのに使用される文字。
通常は空の文字列
非負の通貨値を表記するのに使用される文字で、通常は空の文字列です。
.It Fa negative_sign
負の通貨値を表現するのに使用される文字
通常はマイナス符号
負の通貨値を表現するのに使用される文字で、
通常はマイナス符号です。
.It Fa int_frac_digits
国際スタイルの通貨値における小数点以下の桁数
国際スタイルの通貨値における小数点以下の桁数です。
.It Fa frac_digits
ローカルスタイルの通貨値における小数点以下の桁数
ローカルスタイルの通貨値における小数点以下の桁数です。
.It Fa p_cs_precedes
非負の値に対して通貨値の前に通貨シンボルが置かれる場合は
1
、通貨シンボルが通貨値の後に続く場合は
0
非負の値に対して通貨値の前に通貨記号が置かれる場合には 1、
そうでない場合には 0 です。
.It Fa p_sep_by_space
非負の値について通貨シンボルと通貨値の間に
空白が挿入されている場合は
1 、そうでない場合は
0
非負の値に対して通貨記号と通貨値の間に空白が挿入されている場合は 1、
そうでない場合には 0 です。
.It Fa n_cs_precedes
負の値につい
負の値に対して
.Fa p_cs_precedes
と同様
と同様です。
.It Fa n_sep_by_space
負の値につい
負の値に対し
.Fa p_sep_by_space
と同様
と同様です。
.It Fa p_sign_posn
非負の量および
.Fa currency_symbol
に関する
.Fa positive_sign
の位置。コードは次のとおり
の位置です。コードは次の通りです
.Bl -tag -width 3n -compact
.It Li 0
文字列全体を囲む丸括弧
文字列全体を囲む丸括弧です。
.It Li 1
文字列の前
文字列の前です。
.It Li 2
文字列の後
文字列の後です。
.It Li 3
.Fa currency_symbol
の直前
の直前です。
.It Li 4
.Fa currency_symbol
の直後
の直後です。
.El
.It Fa n_sign_posn
負の通貨値につい
負の通貨値に対し
.Fa p_sign_posn
と同様
と同様です。
.El
.Pp
前述した場合を除いて、フィールドの値としての空の文字列は、
@ -266,16 +241,15 @@ struct lconv {
.Fa category
.Fa locale
の組み合わせが意味をなさない場合
の組み合わせが意味をなさない場合には、
.Dv NULL
を返してロケールを変更するのに失敗します。
を返してロケールの変更は失敗します。
.Fn localeconv
関数は、後の
.Fn setlocale
または
.Fn localeconv
への呼び出しで変更される可能性のある静的オブジェクトを指す
ポインタを返します。
の呼び出しで変更される可能性のある静的オブジェクトを指すポインタを返します。
.Sh ファイル
.Bl -tag -width /usr/share/locale/locale/category -compact
.It Pa $PATH_LOCALE/ Ns Em locale/category
@ -300,29 +274,29 @@ struct lconv {
.Xr utf2 4
.Sh 規格
.Fn setlocale
関数と
および
.Fn localeconv
関数は
.St -ansiC
準拠しています。
関数は
.St -isoC
適合しています。
.Sh 歴史
.Fn setlocale
関数と
および
.Fn localeconv
関数は最初に
関数は
.Bx 4.4
登場しました。
で初めて登場しました。
.Sh バグ
時点では、
在の実装は、
.Dv LC_COLLATE ,
.Dv LC_CTYPE
および
.Dv LC_TIME
カテゴリ以外では、
のカテゴリ以外では、
.Li "\&""C""
.Li "\&""POSIX""
ロケールだけしかサポートされていません
ロケールのみサポートしています
.Pp
.Fn localeconv
における整然としない通貨サポートにも関わらず、規格は、
@ -332,6 +306,6 @@ struct lconv {
.Dv LC_MONETARY
の使用は間違った結果を導く可能性があります。
.Dv LC_NUMERIC
および
.Dv LC_TIME
は個人的な選択肢であり、他のカテゴリでおおい隠すことはしないでください
は個人的な選択肢であり、他のカテゴリで覆い隠すべきではありません

View file

@ -31,7 +31,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)sin.3 6.7 (Berkeley) 4/19/91
.\" %Id: sin.3,v 1.5 1997/02/22 15:09:40 peter Exp %
.\" %FreeBSD: src/lib/msun/man/sin.3,v 1.6.2.1 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd April 19, 1991
@ -49,18 +49,17 @@
.Fn sinf "float x"
.Sh 解説
.Fn sin
関数と
および
.Fn sinf
関数は、
.Fa x
(ラジアン単位)の正弦を計算します。
引数の大きさがあまりに大きいと、少ししか意味がないか、
まったく意味のない結果が出されることになります。
関数は、(ラジアンで計測された)
.Fa x
の正弦を計算します。
大きな引数は、ほとんどまたは全く意味のない結果を生じることがあります。
.Sh 戻り値
.Fn sin
関数と
および
.Fn sinf
関数は正弦値を返します。
関数は正弦値を返します。
.Sh 関連項目
.Xr acos 3 ,
.Xr asin 3 ,
@ -74,6 +73,8 @@
.Xr tanh 3
.Sh 規格
.Fn sin
関数は
.St -ansiC
に準拠しています。
関数は、
.St -isoC
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)sinh.3 6.6 (Berkeley) 4/19/91
.\" %Id: sinh.3,v 1.5 1997/02/22 15:09:41 peter Exp %
.\" %FreeBSD: src/lib/msun/man/sinh.3,v 1.6.2.1 2001/03/06 16:46:24 ru Exp %
.\" $FreeBSD$
.Dd April 19, 1991
.Dt SINH 3
@ -38,7 +38,7 @@
.Sh 名称
.Nm sinh ,
.Nm sinhf
.Nd 双曲正弦関数
.Nd 双曲正弦関数
.Sh 書式
.Fd #include <math.h>
.Ft double
@ -46,25 +46,25 @@
.Ft float
.Fn sinhf "float x"
.Sh 解説
The
.Fn sinh
関数と
および
.Fn sinhf
関数は
.Fa x
の双曲正弦を計算します。
関数は
.Fa x
の双曲正弦を計算します。
.Sh 戻り値
.Fn sinh
関数と
および
.Fn sinhf
関数は双曲線正弦値を返します。ただし
関数は、
.Fa x
があまりに
大きい場合は除きます。この場合、グローバル変数
の大きさが大きすぎる場合以外は、双曲正弦を返します。
大きすぎる場合は、グローバル変数
.Va errno
.Er ERANGE
設定されます。
に設定されます。
.Sh 関連項目
.Xr acos 3 ,
.Xr asin 3 ,
@ -78,6 +78,8 @@
.Xr tanh 3
.Sh 規格
.Fn sinh
関数は
.St -ansiC
に準拠しています。
関数は、
.St -isoC
に適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)sqrt.3 6.4 (Berkeley) 5/6/91
.\" %Id: sqrt.3,v 1.5 1997/02/22 15:09:42 peter Exp %
.\" %FreeBSD: src/lib/msun/man/sqrt.3,v 1.6.2.2 2001/03/06 16:46:24 ru Exp %
.\"
.\" $FreeBSD$
.Dd May 6, 1991
@ -41,8 +41,8 @@
.Nm cbrtf ,
.Nm sqrt ,
.Nm sqrtf
.Nd 立方根関数と平方根関数
.Sh 書式
.Nd 立方根および平方根関数
.Sh SYNOPSIS
.Fd #include <math.h>
.Ft double
.Fn cbrt "double x"
@ -54,81 +54,75 @@
.Fn sqrtf "float x"
.Sh 解説
.Fn cbrt
関数と
および
.Fn cbrtf
関数は
関数は
.Ar x
の立方根を計算します。
.Pp
.Fn sqrt
関数と
および
.Fn sqrtf
関数は、
関数は、非負の
.Ar x
負でない平方根を計算します。
の平方根を計算します。
.Sh 戻り値
.Fn cbrt
関数と
および
.Fn cbrtf
関数は、要求された立方根を返します。
.Fn sqrt
関数と
および
.Fn sqrtf
関数は、エラーが発生した場合を除いて、要求された平方根を返します。
関数は、エラーが発生しなければ、要求された平方根を返します。
.Tn VAX
または
および
.Tn Tahoe
プロセッサは、負の
は、負の
.Fa x
.Fn sqrt
を取ろうとするとエラーが発生します。この場合、
グローバル変数
を取ることの試みは、エラーを引き起こします。
この場合には、グローバル変数
.Va errno
.Dv EDOM
に設定され、予備のオペランド障害が生成されます。
.Sh エラー (切り捨てなどによるもの)
.Er EDOM
に設定し、予約されたオペランドフォルトが生成されます。
.Sh エラー (丸めなどによるもの)
.Fn cbrt
関数は、
0.7
関数は、0.7
.Em ulp
で正確です。
の範囲内で正確です。
.Pp
.Tn VAX
上の
.Fn sqrt
関数は
0.501
関数は、0.501
.Em ulp
で正確です。
の範囲内で正確です。
.Tn IEEE
754 に準拠するマシン上の
.\" .Fn sqrt
sqrt は、実施中の丸めモードに従って正確に丸められます。エラー
は、デフォルトモード(四捨五入)で
754 に適合しているマシン上の sqrt は、実施中の丸め方法に従って、
正確に丸められます。
その誤差は、デフォルトの方法 (四捨五入) では、
.Em ulp
の半分未満です。
.Em ulp
は、実行された
最後の場所の単位
(
とは、最後に繰り上げられた位置の位 (
.Em U Ns nit
in the
.Em L Ns ast
.Em P Ns lace
)
です。
.Em P Ns lacce
) です。
.Sh 関連項目
.Xr math 3
.Pp
.Sh 規格
.Nm sqrt
関数は
.St -ansiC
準拠しています。
.Fn sqrt
関数は
.St -isoC
適合しています。
.Sh 歴史
.Fn cbrt
関数は
関数は
.Bx 4.3
で現れました。
で登場しました。

View file

@ -32,6 +32,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strcasecmp.3 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/string/strcasecmp.3,v 1.6.2.1 2000/04/22 17:06:39 phantom Exp %
.\"
.\" $FreeBSD$
.\"
@ -42,6 +43,8 @@
.Nm strcasecmp ,
.Nm strncasecmp
.Nd 大文字小文字を無視した文字列の比較
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft int
@ -52,7 +55,7 @@
.Fn strcasecmp
および
.Fn strncasecmp
関数は、ル文字で終了する文字列
関数は、ル文字で終了する文字列
.Fa s1
および
.Fa s2
@ -60,14 +63,14 @@
.Fa s1
.Fa s2
よりも辞書学的に大きいか、等しいか、あるいは小さいかに応じて、
よりも辞書式順序で大きいか、等しいか、あるいは小さいかに応じて、
それぞれ、0 より大きい、0 に等しい、
あるいは 0 より小さい整数を返します。
文字列自体は修正されません。比較は、
.Sq Li \e200
.Ql \e0
よりも大きくなるように、符号なしキャラクタを使って行います。
よりも大きくなるように、unsigned char を使って行います。
.Pp
.Fn strncasecmp
は、最大で
@ -78,11 +81,12 @@
.Xr memcmp 3 ,
.Xr strcmp 3 ,
.Xr strcoll 3 ,
.Xr strxfrm 3
.Xr strxfrm 3 ,
.Xr tolower 3
.Sh 歴史
.Fn strcasecmp
および
.Fn strncasecmp
関数は、最初に
関数は、
.Bx 4.4
に現れました。
ではじめて登場しました。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strcat.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strcat.3,v 1.5.2.2 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -43,6 +44,8 @@
.Sh 名称
.Nm strcat
.Nd 文字列の連結
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -53,9 +56,9 @@
.Fn strcat
および
.Fn strncat
関数は、ル文字で終了する文字列
関数は、ル文字で終了する文字列
.Fa append
ル文字で終了する文字列
ル文字で終了する文字列
.Fa s
の終わりに追加し、次に終端の
.Ql \e0
@ -83,11 +86,13 @@
.Xr memccpy 3 ,
.Xr memcpy 3 ,
.Xr memmove 3 ,
.Xr strcpy 3
.Xr strcpy 3 ,
.Xr strlcat 3 ,
.Xr strlcpy 3
.Sh 規格
.Fn strcat
および
.Fn strncat
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strchr.3 8.2 (Berkeley) 4/19/94
.\" %FreeBSD: src/lib/libc/string/strchr.3,v 1.4.2.3 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -43,6 +44,8 @@
.Sh 名称
.Nm strchr
.Nd 文字列中の文字を検索
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -53,7 +56,7 @@
.Ar s
によって指される文字列の中で最初に出会う文字
.Ar c
を見つけます。終端のル文字は、文字列の一部とみなします。
を見つけます。終端のル文字は、文字列の一部とみなします。
.Fa c
.Ql \e0
@ -66,11 +69,9 @@
関数
.Fn strchr
は、見つけた文字へのポインタか、
または文字が文字列中に見つからない場合はヌルを返します。
または文字が文字列中に見つからない場合は NULL を返します。
.Sh 参照
.Xr index 3 ,
.Xr memchr 3 ,
.Xr rindex 3 ,
.Xr strcspn 3 ,
.Xr strpbrk 3 ,
.Xr strrchr 3 ,
@ -81,5 +82,5 @@
.Sh 規格
.Fn strchr
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,9 +34,10 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strcmp.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strcmp.3,v 1.6.2.2 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
,\"
.\"
.Dd June 4, 1993
.Dt STRCMP 3
.Os
@ -44,6 +45,8 @@
.Nm strcmp ,
.Nm strncmp ,
.Nd 文字列の比較
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft int
@ -54,11 +57,11 @@
.Fn strcmp
および
.Fn strncmp
関数は、ル文字で終了する文字列
関数は、ル文字で終了する文字列
.Fa s1
および
.Fa s2
を辞書学的に比較します。
を辞書式順序で比較します。
.Sh 戻り値
.Fn strcmp
および
@ -73,7 +76,7 @@
.Ql \e200
.Ql \e0
よりも大きくなるように、符号なしキャラクタを使って行います。
よりも大きくなるように、unsigned char を使って行います。
.Pp
.Fn strncmp
は、
@ -90,5 +93,5 @@
および
.Fn strncmp
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strcoll.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strcoll.3,v 1.8.2.2 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -43,18 +44,20 @@
.Sh 名称
.Nm strcoll
.Nd 現在の照合に従って文字列を比較
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft int
.Fn strcoll "const char *s1" "const char *s2"
.Sh 解説
.Fn strcoll
関数は、ル文字で終了する文字列
関数は、ル文字で終了する文字列
.Fa s1
.Fa s2
を現在のロケールの照合とするものがあれば、
それに従って辞書学的に比較し、ない場合には
を現在ロケールにおいて照合とするものがあれば、
それに従って辞書式順序で比較し、ない場合には
.Fa strcmp
を呼び出して、
.Fa s1
@ -69,5 +72,5 @@
.Sh 規格
.Fn strcoll
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strcpy.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strcpy.3,v 1.4.2.2 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -43,6 +44,8 @@
.Sh 名称
.Nm strcpy
.Nd 文字列のコピー
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -78,7 +81,7 @@
.Fa len
文字以上である場合は、
.Fa dst
を終端しません。
を終了させません。
.Sh 戻り値
.Fn strcpy
および
@ -96,7 +99,7 @@
(void)strncpy(chararray, "abc", 6).
.Ed
.Pp
次の行は
次の行は、
.Dq Li chararray
.Dq Li abcdef
@ -108,11 +111,12 @@
.Xr bcopy 3 ,
.Xr memccpy 3 ,
.Xr memcpy 3 ,
.Xr memmove 3
.Xr memmove 3 ,
.Xr strlcpy 3
.Sh 規格
.Fn strcpy
および
.Fn strncpy
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strcspn.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strcspn.3,v 1.3.2.3 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -42,29 +43,33 @@
.Os
.Sh 名称
.Nm strcspn
.Nd 文字列の補集合をスパン
.Nd 文字列の補集合の長さを測る
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft size_t
.Fn strcspn "const char *s" "const char *charset"
.Sh 解説
.Fn strcspn
関数は、ル文字で終了する文字列
関数は、ル文字で終了する文字列
.Fa s
の文字が文字列
から文字列
.Fa charset
の中に現れるまで、その文字列の最初の部分をスパンします
にない文字列の長さだけ
.Fa s
の最初の部分の長さを測ります
.Fa ( charset
の補集合をスパンします)。
.Em 補集合
の長さを測ります)。
.Pp
.Sh 戻り値
.Fn strcspn
関数はスパンされた文字の数を返します。
関数は測られた文字の数を返します。
.Pp
.Sh 参照
.Xr index 3 ,
.Xr memchr 3 ,
.Xr rindex 3 ,
.Xr strchr 3 ,
.Xr strpbrk 3 ,
.Xr strrchr 3 ,
@ -75,5 +80,5 @@
.Sh 規格
.Fn strcspn
関数は
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strdup.3 8.1 (Berkeley) 6/9/93
.\" %Id: strdup.3,v 1.6 1997/02/22 15:03:27 peter Exp %
.\" %FreeBSD: src/lib/libc/string/strdup.3,v 1.7.2.1 2000/04/22 17:06:40 phantom Exp %
.\"
.\" $FreeBSD$
.\"
@ -40,25 +40,27 @@
.Sh 名称
.Nm strdup
.Nd 文字列のコピーを保存
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Fd #include
.Ft char *
.Fn strdup "const char *str"
.Sh 解説
.Fn strdup
関数は、文字列
.Fa str
のコピーのために十分なメモリを割り振り、コピーを行い、
コピーへのポインタを返します。ポインタはその後に関数
のコピーのために十分なメモリを割り当て、コピーを行い、
コピーへのポインタを返します。ポインタは後で関数
.Xr free 3
の引数として使うことができます
の引数として使ってください
.Pp
十分なメモリが使用できない場合は、ヌルを返します。
利用可能なメモリが十分ではない場合、NULL を返します。
.Sh 参照
.Xr free 3 ,
.Xr malloc 3
.Sh 歴史
.Fn strdup
関数は最初に
関数は
.Bx 4.4
に現れました。
ではじめて登場しました。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strerror.3 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/string/strerror.3,v 1.7.2.3 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -46,12 +47,14 @@
.Nm sys_errlist ,
.Nm sys_nerr
.Nd システムのエラーメッセージ
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdio.h>
.Ft void
.Fn perror "const char *string"
.Vt extern const char * const sys_errlist[];
.Vt extern const int sys_nerr;
.Vt extern const char * const sys_errlist[] ;
.Vt extern const int sys_nerr ;
.Fd #include <string.h>
.Ft char *
.Fn strerror "int errnum"
@ -73,16 +76,16 @@
の現在の値に対応するエラーメッセージを探して、
それに改行をつけて標準エラーファイル記述子に書込みます。引数
.Fa string
が非ヌルであり、ル文字を指さない場合は、
が非ヌルであり、ル文字を指さない場合は、
この文字列はメッセージ文字列の前にコロンとスペース
.Pq Ql \&:\ \&
.Pq Ql \&:\ \& ;
で区切って追加されます。
それ以外の場合は、エラーメッセージ文字列のみが印字されます。
.Pp
.Fa errnum
がエラー番号として認識できない場合は、
エラーメッセージ文字列は
.Dq Li "Unknown error:\0
.Dq Li "Unknown error:\ "
の後に 10 進数のエラー番号が続いたものとなります。
.Pp
メッセージ文字列には、外部配列
@ -92,7 +95,7 @@
には
.Va sys_errlist
の中にあるメッセージのカウントが入っています。
これらの変数を使用することには賛成できません。代りに、
これらの変数を使用することには賛成できません。代りに、
.Fn strerror
を使った方がよいでしょう。
.Sh 参照
@ -102,9 +105,9 @@
.Fn strerror
および
.Fn perror
関数は、最初に
関数は、
.Bx 4.4
に現れました。
で初めて登場しました。
.Sh バグ
認識できないエラー番号に対しては、
.Fn strerror

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strftime.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdtime/strftime.3,v 1.18.2.6 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -43,6 +44,8 @@
.Sh 名称
.Nm strftime
.Nd 日付と時間をフォーマット
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <time.h>
.Ft size_t
@ -58,53 +61,58 @@
にフォーマットします。
.Pp
.Fa format
文字列は、ゼロ以上の変換仕様および通常の文字から構成されます。
文字列は、0 以上の変換指定および通常の文字から構成されます。
すべての通常文字は、直接バッファにコピーされます。
変換仕様は、パーセント記号
変換指定は、パーセント記号
.Dq Ql %
ともう 1 つの文字から構成されます。
.Pp
配列には
.Fa maxsize
個を超えない文字が置かれます。
結果として生じる文字の総数が終端のル文字を含めて
結果として生じる文字の総数が終端のル文字を含めて
.Fa maxsize
を超えない場合は、
.Fn strftime
は終端のルを数えないで配列中の文字数を返します。
それ以外の場合はゼロを返し、バッファの内容は不定になります。
は終端のルを数えないで配列中の文字数を返します。
それ以外の場合は 0 を返し、バッファの内容は不定になります。
.Pp
変換仕様は、以下に示すような形で展開した後バッファにコピーされます :
変換指定は、以下に示すような形で展開した後バッファにコピーされます :
.Bl -tag -width "xxxx"
.It Cm \&%A
全国標準の完全な曜日名で置き換えられます。
各国の表現で完全な曜日名で置き換えられます。
.It Cm %a
全国標準の省略した曜日名で置き換えられます。
ここで略称は最初の 3 文字です。
各国の表現で省略した曜日名で置き換えられます。
ここで略称は最初の 3 文字です。
.It Cm \&%B
全国標準の完全な月名で置き換えられます。
各国の表現で完全な月名で置き換えられます。
.It Cm %b
全国標準の省略した月名で置き換えられます。
ここで略称は最初の 3 文字です。
各国の表現で省略した月名で置き換えられます。
ここで略称は最初の 3 文字です。
.It Cm \&%C
(西暦年 / 100) の 10 進数で置き換えられます。
1 桁の数字の前には 0 が付きます。
.It Cm %c
全国標準の時刻と日付で置き換えられます
(フォーマットは
.Xr asctime 3
によって作られるものと同じです)。
各国の表現で時刻と日付で置き換えられます
フォーマットは
.Xr ctime 3
または "%a %Ef %T %Y" と同等です。
これはまた、"3+1+6+1+8+1+4" の出力フォーマットを意味します。
.It Cm \&%D
.Dq Li %m/%d/%y
と同等です。
.It Cm %d
日を示す 10 進数 (01-31) で置き換えられます。
.It Cm \&%E*
POSIX の地域拡張です。
%Ec %EC %Ex %Ey %EY
.It Cm \&%E* Cm \&%O*
POSIX のロケール拡張です。
%Ec %EC %Ex %EX %Ey %EY
%Od %Oe %OH %OI %Om %OM
%OS %Ou %OU %OV %Ow %OW %Oy
というシーケンスは、代替的な表現を与えるものと見なされます。
というシーケンスは、代替的な表現を与えるものとなっています。
.Pp
加えて %Ef は月名と日の短い表現を、
%EF は月名と日の長い表現を、
%OB は代替的な月名の表現 (日を出さず、単独で使われる場合) が実装されています。
.It Cm %e
日を示す 10 進数 (1-31) で置き換えられます。
1 桁の数字の前には空白が付きます。
@ -116,18 +124,18 @@ POSIX
.Dq Li %G
と同じ年ですが、百年紀なしの 10 進数 (00-99) で置き換えられます。
.It Cm \&%H
(24 時間時計で) 時間を示す 10 進数 (00-23) で置き換えられます。
(24 時間単位で) 時間を示す 10 進数 (00-23) で置き換えられます。
.It Cm %h
%b と同じです。
.It Cm \&%I
(12 時間時計で) 時間を示す 10 進数 (01-12) で置き換えられます。
(12 時間単位で) 時間を示す 10 進数 (01-12) で置き換えられます。
.It Cm %j
1 年の日を示す 10 進数 (001-366) で置き換えられます。
.It Cm %k
(24 時間時計で) 時間を示す 10 進数 (0-23) で置き換えられます。
(24 時間単位で) 時間を示す 10 進数 (0-23) で置き換えられます。
1 桁の数字の前には空白が付きます。
.It Cm %l
(12 時間時計で) 時間を示す 10 進数 (1-12) で置き換えられます。
(12 時間単位で) 時間を示す 10 進数 (1-12) で置き換えられます。
1 桁の数字の前には空白が付きます。
.It Cm \&%M
分を示す 10 進数 (00-59) で置き換えられます。
@ -138,8 +146,8 @@ POSIX
.It Cm \&%O*
%E* と同じです。
.It Cm %p
全国標準の "午前" または "午後" 表示
いずれか該当する表示で置き換えられます。
各国の表現で "午前" または "午後"
いずれか適切な表示に置き換えられます。
.It Cm \&%R
.Dq Li %H:%M
と同等です。
@ -149,7 +157,7 @@ POSIX
.It Cm \&%S
秒を示す 10 進数 (00-60) で置き換えられます。
.It Cm %s
世界標準時基準時点からの秒数で置き換えられます
UTC での基準時点からの秒数で置き換えられます
.Xr (mktime 3
参照) 。
.It Cm \&%T
@ -180,17 +188,22 @@ POSIX
1 週のうちの日 (日曜日を週の最初の日として) を示す
10 進数 (0-6) で置き換えられます。
.It Cm \&%X
全国標準の時刻で置き換えられます。
各国の表現で時刻で置き換えられます。
.It Cm %x
全国標準の日付で置き換えられます。
各国の表現で日付で置き換えられます。
.It Cm \&%Y
百年紀付きの年を示す 10 進数で置き換えられます。
.It Cm %y
百年紀なしの年を示す 10 進数 (00-99) で置き換えられます。
.It Cm \&%Z
時間帯名で置き換えられます。
.It Cm \&%z
UTC からの時間帯のオフセットで置き換えられます。
先頭にプラス符号が付いている場合は UTC よりも東を、
マイナス符号が付いている場合には UTC よりも西を指し、
時間と分で 2 桁毎の数字で表し、これらをデリミタで分けません (RFC 822 データヘッダ共通形式)。
.It Cm %+
全国標準の日付と時刻を示すもので置き換えられます
各国の表現で日付と時刻を示すもので置き換えられます
(フォーマットは
.Xr date 1
によって作成されるものと同じです)。
@ -208,7 +221,7 @@ POSIX
.Fn strftime
関数は、
.Ql %C ,
.Ql %D ,
.Ql \&%D ,
.Ql %E* ,
.Ql %e ,
.Ql %G ,
@ -225,11 +238,12 @@ POSIX
.Ql %t ,
.Ql %u ,
.Ql \&%V ,
.Ql %+
.Ql %z ,
.Ql %+ .
などを含む多くの拡張を含めて、
.St -ansiC
準拠しています。
.St -isoC
適合しています。
.Pp
.Ql %G ,
.Ql %g ,
および
@ -237,4 +251,4 @@ POSIX
の置き換えにおける特殊な週数および年数は、
ISO 8601: 1988 に定義されています。
.Sh バグ
月の象に関する変換仕様は備えていません。
月の象に関する変換指定は備えていません。

View file

@ -32,6 +32,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)string.3 8.2 (Berkeley) 12/11/93
.\" %FreeBSD: src/lib/libc/string/string.3,v 1.6.2.2 2001/03/06 16:46:04 ru Exp %
.\" %Id: string.3,v 1.5 1997/02/22 15:03:29 peter Exp %
.\"
.\" $FreeBSD$
@ -61,6 +62,8 @@
.Nm index ,
.Nm rindex
.Nd 文字列に特有の関数
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -107,8 +110,8 @@
これらの文字列関数は、ヌルバイトで終了する文字列を操作します。
.Pp
詳しくは、個々の関数についてのマニュアルページを参照してください。
可変長の汎用オブジェクトをバイト文字
(ヌルバイトのチェックなしに) として操作することについては、
可変長の汎用オブジェクトを (ヌルバイトのチェックなしの) バイト列
として操作することについては、
.Xr bstring 3
を参照してください。
.Pp
@ -151,6 +154,5 @@
および
.Fn strtok
関数は、
.St -ansiC
準拠しています。
.St -isoC
に適合しています。

View file

@ -33,6 +33,8 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/gen/stringlist.3,v 1.3.2.2 2001/03/06 16:45:54 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd February 24, 1997
@ -45,6 +47,8 @@
.Nm sl_free ,
.Nm sl_find
.Nd 文字列リスト操作関数
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stringlist.h>
.Ft StringList *
@ -95,7 +99,7 @@ typedef struct _stringlist {
.Ar sl->sl_str
配列が占有するメモリを解放します。
.Ar freeall
が非ゼロの場合は、
が非 0 の場合は、
.Ar sl->sl_str
の中の項目も解放されます。
.It Fn sl_add
@ -111,7 +115,7 @@ typedef struct _stringlist {
.Ar sl
の中の
.Ar item
を探し、見つからない場合はヌルを返します。
を探し、見つからない場合は NULL を返します。
.Sh 参照
.Xr free 3 ,
.Xr malloc 3

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strlen.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strlen.3,v 1.3.2.2 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.\"
@ -43,6 +44,8 @@
.Sh 名称
.Nm strlen
.Nd 文字列の長さを測定
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft size_t
@ -54,11 +57,11 @@
の長さを計算します。
.Sh 戻り値
.Fn strlen
関数は、終端のナル文字以前の文字数を返します。
関数は、終端のヌル文字を含まない文字数を返します。
.Sh 参照
.Xr string 3
.Sh 規格
.Fn strlen
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strmode.3 8.3 (Berkeley) 7/28/94
.\" %FreeBSD: src/lib/libc/string/strmode.3,v 1.6.2.1 2000/04/22 17:06:40 phantom Exp %
.\"
.\" $FreeBSD$
.\"
@ -39,6 +40,8 @@
.Sh 名称
.Nm strmode
.Nd inode ステータス情報をシンボル文字列に変換
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft void
@ -47,12 +50,12 @@
.Fn strmode
関数は、ファイル
.Fa mode
(inode に結合されるタイプと許可の情報については、
(inode に結合されるタイプとパーミッションの情報については、
.Xr stat 2
を参照) をシンボル文字列に変換し、それを
.Fa bp
で参照される場所に保存します。
保存されるこの文字列は、長さが 11 文字で最後にル文字が付きます。
保存されるこの文字列は、長さが 11 文字で最後にル文字が付きます。
.Pp
最初の文字は inode タイプで、次のいずれかになります :
.Pp
@ -62,7 +65,7 @@
.It b
ブロック型特殊ファイル
.It c
キャラクタ型特殊ファイル
文字型特殊ファイル
.It d
ディレクトリ
.It l
@ -77,62 +80,62 @@ whiteout
未知の inode タイプ
.El
.Pp
次に続く 9 つの文字は、3 文字毎に 3 つの許可セットをコード化します。
最初の 3 つの文字はファイル所有者のための許可で、
次に続く 9 つの文字は、3 文字毎に 3 つのパーミッションセットをコード化します。
最初の 3 つの文字はファイル所有者のためのパーミッションで、
2 番目の 3 文字はファイルが所属するグループのためのもの、
そして 3 番目の 3 文字は
``その他'' またはデフォルトのユーザセット用です。
``他'' またはデフォルトのユーザセット用です。
.Pp
許可チェックは、できる限り明確に限定して行われます。
最初の許可セットでファイルの所有者に対して
パーミッションチェックは、できる限り明確に限定して行われます。
最初のパーミッションセットでファイルの所有者に対して
読み取り許可が拒否された場合は、
ファイルの所有者はそのファイルを読み取ることができません。
このことは、その所有者がファイルのグループに入っており、
そのグループ許可によって読み取り許可が与えられている場合、
または読み取りを許可する ``その他'' の許可
そのグループパーミッションによって読み取り許可が与えられている場合、
または読み取りを許可する ``他者'' のパーミッション
与えられている場合でも当てはまります。
.Pp
3 文字セットの最初の文字が ``r'' である場合は、
そのファイルはそのユーザセットに対して読み取り可能です。
そのファイルはそのユーザセットに対して読み取り可能です。
文字がダッシュ ``\-'' 場合は、読み取りできません。
.Pp
3 文字セットの 2 番目の文字が ``w'' である場合は、
そのファイルはそのユーザセットに対して書込み可能です。
文字がダッシュ ``\-'' である場合は、書込みできません。
そのファイルはそのユーザセットに対して書込み可能です。
文字がダッシュ ``\-'' である場合は、書込みできません。
.Pp
3 番目の文字は、次の該当する文字です :
.Bl -tag -width xxxx
.It S
キャラクタが所有者許可の一部であり、
文字が所有者パーミッションの一部であり、
ファイルが実行可能ではないか、
またはディレクトリが所有者によって検索可能ではなく、
set-user-id ビットが設定されている場合。
.It S
キャラクタがグループ許可の一部であり、
文字がグループパーミッションの一部であり、
ファイルが実行可能ではないか、
またはディレクトリがグループによって検索可能ではなく、
set-group-id ビットが設定されている場合。
.It T
キャラクタがその他の許可の一部であり、
文字が他者のパーミッションの一部であり、
ファイルが実行可能ではないか、
またはディレクトリがその他のものによって検索可能ではなく、
またはディレクトリが他のものによって検索可能ではなく、
``sticky''
.Pq Dv S_ISVTX
ビットが設定されている場合。
.It s
キャラクタが所有者許可の一部であり、
文字が所有者パーミッションの一部であり、
ファイルが実行可能であるか、
またはディレクトリが所有者によって検索可能であり、
set-user-id ビットが設定されている場合。
.It s
キャラクタがグループ許可の一部であり、
文字がグループパーミッションの一部であり、
ファイルが実行可能であるか、
またはディレクトリがグループによって検索可能であり、
set-group-id ビットが設定されている場合。
.It t
キャラクタがその他の許可の一部であり、
文字が他者のパーミッションの一部であり、
ファイルが実行可能であるか、
またはディレクトリがその他のものによって検索可能であり、
またはディレクトリが他のものによって検索可能であり、
``sticky''
.Pq Dv S_ISVTX
ビットが設定されている場合。
@ -157,6 +160,6 @@ inode
.Xr setmode 3
.Sh 歴史
.Fn strmode
関数は最初
関数は
.Bx 4.4
に現れました。
で初めて登場しました。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strpbrk.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strpbrk.3,v 1.3.2.3 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -42,6 +43,8 @@
.Sh 名称
.Nm strpbrk
.Nd 複数の文字について文字列の中の位置を探す
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -51,7 +54,7 @@
関数は、文字列
.Fa charset
のうちのいずれかの文字が、
ヌルで終端された文字列
ヌル文字で終了する文字列
.Fa s
の中に最初に出現する位置を探し、
その文字へのポインタを返します。
@ -62,9 +65,7 @@
.Fn strpbrk
は NULL を返します。
.Sh 参照
.Xr index 3 ,
.Xr memchr 3 ,
.Xr rindex 3 ,
.Xr strchr 3 ,
.Xr strcspn 3 ,
.Xr strrchr 3 ,
@ -75,5 +76,5 @@
.Sh 規格
.Fn strpbrk
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -23,7 +23,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %Id: strptime.3,v 1.2 1998/09/12 21:13:29 dt Exp %
.\" %FreeBSD: src/lib/libc/stdtime/strptime.3,v 1.9.2.3 2000/12/29 14:44:51 ru Exp %
.\" "
.\" $FreeBSD$
.Dd May 8, 1997
@ -32,6 +32,8 @@
.Sh 名称
.Nm strptime
.Nd 日付および時刻を表す文字列を解釈する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <time.h>
.Ft char *
@ -45,24 +47,42 @@
で示される文字列に従って解釈し、
.Fa timeptr
が指す構造体の要素に入れます。
.\" The resulting values will be relative to the local time zone.
この結果は地域時間に適切に合わされます。
したがって、これは
.Xr strftime 3
の逆方向の操作と考えることができます。
.Pp
.Fa format
文字列は、ゼロ以上の変換則と通常文字からなります。
文字列は、 0 以上の変換則と通常文字からなります。
すべての通常文字は、バッファと厳密にマッチされます。
そして、フォーマット文字列の空白文字は
バッファ中の任意の数の空白文字とマッチします。
すべての変換則は、
.Xr strftime 3
に記述したものと同じです。
.\".Pp
.\"Two-digit year values, including formats
.\".Fa %y
.\"and
.\".Fa \&%D ,
.\"are now interpreted as beginning at 1969 per POSIX requirements.
.\"Years 69-00 are interpreted in the 20th century (1969-2000), years
.\"01-68 in the 21st century (2001-2068).
.Pp
形式に含まれる
.Fa %y
で示される 2 桁の年の値、および
.Fa \&%D
は、 POSIX 要求仕様によって 1969 年から始まるように解釈されます。
年が 69-00 の場合は 20 世紀 (1969-2000) と、
年が 01-68 の場合は 21 世紀 (2001-2068) と解釈されます。
.Sh 戻り値
成功して終了した場合、
.Fn strptime
.Fa format
中の変換則を満足させるためには要求されなかった、
中の変換指定を満たすためには必要とされなかった
.Fa buf
中の最初の文字へのポインタを返します。
変換が一つでも失敗した場合は
@ -79,11 +99,98 @@ Powerdog Industries
によって寄贈されました。
.Pp
このマニュアルページは、
.ie t J\(:org Wunsch
.el Joerg Wunsch
.An J\(:org Wunsch .
によって書かれました。
.Sh 歴史
.Fn strptime
関数は
関数は
.Fx 3.0
に現れました。
で登場しました。
.\".Pp
.\".Sh BUGS
.\"Both the
.\".Fa %e
.\"and
.\".Fa %l
.\"format specifiers may incorrectly scan one too many digits
.\"if the intended values comprise only a single digit
.\"and that digit is followed immediately by another digit.
.\"Both specifiers accept zero-padded values,
.\"even though they are both defined as taking unpadded values.
.Pp
.Sh バグ
変換形式
.Fa %e
.Fa %l
の両方は
もし意図された値が一桁の数値だけで成り、
かつその数値にすぐに続けて他の整数が続く場合、
一桁を越えて不正確なスキャンを行います。
これらの変換形式には、たとえ詰めていない値を取得する場合でも
0 詰めした値を渡してください。
.\".Pp
.\"The
.\".Fa %p
.\"format specifier has no effect unless it is parsed
.\".Em after
.\"hour-related specifiers.
.\"Specifying
.\".Fa %l
.\"without
.\".Fa %p
.\"will produce undefined results.
.\"Note that 12AM
.\".Pq ante meridiem
.\"is taken as midnight
.\"and 12PM
.\".Pq post meridiem
.\"is taken as noon.
.Pp
変換形式
.Fa %p
は時間を示す変換形式が解析された
.Em
でないと意味を持ちません。
変換形式
.Fa %l
.Fa %p
が無いと未定義の結果を作り出します。
注 12AM
.Pq 午前
は深夜を指し、12PM
.Pq 午後
は正午を指します。
.\".Pp
.\"The
.\".Fa %U
.\"and
.\".Fa %W
.\"format specifiers accept any value within the range 00 to 53
.\"without validating against other values supplied (like month
.\"or day of the year, for example).
.Pp
変換仕様
.Fa %U
.Fa %W
は他の値 (例えば年の中の月や日など) を取得する場合とは対照に、
正当性の検査なしに 00 から 53 の範囲の中での値を受け付けます。
.\".Pp
.\"The
.\".Fa %Z
.\"format specifier only accepts time zone abbreviations of the local time zone,
.\"or the value "GMT".
.\"This limitation is because of ambiguity due to of the over loading of time
.\"zone abbreviations. One such example is
.\".Fa EST
.\"which is both Eastern Standard Time and Eastern Australia Summer Time.
.Pp
変換仕様
.Fa %Z
は時間帯として省略された地域時間か "GMT" のみを受け付けます。
この制限は多義的な時間帯の省略がオーバロードされる場合に影響します。
たとえば一つの例として
.Fa EST
は東部標準時と東部オーストラリア夏時間が挙げられます。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strrchr.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strrchr.3,v 1.5.2.3 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -42,6 +43,8 @@
.Sh 名称
.Nm strrchr
.Nd 文字列中での文字の位置を探す
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -68,11 +71,9 @@
.Fa s
中のどこにも
.Fa c
が出現しない場合は null ポインタを返します。
が出現しない場合は NULL ポインタを返します。
.Sh 参照
.Xr index 3 ,
.Xr memchr 3 ,
.Xr rindex 3 ,
.Xr strchr 3 ,
.Xr strcspn 3 ,
.Xr strpbrk 3 ,
@ -83,5 +84,5 @@
.Sh 規格
.Fn strrchr
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -33,6 +33,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strsep.3 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/string/strsep.3,v 1.6.2.4 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 9, 1993
@ -41,6 +42,8 @@
.Sh 名称
.Nm strsep
.Nd 文字列の分割
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -93,6 +96,15 @@ for (ap = argv; (*ap = strsep(&inputstring, " \et")) != NULL;)
if (++ap >= &argv[10])
break;
.Ed
.Sh 参照
.Xr memchr 3 ,
.Xr strchr 3 ,
.Xr strcspn 3 ,
.Xr strpbrk 3 ,
.Xr strrchr 3 ,
.Xr strspn 3 ,
.Xr strstr 3 ,
.Xr strtok 3
.Sh 歴史
.Fn strsep
関数は、
@ -100,12 +112,12 @@ for (ap = argv; (*ap = strsep(&inputstring, " \et")) != NULL;)
関数を置き換えるものとして考えられています。
.Fn strtok
関数は移植性の点では好ましいのですが (
.St -ansiC
準拠しています ) 、
.St -isoC
適合しています ) 、
空のフィールドを扱う、すなわち、
2 つの隣接する区切り文字によって区切られたフィールドを検出するとか、
一回で複数の文字列に対して使用する、といったことができません。
.Fn strsep
関数は、最初に
関数は、
.Bx 4.4
に現れました。
で初めて登場しました。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strspn.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strspn.3,v 1.4.2.3 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -42,13 +43,15 @@
.Sh 名称
.Nm strspn
.Nd 文字列を測る
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft size_t
.Fn strspn "const char *s" "const char *charset"
.Sh 解説
.Fn strspn
関数は、ヌルで終端された文字列
関数は、ヌル文字で終了する文字列
.Fa s
について、
.Fa s
@ -58,11 +61,9 @@
最初の区間の長さを測ります。
.Sh 戻り値
.Fn strspn
関数は、測定された文字数を返します。
関数は、測れた文字数を返します。
.Sh 参照
.Xr index 3 ,
.Xr memchr 3 ,
.Xr rindex 3 ,
.Xr strchr 3 ,
.Xr strcspn 3 ,
.Xr strpbrk 3 ,
@ -73,5 +74,5 @@
.Sh 規格
.Fn strspn
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strstr.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/string/strstr.3,v 1.3.2.3 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -42,16 +43,18 @@
.Sh 名称
.Nm strstr
.Nd 文字列中の部分文字列の位置を探す
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
.Fn strstr "const char *big" "const char *little"
.Sh 解説
.Fn strstr
関数は、ヌルで終端された文字列
関数は、ヌル文字で終了する文字列
.Fa big
中で、
ヌルで終端された文字列
ヌル文字で終了する文字列
.Fa little
が最初に出現する位置を探します。
.Fa little
@ -72,9 +75,7 @@
.Fa little
の最初の文字へのポインタを返します。
.Sh 参照
.Xr index 3 ,
.Xr memchr 3 ,
.Xr rindex 3 ,
.Xr strchr 3 ,
.Xr strcspn 3 ,
.Xr strpbrk 3 ,
@ -85,5 +86,5 @@
.Sh 規格
.Fn strstr
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strtod.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/strtod.3,v 1.4.2.5 2001/03/06 16:46:02 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -41,9 +42,11 @@
.Os
.Sh 名称
.Nm strtod
.Nd
.Nd
.Tn ASCII
文字列を double に変換
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Ft double
@ -58,14 +61,14 @@
.Pp
文字列に想定される形は、
オプションのプラス (``+'') またはマイナス (``\-'') 記号、
続いて数字の並び ( これはオプションで小数点文字を含みます ) 、
続いて数字の並び (これはオプションで小数点文字を含みます) 、
オプションで指数が続くというものです。
指数は、 ``E'' または ``e'' に
オプションでプラスまたはマイナス記号が続いて、
さらに数字の並びが続くという形です。
.Pp
文字列の先頭の空白文字 (
.Xr isspace 3
文字列の先頭の空白文字
.Xr (isspace 3
関数により定義されるような) はスキップします。
.Sh 戻り値
.Fn strtod
@ -78,30 +81,31 @@
.Fa endptr
により参照される場所に格納されます。
.Pp
変換が行われなかった場合はゼロが返され、
変換が行われなかった場合は 0 が返され、
.Fa nptr
の値は
.Fa endptr
によって参照される場所に格納されます。
.Pp
正しい値がオーバーフローとなると思われるときは、
( その値の符号にしたがって ) プラスまたはマイナスの
(その値の符号にしたがって) プラスまたはマイナスの
.Dv HUGE_VAL
が返され、
.Dv ERANGE
.Er ERANGE
.Va errno
に保存されます。
正しい値がアンダーフローとなると思われるときは、
ゼロが返され、
.Dv ERANGE
0 が返され、
.Er ERANGE
.Va errno
に保存されます。
.Sh エラー
.Bl -tag -width [ERANGE]
.Bl -tag -width Er
.It Bq Er ERANGE
オーバーフローまたはアンダーフローが起きました。
.El
.Sh 参照
.Xr atof 3 ,
.Xr atoi 3 ,
@ -111,8 +115,8 @@
.Sh 規格
.Fn strtod
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。
.Sh 作者
このソフトウェアの作者は
.An David M. Gay

View file

@ -48,14 +48,17 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strtok.3 8.2 (Berkeley) 2/3/94
.\" %FreeBSD: src/lib/libc/string/strtok.3,v 1.10.2.5 2001/03/06 16:46:04 ru Exp %
.\"
.\" $FreeBSD$
.Dd November 27, 1998
.Dt STRTOK 3
.Os FreeBSD 3.0
.Os FreeBSD
.Sh 名称
.Nm strtok, strtok_r
.Nm strtok , strtok_r
.Nd 文字列のトークン
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <string.h>
.Ft char *
@ -81,11 +84,18 @@
を指定する必要があります。
同じ文字列からさらにトークンを取得するために
続いて呼び出すときには、
りにヌルポインタを渡す必要があります。
わりに空ポインタを渡す必要があります。
セパレータ文字列
.Fa sep
は毎回与えなければなりませんが、
呼び出しのたびに変更しても構いません。
.\".Pp
.\"The implementation will behave as if no library function calls
.\".Fn strtok .
.Pp
ライブラリは、実装上、他のライブラリ関数が
.Fn strtok
を呼び出したりしないかのように動作します。
.Pp
.Fn strtok_r
関数は
@ -96,16 +106,14 @@
は、呼び出し毎に与えなければなりません。
.Fn strtok_r
は、別々のコンテキストポインタが使われている限りでは、
お互いの内部で 2 つのパースループをネストするためにも使えます。
お互いの内部で 2 つのパースループを入れ子にするためにも使えます。
.Pp
.Fn strtok
および
.Fn strtok_r
関数は、そのトークン自体を
.Dv NUL
文字で置き換えた後、
関数は、そのトークン自体をヌル文字で置き換えた後、
文字列の次のトークンの先頭へのポインタを返します。
トークンがなくなっると、ヌルポインタを返します。
トークンがなくなると、NULL ポインタを返します。
.Sh
次の例では、別々のコンテキストを使って 2 つの文字列を
パースするために
@ -113,10 +121,10 @@
を使っています:
.Bd -literal
char test[80], blah[80];
char *sep = "\\/:;=-";
char *sep = "\e\e/:;=-";
char *word, *phrase, *brkt, *brkb;
strcpy(test, "This;is.a:test:of=the/string\\tokenizer-function.");
strcpy(test, "This;is.a:test:of=the/string\e\etokenizer-function.");
for (word = strtok_r(test, sep, &brkt);
word;
@ -128,14 +136,12 @@ for (word = strtok_r(test, sep, &brkt);
phrase;
phrase = strtok_r(NULL, sep, &brkb))
{
printf("So far we're at %s:%s\n", word, phrase);
printf("So far we're at %s:%s\en", word, phrase);
}
}
.Ed
.Sh 参照
.Xr index 3 ,
.Xr memchr 3 ,
.Xr rindex 3 ,
.Xr strchr 3 ,
.Xr strcspn 3 ,
.Xr strpbrk 3 ,
@ -146,14 +152,14 @@ for (word = strtok_r(test, sep, &brkt);
.Sh 規格
.Fn strtok
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。
.Sh バグ
System V の
.Fn strtok
は、区切り文字のみからなる文字列を渡された場合は、
次の開始点を変更しません。
異なる ( または空の ) 区切り文字列を使った
異なる (または空の) 区切り文字列を使った
.Fn strtok
の呼び出しで、
.Dv NULL
@ -163,7 +169,9 @@ System V
.Dv NULL
を返すことになります。
.Sh 作者
.An Wes Peters, Softweyr LLC: Aq wes@softweyr.com
.br
.An Wes Peters ,
Softweyr LLC:
.Aq wes@softweyr.com
.Pp
.Fx 3.0
での実装に基づきます。

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strtol.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/strtol.3,v 1.4.2.4 2001/03/02 09:45:20 obrien Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -41,13 +42,16 @@
.Os
.Sh 名称
.Nm strtol, strtoq
.Nd 文字列の数値を long または quad_t 整数に変換
.Nd 文字列の数値を long 値、long long 値または quad_t 値に変換
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Fd #include <limits.h>
.Ft long
.Fn strtol "const char *nptr" "char **endptr" "int base"
.Ft long long
.Fn strtoll "const char *nptr" "char **endptr" "int base"
.Fd #include <sys/types.h>
.Fd #include <stdlib.h>
.Fd #include <limits.h>
@ -60,6 +64,12 @@
にある文字列を
.Em long
値に変換します。
.Fn strtoll
関数は、
.Fa nptr
にある文字列を
.Em long long
値に変換します。
.Fn strtoq
関数は、
.Fa nptr
@ -74,43 +84,43 @@
の値は 2 から 36 の間か、
または特別な値である 0 でなければなりません。
.Pp
文字列は、任意の数の空白文字 (
.Xr isspace 3
により決められるような ) で始まり、
文字列は、任意の数の空白文字
.Xr (isspace 3
により決められるような) で始まり、
オプションで一つの
.Ql +
または
.Ql -
記号がそれに続きます。
.Fa base
ゼロか 16 のときは、文字列は接頭辞
0 か 16 のときは、文字列は接頭辞
.Ql 0x
を含むことができ、数字は基数を 16 として読み取られます。
そうでないときの、ゼロ
そうでないときの、0
.Fa base
では、その次の文字が
.Ql 0
でなければ
10 ( 10 進数 ) と見なされ、
10 (10 進数) と見なされ、
.Ql 0
であれば
8 ( 8 進数) と見なされます。
8 (8 進数) と見なされます。
.Pp
文字列の残りは、
与えられた基数では有効な数字ではない最初の文字のところで中止するという
わかりやすいやり方で
.Em long
値に変換されます。
( 10 以上の基数では、大文字または小文字の
(10 以上の基数では、大文字または小文字の
.Ql A
は 10 を、
.Ql B
は 11 を表し、
.Ql Z
は 35 を表します。 )
は 35 を表します。)
.Pp
.Fa endptr
nil ではない場合は、
空ポインタではない場合は、
.Fn strtol
は最初の無効な文字のアドレスを
.Fa *endptr
@ -122,7 +132,7 @@
の元の値を
.Fa *endptr
に格納します。
( 従って、戻ったときに
(従って、戻ったときに
.Fa *nptr
.Ql \e0
@ -131,7 +141,7 @@
.Ql \e0
である場合は、文字列全体が
有効だったことになります。 )
有効だったことになります。)
.Sh 戻り値
.Fn strtol
関数は、値がアンダーフローやオーバーフローを起こさない限り、
@ -144,13 +154,26 @@
.Fn strtol
.Dv LONG_MAX
を返します。いずれの場合も、
を返します。
.Fn strtoll
関数は、値がアンダーフローやオーバーフローを起こさない限り、
変換の結果を返します。
アンダーフローが起こった場合は、
.Fn strtoll
.Dv LLONG_MIN
を返します。オーバーフローが起こった場合は、
.Fn strtoll
.Dv LLONG_MAX
を返します。
全ての場合、
.Va errno
.Er ERANGE
に設定されます。
.Sh エラー
.Bl -tag -width [ERANGE]
.Bl -tag -width Er
.It Bq Er ERANGE
与えられた文字列が値域を超えました。
変換された値は固定されています。
@ -164,7 +187,14 @@
.Sh 規格
.Fn strtol
関数は、
.St -ansiC
に準拠しています。
.St -isoC
に適合しています。
.Fn strtoll
関数は、
.St -isoC-99
に適合しています。
.Bx
.Fn strtoq
関数は推奨されません。
.Sh バグ
現在のロケールを無視します。

View file

@ -34,20 +34,24 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strtoul.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/stdlib/strtoul.3,v 1.3.2.5 2001/03/02 09:45:20 obrien Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
.Dt STRTOUL 3
.Os
.Sh 名称
.Nm strtoul, strtouq
.Nd 文字列を unsigned long 値または uquad_t 値に変換
.Nm strtoul , strtoull , strtouq
.Nd 文字列を unsigned long 値、unsigned long long 値または uquad_t 値に変換
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.Fd #include <limits.h>
.Ft unsigned long
.Fn strtoul "const char *nptr" "char **endptr" "int base"
.Ft unsigned long long
.Fn strtoull "const char *nptr" "char **endptr" "int base"
.Fd #include <sys/types.h>
.Fd #include <stdlib.h>
.Fd #include <limits.h>
@ -59,8 +63,13 @@
.Fa nptr
にある文字列を
.Em unsigned long
値に
変換します。
値に変換します。
.Fn strtoull
関数は、
.Fa nptr
にある文字列を
.Em unsigned long long
値に変換します。
.Fn strtouq
関数は、
.Fa nptr
@ -75,43 +84,43 @@
の値は 2 から 36 の間か、
または特別な値である 0 でなければなりません。
.Pp
文字列は、任意の数の空白文字 (
.Xr isspace 3
により決められるような ) で始まり、
文字列は、任意の数の空白文字
.Xr (isspace 3
により決められるような) で始まり、
オプションで一つの
.Ql +
または
.Ql -
記号が続きます。
.Fa base
ゼロか 16 のとき、文字列は接頭辞
0 か 16 のとき、文字列は接頭辞
.Ql 0x
を含むことができ、数字は基数を 16 として読み取られます。
そうでないときの、ゼロ
そうでないときの、0
.Fa base
では、その次の文字が
.Ql 0
でなければ
10 ( 10 進数 ) と見なされ、
10 (10 進数) と見なされ、
.Ql 0
であれば
8 ( 8 進数 ) と見なされます。
8 (8 進数) と見なされます。
.Pp
文字列の残りは、
与えられた基数では有効な数字ではない最初の文字のところで中止するという
わかりやすいやり方で
.Em unsigned long
値に変換されます。
( 10 以上の基数では、大文字または小文字の
(10 以上の基数では、大文字または小文字の
.Ql A
は 10 を、
.Ql B
は 11 を表し、
.Ql Z
は 35 を表します。 )
は 35 を表します。)
.Pp
.Fa endptr
nil ではない場合は、
空ポインタではない場合は、
.Fn strtoul
は最初の無効な文字のアドレスを
.Fa *endptr
@ -123,7 +132,7 @@
の元の値を
.Fa *endptr
に格納します。
( 従って、戻ったときに
(従って、戻ったときに
.Fa *nptr
.Ql \e0
@ -132,23 +141,33 @@
.Ql \e0
である場合は、文字列全体が
有効だったことになります。 )
有効だったことになります。)
.Sh 戻り値
.Fn strtoul
関数は、
元の ( 否定されていない ) 値がオーバーフローを起こしそうにない限り、
元の (否定されていない) 値がオーバーフローを起こしそうにない限り、
変換の結果、もしくは先頭にマイナス記号がある場合には変換結果の否定を返します。
オーバーフローを起こす場合、
.Fn strtoul
.Dv ULONG_MAX
を返し、
を返します。
.Fn strtoull
関数は、
元の (否定されていない) 値がオーバーフローを起こしそうにない限り、
変換の結果、もしくは先頭にマイナス記号がある場合には変換結果の否定を返します。
オーバーフローを起こす場合、
.Fn strtoull
.Dv ULLONG_MAX
を返します。
全ての場合で、
.Va errno
.Er ERANGE
に設定します。
設定します。
.Sh エラー
.Bl -tag -width [ERANGE]
.Bl -tag -width Er
.It Bq Er ERANGE
与えられた文字列が値域を超えました。
変換された値は固定されています。
@ -158,7 +177,14 @@
.Sh 規格
.Fn strtoul
関数は、
.St -ansiC
に準拠しています。
.St -isoC
に適合しています。
.Fn strtoll
関数は、
.St -isoC-99
に適合しています。
.Bx
.Fn strtoq
関数は推奨されません。
.Sh バグ
現在のロケールを無視します。

Some files were not shown because too many files have changed in this diff Show more