Recent update of man3 entries

Submitted by:	Yuko Sasaki <yuko@veltec.co.jp>
This commit is contained in:
Kazuo Horikawa 2002-11-03 06:38:28 +00:00
parent 6c9a428eee
commit 996d2f02f9
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=14835
58 changed files with 1158 additions and 990 deletions

View file

@ -35,7 +35,7 @@
.Fn _secure_path "const char *path" "uid_t uid" "gid_t gid" .Fn _secure_path "const char *path" "uid_t uid" "gid_t gid"
.Sh 解説 .Sh 解説
この関数は、指定のパスについて基本的なセキュリティチェックを行います。 この関数は、指定のパスについて基本的なセキュリティチェックを行います。
これはルート特権で実行中のプロセスが使用することを意図しています。指定の これは root 特権で実行中のプロセスが使用することを意図しています。指定の
ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの
危険性を検出するために使用される方法としてよく使われます。 危険性を検出するために使用される方法としてよく使われます。
ファイルは、次の条件を満たす場合に ファイルは、次の条件を満たす場合に

View file

@ -28,18 +28,21 @@
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" .\"
.\" Manual page, using -mandoc macros .\" Manual page, using -mandoc macros
.\" %FreeBSD: src/lib/libc/gen/arc4random.3,v 1.8.2.4 2001/12/14 18:33:50 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd April 15, 1997 .Dd April 15, 1997
.Dt ARC4RANDOM 3 .Dt ARC4RANDOM 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm arc4random, .Nm arc4random ,
.Nm arc4random_stir, .Nm arc4random_stir ,
.Nm arc4random_addrandom .Nm arc4random_addrandom
.Nd arc4 乱数ジェネレータ .Nd arc4 乱数ジェネレータ
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <stdlib.h> .In stdlib.h
.Ft u_int32_t .Ft u_int32_t
.Fn arc4random "void" .Fn arc4random "void"
.Ft void .Ft void
@ -48,8 +51,8 @@
.Fn arc4random_addrandom "unsigned char *dat" "int datlen" .Fn arc4random_addrandom "unsigned char *dat" "int datlen"
.Sh 解説 .Sh 解説
.Fn arc4random .Fn arc4random
関数は、arc4 暗号が採用しているキーストリームジェネレータを 関数は、arc4 暗号が採用しているキーストリームジェネレータを使用します。
使用します。arc4 暗号は、8*8 の 8 ビット S-Box を使用します。 arc4 暗号は、8*8 の 8 ビット S-Box を使用します。
S-Box は約 S-Box は約
.if t 2 2\u\s71700\s10\d .if t 2 2\u\s71700\s10\d
.if n (2**1700) .if n (2**1700)
@ -77,10 +80,9 @@ S-Box
.Pa RC4 .Pa RC4
は、RSA Data Security, Inc. によって設計されました。 は、RSA Data Security, Inc. によって設計されました。
.Pa RC4 .Pa RC4
は、匿名で USENET にポストされ、オリジナルのコードにアクセスした人の は、匿名で USENET にポストされ、オリジナルのコードにアクセスした
いくつかのソースによって同等であることが確認されました。 複数の人によって同等であることが確認されました。
.Pa RC4 .Pa RC4
は企業機密であったので、この暗号は は企業機密であったので、この暗号は
.Pa ARC4 .Pa ARC4
と呼ばれています。 と呼ばれています。
.\" kuma

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)atan2.3 5.1 (Berkeley) 5/2/91 .\" from: @(#)atan2.3 5.1 (Berkeley) 5/2/91
.\" $Id: atan2.3,v 1.4 2002-05-18 07:12:52 horikawa Exp $ .\" %FreeBSD: src/lib/msun/man/atan2.3,v 1.6.2.4 2001/12/17 10:08:36 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd May 2, 1991 .Dd May 2, 1991
@ -40,6 +40,8 @@
.Nm atan2 , .Nm atan2 ,
.Nm atan2f .Nm atan2f
.Nd 2 つの変数の逆正接関数 .Nd 2 つの変数の逆正接関数
.Sh ライブラリ
.Lb libm
.Sh 書式 .Sh 書式
.Fd #include <math.h> .Fd #include <math.h>
.Ft double .Ft double
@ -61,15 +63,15 @@
.Fn atan2f .Fn atan2f
関数は、処理が成功すると、範囲 関数は、処理が成功すると、範囲
.Bk -words .Bk -words
.Bq \&- Ns \*)Pi , \&+ Ns \*(Pi .Bq \&- Ns \*(Pi , \&+ Ns \*(Pi
.Ek .Ek
ラジアン内の のラジアンで、
.Fa y/ Ns Ar x .Fa y/ Ns Ar x
の逆正接を返します。 の逆正接を返します。
.Fa x .Fa x
.Fa y .Fa y
の両方がゼロの場合、 の両方が 0 の場合、
グローバル変数 グローバル変数
.Va errno .Va errno
@ -95,7 +97,7 @@ x = y = 0
.It Ta .It Ta
.Pf sign( Ar y Ns )*\\*(Pi/2 Ta .Pf sign( Ar y Ns )*\\*(Pi/2 Ta
.Ar x .Ar x
= 0 \*(!= = 0 \(!=
.Ar y .Ar y
の場合 の場合
.El .El
@ -129,7 +131,7 @@ x = y = 0
(r,theta) (r,theta)
.if t\ .if t\
(r,\(*h) (r,\(*h)
に変換ます。この座標は、 に変換するために最も良く使用されます。この座標は、
.if n\ .if n\
r\(**cos theta r\(**cos theta
.if t\ .if t\
@ -140,12 +142,11 @@ y =
r\(**sin theta r\(**sin theta
.if t\ .if t\
r\(**sin\(*h r\(**sin\(*h
を満たす必要があります。 を満たます。
.if n\ .if n\
(r,theta) (r,theta)
.if t\ .if t\
(r,\(*h) これらの等式が
極座標に変換するのに主に使用されます。これらの等式が
満たされるのは、(x=0,y=0) が 満たされるのは、(x=0,y=0) が
.Tn VAX .Tn VAX
@ -169,13 +170,13 @@ theta := atan2(y,x)
.It .It
上記の公式は、 上記の公式は、
.Tn IEEE 754 .Tn IEEE 754
に準拠するマシンでは符号付きのゼロおよび無限に、 に準拠するマシンでは符号付きの 0 および無限に、
合理的な方法で、対処しようと変更する必要はありません。そのようなマシン用に 合理的な方法で、対処しようと変更する必要はありません。そのようなマシン用に
準備された 提供されている
.Xr hypot 3 .Xr hypot 3
.Fn atan2 .Fn atan2
のバージョンがすべてのケースを処理するよう すべてのケースを処理するよう
設計されています。これがたとえば 設計されています。これがたとえば
.Fn atan2 \(+-0 \-0 .Fn atan2 \(+-0 \-0
= \(+-\*(Pi = \(+-\*(Pi
@ -203,6 +204,6 @@ r := \(sr(x\(**x+y\(**y);\0\0 r =0
.Sh 規格 .Sh 規格
.Fn atan2 .Fn atan2
関数は 関数は
.St -ansiC .St -isoC
準拠しています。 適合しています。
.\"X kuma .\"X kuma

View file

@ -23,7 +23,7 @@
.Tn IP .Tn IP
ポート、すなわち範囲 0 1023 のポートに結合するために使用されます。 ポート、すなわち範囲 0 1023 のポートに結合するために使用されます。
.Pp .Pp
ルートだけが特権ポートに結合できます。この呼び出しは他のユーザについては root だけが特権ポートに結合できます。この呼び出しは他のユーザについては
処理失敗します。 処理失敗します。
.Pp .Pp
.Va sin .Va sin

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993 .\" 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 .\" This code is derived from software contributed to Berkeley by
.\" the American National Standards Committee X3, on Information .\" the American National Standards Committee X3, on Information
@ -15,8 +15,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -33,7 +33,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)clock.3 8.1 (Berkeley) 6/4/93 .\" @(#)clock.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/clock.3,v 1.6.2.3 2001/12/14 18:33:50 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
@ -42,13 +43,15 @@
.Sh 名称 .Sh 名称
.Nm clock .Nm clock
.Nd 使用されたプロセッサ時間を計測する .Nd 使用されたプロセッサ時間を計測する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <time.h> .In time.h
.Ft clock_t .Ft clock_t
.Fn clock void .Fn clock void
.Sh 解説 .Sh 解説
.Fn clock .Fn clock
関数は、呼び出されたプロセスの起動時からのプロセッサの使用時間を計算します。 関数は、呼び出し元プロセスの、起動時からのプロセッサ使用時間を計算します。
これは 1 秒の これは 1 秒の
.Dv CLOCKS_PER_SEC .Dv CLOCKS_PER_SEC
分の 1 を単位として計測されます。 分の 1 を単位として計測されます。
@ -62,5 +65,5 @@
.Sh 規格 .Sh 規格
.Fn clock .Fn clock
関数は 関数は
.St -ansiC .St -isoC
準拠しています。 適合しています。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1993 .\" Copyright (c) 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,17 +29,20 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)confstr.3 8.1 (Berkeley) 6/4/93 .\" @(#)confstr.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/confstr.3,v 1.5.2.5 2001/12/14 18:33:50 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
.Dt CONFSTR 3 .Dt CONFSTR 3
.Os BSD 4 .Os
.Sh 名称 .Sh 名称
.Nm confstr .Nm confstr
.Nd ストリング値の環境設定可能な変数を得る .Nd 文字列値の設定可能変数を得る
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .In unistd.h
.Ft size_t .Ft size_t
.Fn confstr "int name" "char *buf" "size_t len" .Fn confstr "int name" "char *buf" "size_t len"
.Sh 解説 .Sh 解説
@ -50,81 +53,74 @@
.Ef .Ef
.Pp .Pp
.Fn confstr .Fn confstr
関数は、環境設定で定義したストリング値をアプリケーションが 関数は、システム構成により定義されている文字列値を、
るための方式を提供します。 アプリケーションが取得するための方式を提供します。
.Pp .Pp
.Fa name .Fa name
引数は、照会されるシステム変数を指定します。各名前の値の 引数は、照会されるシステム変数を指定します。
シンボリック定数は、インクルードファイル 各名前の値となるシンボリック定数は、インクルードファイル
.Li <unistd.h> .Aq Pa unistd.h
の中にあります。 の中にあります。
.Fa len .Fa len
引数は、引数 引数は、引数
.Fa buf .Fa buf
が参照するバッファのサイズを指定します。 が参照するバッファのサイズを指定します。
.Fa len .Fa len
がゼロでない が 0 でない場合、
場合、
.Fa buf .Fa buf
は NULL ではないポインタで、
NULL
でないポインタであり、
.Fa name .Fa name
には、最高 は値を持っており、その値のうち最高
.Fa len .Fa len
\- 1 \- 1 バイトがバッファ
バイトの
値があり、値はバッファ
.Fa buf .Fa buf
にコピーされます。コピーされた値の末尾は必ず にコピーされます。
NULL コピーされた値の末尾は必ずヌル文字です。
です。
.Pp .Pp
利用可能な値は次のとおりです。 利用可能な値は次のとおりです。
.Pp .Pp
.Bl -tag -width "123456" .Bl -tag -width 6n
.Pp .Pp
.It Li _CS_PATH .It Li _CS_PATH
全標準ユーティリティを検出する 全標準ユーティリティを検出する
.Ev PATH .Ev PATH
環境設定変数の値を返します。 環境変数の値を返します。
.El .El
.Sh 戻り値 .Sh 戻り値
.Fn confstr .Fn confstr
の呼び出しが正常に完了しない場合、 の呼び出しが正常に完了しない場合、\-1 が返され、該当する
\-1 が返され、該当する
.Va errno .Va errno
が設定されます。
設定されます。そうでない場合、変数に環境設定定義された値がない場合、 また変数に、システム構成により定義されている値がない場合 0 が返され、
0 が
返され、
.Va errno .Va errno
は修正されません。そうでない場合は、環境設定定義された は変更されません。
値全体を入れるのに必要なバッファサイズが返されます。このサイズが引数 それ以外の場合は、設定定義された
値全体を入れるのに必要なバッファサイズが返されます。
このサイズが引数
.Fa len .Fa len
より大きい場合、 より大きい場合、
.Fa buf .Fa buf
内のストリングは切り捨てされます。 内の文字列は切り捨てられています。
.Sh エラー .Sh エラー
.Fn confstr .Fn confstr
関数は、処理が正常に完了せず、ライブラリ関数 関数がエラーになると、ライブラリ関数
.Xr malloc 3 .Xr malloc 3
.Xr sysctl 3 .Xr sysctl 3
用に指定されたエラーについて で規定されているエラーを
.Va error .Va errno
設定することがあります。 設定することがあります。
.Pp .Pp
さらに、次のエラーがレポートされることがあります。 さらに、次のエラーがレポートされることがあります。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EINVAL .It Bq Er EINVAL
.Fa name .Fa name
引数の値は無効です。 引数の値は無効です。
.Pp .El
.Sh 関連項目 .Sh 関連項目
.Xr sysctl 3 .Xr sysctl 3
.Sh 歴史 .Sh 歴史
.Fn confstr .Fn confstr
関数は 関数は
.Bx 4.4 .Bx 4.4
最初に現れました。 はじめて登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1990, 1991, 1993 .\" 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.
.\" .\"
.\" Redistribution and use in source and binary forms, with or without .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,7 +29,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)ctermid.3 8.1 (Berkeley) 6/4/93 .\" @(#)ctermid.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/ctermid.3,v 1.5.2.3 2001/12/14 18:33:50 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
@ -38,59 +39,70 @@
.Sh 名称 .Sh 名称
.Nm ctermid .Nm ctermid
.Nd 端末パス名を生成する .Nd 端末パス名を生成する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <stdio.h> .In stdio.h
.Ft char * .Ft char *
.Fn ctermid "char *buf" .Fn ctermid "char *buf"
.Ft char *
.Fn ctermid_r "char *buf"
.Sh 解説 .Sh 解説
.Fn ctermid .Fn ctermid
関数は、パス名として使用されたときに、呼び出し元プロセスの現在の 関数は、パス名として使用されたときに、呼び出し元プロセスの現在の
制御端末を参照する 制御端末を参照する文字列を生成します。
1 つのストリングを生成します。
.Pp .Pp
.Ar buf .Ar buf
.Dv NULL .Dv NULL
ポインタの場合、静的領域を指すポインタが返されます。そうでない ポインタの場合、静的領域を指すポインタが返されます。
場合は、パス名が、 そうでない場合は、パス名が、
.Ar buf .Ar buf
で参照されるメモリにコピーされます。引数 で参照されるメモリにコピーされます。
引数
.Ar buf .Ar buf
は、 は、長さが少なくとも
少なくとも長さが
.Dv L_ctermid .Dv L_ctermid
( (インクルードファイル
インクルードファイル
.Aq Pa stdio.h .Aq Pa stdio.h
に定義 に定義) バイトと仮定されます。
)
バイトと
想定されます。
.Pp .Pp
現時点では .Fn ctermid_r
は、
.Ar buf
.Dv NULL
ポインタであった場合に
.Dv NULL
を返すこと以外は、
.Fn ctermid
と同じ機能を提供します。
.Pp
現在の実装では単に
.Ql /dev/tty .Ql /dev/tty
だけを返します。 を返します。
.Sh 戻り値 .Sh 戻り値
処理が成功すると、 処理が成功すると、
.Dv NULL .Dv NULL
でないポインタが返されます。処理が失敗すると、 でないポインタが返されます。
処理が失敗すると、
.Dv NULL .Dv NULL
ポインタが返され、グローバル変数 ポインタが返され、グローバル変数
.Va errno .Va errno
がエラーを示すように設定されます。 がエラーを示すように設定されます。
.Sh エラー .Sh エラー
時点では、エラー条件は検出されません。 在の実装では、検出されるエラー条件はありません。
.Sh 関連項目 .Sh 関連項目
.Xr ttyname 3 .Xr ttyname 3
.Sh 規格 .Sh 規格
.Fn ctermid .Fn ctermid
関数は、 関数は、
.St -p1003.1-88 .St -p1003.1-88
準拠しています。 適合しています。
.Sh バグ .Sh バグ
デフォルトでは、 デフォルトでは、
.Fn ctermid .Fn ctermid
関数は、すべての情報を内部静的オブジェクトに書き 関数は、すべての情報を内部静的オブジェクトに書き込みます。
込みます。後で 後で
.Fn ctermid .Fn ctermid
を呼ぶと、同じオブジェクトが修正されます。 を呼ぶと、同じオブジェクトが修正されます。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1993 .\" Copyright (c) 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,51 +29,55 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)daemon.3 8.1 (Berkeley) 6/9/93 .\" @(#)daemon.3 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/gen/daemon.3,v 1.6.2.4 2001/12/14 18:33:50 ru Exp %
.\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 9, 1993 .Dd June 9, 1993
.Dt DAEMON 3 .Dt DAEMON 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm daemon .Nm daemon
.Nd バックグラウンドで実行される .Nd バックグラウンドで実行する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <stdlib.h> .In stdlib.h
.Ft int .Ft int
.Fn daemon "int nochdir" "int noclose" .Fn daemon "int nochdir" "int noclose"
.Sh 解説 .Sh 解説
.Pp
.Fn daemon .Fn daemon
関数は、制御端末からみずからをデタッチし、システムデーモンとして 関数は、制御端末から自分自身を切り離し、システムデーモンとして
実行する必要のあるプログラム用です。 動作することを望むプログラムのためものです。
.Pp .Pp
引数 引数
.Fa nochdir .Fa nochdir
ゼロでない場合を除いて 0 の場合
.Fn daemon .Fn daemon
は現在の作業ディレクトリをルート (``/'') に変更します。 は現在の作業ディレクトリをルート (``/'') に変更します。
.Pp .Pp
引数 引数
.Fa noclose .Fa noclose
ゼロでない場合を除いて 0 の場合
.Fn daemon .Fn daemon
は、標準入力、標準出力、および標準エラーを ``/dev/null'' に転送します。 は、標準入力、標準出力、および標準エラー出力を ``/dev/null'' に
リダイレクトします。
.Sh エラー .Sh エラー
エラーが発生すると、 エラーが発生すると、
.Fn daemon .Fn daemon
は -1 を返し、グローバル変数 は -1 を返し、ライブラリ関数
.Va errno
をライブラリ関数
.Xr fork 2 .Xr fork 2
.Xr setsid 2 .Xr setsid 2
について指定したエラーに設定します。 規定されているエラーをグローバル変数
.Va errno
に設定します。
.Pp .Pp
.Sh 関連項目 .Sh 関連項目
.Xr fork 2 , .Xr fork 2 ,
.Xr setsid 2 .Xr setsid 2
.Sh 歴史 .Sh 歴史
.Fn daemon .Fn daemon
関数は最初に 関数は
.Bx 4.4 .Bx 4.4
現れました。 はじめて登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1993 .\" Copyright (c) 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,39 +29,49 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)devname.3 8.2 (Berkeley) 4/29/95 .\" @(#)devname.3 8.2 (Berkeley) 4/29/95
.\" %FreeBSD: src/lib/libc/gen/devname.3,v 1.7.2.5 2002/04/04 06:50:06 dd Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd April 29, 1995 .Dd July 18, 1999
.Dt DEVNAME 3 .Dt DEVNAME 3
.Os BSD 4.4 .Os
.Sh 名称 .Sh 名称
.Nm devname .Nm devname
.Nd デバイス名を得る .Nd デバイス名を得る
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <stdlib.h> .In sys/stat.h
.In stdlib.h
.Ft char * .Ft char *
.Fn devname "dev_t dev" "mode_t type" .Fn devname "dev_t dev" "mode_t type"
.Sh 解説 .Sh 解説
.Fn devname .Fn devname
関数は、デバイス番号 関数は、デバイス番号
.Fa dev .Fa dev
と、
.Dq Pa /dev .Dv S_IFBLK
内のブロック名または または
キャラクタデバイスを指すポインタと、 .Dv S_IFCHR
のどちらかがエンコードされている
.Fa type .Fa type
でエンコードされたものと一致する に一致するファイルタイプとを持つ、
ファイルタイプを返します。 .Pa /dev
下のブロックデバイスまたはキャラクタデバイスの名前を指すポインタを返します。
正しい名前を見つけるために、
.Fn devname
は、まず
.Xr dev_mkdb 8
によって作成されたデバイスデータベースを検索します。
それに失敗した場合、
.Va kern.devname
sysctl を用いてカーネルに問い合わせます。
それでも適切な名前が作り出せなかった時には、
.Fa dev
.Fa type .Fa type
は S_IFBLK または S_IFCHR のどちらかである必要があります。 に込められている情報を、人が読める形式にフォーマットします。
指定の値と一致するデバイスがない場合、または利用できる情報がない場合、
NULL が返されます。
.Pp
デバイスが見つからないときのアプリケーションの従来の表示は
ストリング
.Dq ??
です。
.Sh 関連項目 .Sh 関連項目
.Xr stat 2 , .Xr stat 2 ,
.Xr dev_mkdb 8 .Xr dev_mkdb 8
@ -69,4 +79,8 @@ NULL
.Fn devname .Fn devname
関数は 関数は
.Bx 4.4 .Bx 4.4
で現れました。 で登場しました。
.Sh バグ
.Fn devname
関数は、内部の静的オブジェクトへのポインタを返します。
従って、その後の呼び出しは同一のバッファを修正してしまいます。

View file

@ -1,5 +1,5 @@
.\" .\"
.\" Copyright (c) 1998 Kenneth D. Merry. .\" Copyright (c) 1998, 1999 Kenneth D. Merry.
.\" All rights reserved. .\" All rights reserved.
.\" .\"
.\" Redistribution and use in source and binary forms, with or without .\" Redistribution and use in source and binary forms, with or without
@ -25,17 +25,29 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" $Id: devstat.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/libdevstat/devstat.3,v 1.7.2.8 2001/12/17 10:08:29 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd May 21, 1998 .Dd May 21, 1998
.Dt DEVSTAT 3 .Dt DEVSTAT 3
.Os FreeBSD 3.0 .Os
.Sh 名称 .Sh 名称
.Nm devstat .Nm devstat ,
.Nm getnumdevs ,
.Nm getgeneration ,
.Nm getversion ,
.Nm checkversion ,
.Nm getdevs ,
.Nm selectdevs ,
.Nm buildmatch ,
.Nm compute_stats ,
.Nm compute_etime
.Nd デバイス統計ユーティリティライブラリ .Nd デバイス統計ユーティリティライブラリ
.Sh ライブラリ
.Lb libdevstat
.Sh 書式 .Sh 書式
.Fd #include <devstat.h> .In sys/dkstat.h
.In devstat.h
.Ft int .Ft int
.Fn getnumdevs "void" .Fn getnumdevs "void"
.Ft long .Ft long
@ -89,7 +101,7 @@
.Fa "struct timeval prev_time" .Fa "struct timeval prev_time"
.Fc .Fc
.Sh 解説 .Sh 解説
.Nm devstat .Nm
ライブラリは、カーネル ライブラリは、カーネル
.Xr devstat 9 .Xr devstat 9
インタフェースを処理するのに インタフェースを処理するのに
@ -97,32 +109,32 @@
.Xr devstat 9 .Xr devstat 9
インタフェースは、 インタフェースは、
.Xr sysctl 3 .Xr sysctl 3
によってユーザがアクセスできます。 によってユーザがアクセスできます。
.Pp .Pp
.Fn getnumdevs .Fn getnumdevs
は、カーネル内の は、カーネル内の
.Nm devstat .Nm
サブシステムとともに登録された サブシステムに登録された
デバイスの番号を返します。 デバイスのを返します。
.Pp .Pp
.Fn getgeneration .Fn getgeneration
は、カーネル内のデバイス は、カーネル内のデバイス
.Nm devstat .Nm
リストの現在の世代を リストの現在の世代を
返します。 返します。
.Pp .Pp
.Fn getversion .Fn getversion
は、現在のカーネル は、現在のカーネル
.Nm devstat .Nm
デバイスバージョンを返します。 デバイスバージョンを返します。
.Pp .Pp
.Fn checkversion .Fn checkversion
は、カーネル は、カーネル
.Nm devstat .Nm
バージョンに対して バージョンに対して
userland devstat ユーザランド devstat
をチェックします。 をチェックします。
2 つが同一の場合、ゼロが返されます。そうでない場合は、 2 つが同一の場合、0 が返されます。そうでない場合は、
.Va devstat_errbuf .Va devstat_errbuf
に該当するエラーを表示し -1 を返します。 に該当するエラーを表示し -1 を返します。
.Pp .Pp
@ -145,11 +157,18 @@ struct statinfo {
.Ed .Ed
.Pp .Pp
.Fn getdevs .Fn getdevs
.Va statinfo .Va statinfo
構造が割り振られるのを予期し、また、定刻より早く 構造が割り当てられることを期待し、また、
.Fn getdevs
の起動の前に
.Va dinfo .Va dinfo
サブエレメントが割り振られるのも予期します。 サブエレメントが割り当てられて 0 で初期化されることも期待します。
.Va dinfo
サブエレメントは、呼び出しと呼び出しの間の状態を格納するために使用され、
最初の
.Fn getdevs
呼び出しの後には変更してはなりません。
.Va dinfo .Va dinfo
サブエレメントには次のエレメントが入っています。 サブエレメントには次のエレメントが入っています。
.Bd -literal -offset indent .Bd -literal -offset indent
@ -163,16 +182,16 @@ struct devinfo {
.Pp .Pp
.Va kern.devstat.all sysctl .Va kern.devstat.all sysctl
変数には、 変数には、
.Nm devstat .Nm
構造の配列が入っていますが、配列の先頭は現在の 構造の配列が入っていますが、配列の先頭は現在の
.Nm devstat .Nm
世代です。世代がバッファの先頭にある理由は、 世代です。世代がバッファの先頭にある理由は、
.Nm devstat .Nm
統計にアクセスしている userland ソフトウェアが自動的に 統計にアクセスしているユーザランドソフトウェアが自動的に
統計情報および対応する世代番号の両方を自動的に得るようにするためです。 統計情報および対応する世代番号の両方を不可分に得るようにするためです。
クライアントソフトウェアが別の クライアントソフトウェアが別の
.Nm sysctl .Nm sysctl
変数 ( これは便宜のために利用できます ) を通じて世代番号を得ることを 変数 (これは便宜のために利用できます) を通じて世代番号を得ることを
強制された場合、デバイスのリストは、クライアントが世代を得る時刻と、 強制された場合、デバイスのリストは、クライアントが世代を得る時刻と、
クライアントがデバイスリストを得る時刻の間で変化する可能性があります。 クライアントがデバイスリストを得る時刻の間で変化する可能性があります。
.Pp .Pp
@ -187,9 +206,9 @@ struct devinfo {
.Va kern.devstat.all .Va kern.devstat.all
.Nm sysctl .Nm sysctl
変数から 変数から
.Nm devstat .Nm
構造の配列の先頭を指すポインタです。 構造の配列の先頭を指すポインタです。
.Nm devinfo .Va devinfo
構造の世代 構造の世代
サブエレメントには、 サブエレメントには、
.Va kern.devstat.all .Va kern.devstat.all
@ -199,7 +218,7 @@ struct devinfo {
構造の 構造の
.Va numdevs .Va numdevs
サブエレメントには、カーネル サブエレメントには、カーネル
.Nm devstat .Nm
サブシステムで登録されたデバイスの現在の番号が入っています。 サブシステムで登録されたデバイスの現在の番号が入っています。
.Pp .Pp
.Fn selectdevs .Fn selectdevs
@ -223,7 +242,7 @@ da0, da1, cd0
フィールドを基礎にしてソートされます。 フィールドを基礎にしてソートされます。
.Va bytes .Va bytes
値は、現時点では、ユーザが保守する必要があります。将来的には、これは 値は、現時点では、ユーザが保守する必要があります。将来的には、これは
.Nm devstat .Nm
ライブラリルーチンで行われる可能性があります。デバイスが名前または ライブラリルーチンで行われる可能性があります。デバイスが名前または
パターンによって選択されていない場合、性能追跡コードがシステム内の パターンによって選択されていない場合、性能追跡コードがシステム内の
各デバイスを選択し、これらを性能によってソートします。デバイスが名前または 各デバイスを選択し、これらを性能によってソートします。デバイスが名前または
@ -247,7 +266,7 @@ da0, da1, cd0
.Fn selectdevs .Fn selectdevs
は、名前または一致パターンによって指定された は、名前または一致パターンによって指定された
選択されていないデバイスを選択します。また、これは 選択されていないデバイスを選択します。また、これは
.Nm devstat .Nm
の順序でさらにデバイスを選択します。選択したデバイスの数が の順序でさらにデバイスを選択します。選択したデバイスの数が
.Va maxshowdevs .Va maxshowdevs
に等しくなるまで、またはすべてのデバイスが選択されるまでです。 に等しくなるまで、またはすべてのデバイスが選択されるまでです。
@ -285,14 +304,14 @@ only
.Fn selectdevs .Fn selectdevs
は、クライアントによって渡された は、クライアントによって渡された
.Va dev_select .Va dev_select
構造の割り振りとサイズ変更を処理します。 構造の割り当てとサイズ変更を処理します。
.Fn selectdevs .Fn selectdevs
は、 は、
.Va numdevs .Va numdevs
フィールドと フィールドと
.Va current_generation .Va current_generation
フィールドを使用して、現在の フィールドを使用して、現在の
.Nm devstat .Nm
世代とデバイスの数を追跡します。 世代とデバイスの数を追跡します。
.Va num_selections .Va num_selections
@ -306,7 +325,7 @@ only
は、選択リストを必要に応じてサイズ変更し、選択配列を初期化し直します。 は、選択リストを必要に応じてサイズ変更し、選択配列を初期化し直します。
.Pp .Pp
.Fn buildmatch .Fn buildmatch
は、ンマで区切られた一致ストリングを取り、 は、ンマで区切られた一致ストリングを取り、
.Fn selectdevs .Fn selectdevs
が理解する が理解する
\fBdevstat_match\fR 構造にコンパイルします。一致ストリングの形式は \fBdevstat_match\fR 構造にコンパイルします。一致ストリングの形式は
@ -317,12 +336,12 @@ device,type,if
.Ed .Ed
.Pp .Pp
.Fn buildmatch .Fn buildmatch
は、必要に応じて、一致リストの割り振りと再割り振り は、必要に応じて、一致リストの割り当てと再割り当て
処理します。現時点で既知の一致タイプには次のものが含まれます。 処理します。現時点で既知の一致タイプには次のものが含まれます。
.Pp .Pp
.Bl -tag -width indent -compact .Bl -tag -width indent -compact
.It デバイスタイプ: .It デバイスタイプ:
.Bl -tag -width 123456789 -compact .Bl -tag -width 9n -compact
.It da .It da
ダイレクトアクセスデバイス ダイレクトアクセスデバイス
.It sa .It sa
@ -352,7 +371,7 @@ CD
.El .El
.Pp .Pp
.It インタフェース: .It インタフェース:
.Bl -tag -width 123456789 -compact .Bl -tag -width 9n -compact
.It IDE .It IDE
統合ドライブ電子工学デバイス (Integrated Drive Electronics devices) 統合ドライブ電子工学デバイス (Integrated Drive Electronics devices)
.It SCSI .It SCSI
@ -362,7 +381,7 @@ CD
.El .El
.Pp .Pp
.It パススルー: .It パススルー:
.Bl -tag -width 123456789 -compact .Bl -tag -width 9n -compact
.It pass .It pass
パススルーデバイス パススルーデバイス
.El .El
@ -379,7 +398,7 @@ CD
.Va previous .Va previous
.Nm devstat .Nm
構造の両方を指定したいと思うものです。指定期間に渡って統計が 構造の両方を指定したいと思うものです。指定期間に渡って統計が
計算できるようにするためにです。インスタンスによっては、システム起動からの 計算できるようにするためにです。インスタンスによっては、システム起動からの
統計を計算するために、ユーザは 統計を計算するために、ユーザは
@ -442,7 +461,7 @@ CD
関数 ( 関数 (
.Va statinfo .Va statinfo
構造体内 ) が、現在の 構造体内 ) が、現在の
.Nm devstat .Nm
リストを取り出すたびに、 リストを取り出すたびに、
.Fn getdevs .Fn getdevs
関数が記録した時刻とともに最も一般的に使用されます。 関数が記録した時刻とともに最も一般的に使用されます。
@ -455,7 +474,7 @@ CD
変数を取り出すときにエラーがあった場合は -1 を返します。 変数を取り出すときにエラーがあった場合は -1 を返します。
.Pp .Pp
.Fn checkversion .Fn checkversion
は、カーネルと userland devstat バージョンが一致する場合、 は、カーネルとユーザランド devstat バージョンが一致する場合、
0 を返します。一致しない場合、 -1 を返します。 0 を返します。一致しない場合、 -1 を返します。
.Pp .Pp
.Fn getdevs .Fn getdevs
@ -478,7 +497,7 @@ CD
.Fn compute_etime .Fn compute_etime
計算済みの経過時間を返します。 計算済みの経過時間を返します。
.Pp .Pp
.Nm devstat .Nm
ライブラリ関数の 1 つからエラーが返された場合、一般に、エラーの ライブラリ関数の 1 つからエラーが返された場合、一般に、エラーの
理由がグローバルストリング 理由がグローバルストリング
.Va devstat_errbuf .Va devstat_errbuf
@ -494,20 +513,19 @@ CD
.Xr vmstat 8 , .Xr vmstat 8 ,
.Xr devstat 9 .Xr devstat 9
.Sh 歴史 .Sh 歴史
.Nm devstat .Nm
統計システムは最初に 統計システムは最初に
.Fx 3.0 .Fx 3.0
に現れました。 に現れました。
.Sh 作者 .Sh 作者
Kenneth Merry .An Kenneth Merry Aq ken@FreeBSD.org
.Aq ken@FreeBSD.ORG
.Sh バグ .Sh バグ
.Fn getdevs , .Fn getdevs ,
.Fn selectdevs .Fn selectdevs
、および 、および
.Fn buildmatch .Fn buildmatch
によって割り振られたメモリを によって割り振られたメモリを
割り振り解除するためのインタフェースがおそらくあるはずです。 割り当て解除するためのインタフェースがおそらくあるはずです。
.Pp .Pp
.Fn selectdevs .Fn selectdevs
は、デバイスが以前に選択されていない場合、 は、デバイスが以前に選択されていない場合、

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,30 +29,36 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)directory.3 8.1 (Berkeley) 6/4/93 .\" @(#)directory.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/directory.3,v 1.7.2.4 2001/12/14 18:33:50 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
.Dt DIRECTORY 3 .Dt DIRECTORY 3
.Os BSD 4.2 .Os
.Sh 名称 .Sh 名称
.Nm opendir , .Nm opendir ,
.Nm readdir , .Nm readdir ,
.Nm readdir_r ,
.Nm telldir , .Nm telldir ,
.Nm seekdir , .Nm seekdir ,
.Nm rewinddir , .Nm rewinddir ,
.Nm closedir , .Nm closedir ,
.Nm dirfd .Nm dirfd
.Nd ディレクトリ操作 .Nd ディレクトリ操作
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .In sys/types.h
.Fd #include <dirent.h> .In dirent.h
.Ft DIR * .Ft DIR *
.Fn opendir "const char *filename" .Fn opendir "const char *filename"
.Ft struct dirent * .Ft struct dirent *
.Fn readdir "DIR *dirp" .Fn readdir "DIR *dirp"
.Ft int
.Fn readdir_r "DIR *dirp" "struct dirent *entry" "struct dirent **result"
.Ft long .Ft long
.Fn telldir "const DIR *dirp" .Fn telldir "DIR *dirp"
.Ft void .Ft void
.Fn seekdir "DIR *dirp" "long loc" .Fn seekdir "DIR *dirp" "long loc"
.Ft void .Ft void
@ -65,83 +71,103 @@
.Fn opendir .Fn opendir
関数は、 関数は、
.Fa filename .Fa filename
で指されたディレクトリを開き、 で指されたディレクトリを開き、
.Em ディレクトリストリーム .Em ディレクトリストリーム
をそれに対応させ、後続の操作で をそれに対応させ、後続の操作で
.Em ディレクトリストリーム .Em ディレクトリストリーム
を識別するのに使用するポインタを返します。 を識別するのに使用するポインタを返します。
.Fa filename .Fa filename
にアクセスできない場合、またはすべてのものを保持するのに十分なメモリを
アクセスできない場合、またはすべてのものを保持するのに十分なメモリを
.Xr malloc 3 .Xr malloc 3
できない場合は、ポインタ できない場合は、ポインタ
.Dv NULL .Dv NULL
が返されます。 が返されます。
.Pp .Pp
.Fn readdir .Fn readdir
関数は、次のディレクトリエントリを指すポインタを返します。この 関数は、次のディレクトリエントリを指すポインタを返します。
関数は、ディレクトリの末尾に到達するか、または無効な この関数は、ディレクトリの末尾に到達するか、または無効な
.Fn seekdir .Fn seekdir
操作を 操作を検出すると
検出すると
.Dv NULL .Dv NULL
を返します。 を返します。
.Pp .Pp
.Fn readdir_r
は、
.Fn readdir
と同様の機能を提供しますが、
呼び出し元は結果を格納するためのディレクトリ
.Fa entry
バッファを提供しなければなりません。
読み込みが成功すると
.Fa result
.Fa entry
を指し、ディレクトリの末尾に達すると
.Fa result
.Dv NULL
に設定されます。
.Fn readdir_r
は、成功した場合 0 を返し、そうでなければ失敗を示すエラーナンバを返します。
.Pp
.Fn telldir .Fn telldir
関数は、名前の付いた 関数は、指定され
.Em ディレクトリストリーム .Em ディレクトリストリーム
に対応する現在の位置を返します。 関連付けられている現在の位置を返します。
.Fn telldir .Fn telldir
が返す値が良いのは、派生させられる元となった が返す値が有効なのは、その値が引き出された元の
.Dv DIR .Dv DIR
ポインタ ポインタ
.Fa dirp .Fa dirp
の寿命の間だけです。ディレクトリが閉じられ再び開かれると、 が生きている間だけです。
ディレクトリが閉じられ再び開かれると、
.Fn telldir .Fn telldir
が返した以前の値はもはや有効ではありません。 が返した以前の値はもはや有効ではありません。
.Pp .Pp
.Fn seekdir .Fn seekdir
関数は、 関数は、その
.Em ディレクトリストリーム .Em ディレクトリストリーム
への次の に対する次の
.Fn readdir .Fn readdir
操作の位置を設定します。新しい位置は、 操作の位置を設定します。
.Fn telldir 新しい位置は、その
操作が実行されたときの
.Em ディレクトリストリーム .Em ディレクトリストリーム
と対応付けられたものに戻ります。 と関連付けられているもので、
.Fn telldir
操作が実行されたときに返されるものです。
.Pp .Pp
.Fn rewinddir .Fn rewinddir
関数は、名前の付い 関数は、指定され
.Em ディレクトリストリーム .Em ディレクトリストリーム
の位置をディレクトリの先頭にリセットします。 の位置をそのディレクトリの先頭に戻します。
.Pp .Pp
.Fn closedir .Fn closedir
関数は、名前の付い 関数は、指定され
.Em ディレクトリストリーム .Em ディレクトリストリーム
を閉じ、 を閉じ、
.Fa dirp .Fa dirp
ポインタに対応する構造を解放し、処理が成功した場合は 0 を返します。 ポインタに関連付けられた構造体を解放します。
処理が失敗すると、\-1 が返され、グローバル変数 処理が成功した場合は 0 を返します。
処理が失敗すると \-1 が返され、エラーを示ためにグローバル変数
.Va errno .Va errno
が設定されてエラーを示すようになります。 が設定されます。
.Pp .Pp
.Fn dirfd .Fn dirfd
関数は、名前の付い 関数は、指定され
.Em ディレクトリストリーム .Em ディレクトリストリーム
対応する整数ファイル記述子を返します。 関連付けられた整数のファイル記述子を返します。
.Xr open 2 .Xr open 2
を参照してください。 を参照してください。
.Pp .Pp
ディレクトリでエントリ「name」を検索するサンプルコードは次のとおりです。 ディレクトリでエントリ ``name'' を検索するサンプルコードは次のとおりです。
.Bd -literal -offset indent .Bd -literal -offset indent
len = strlen(name); len = strlen(name);
dirp = opendir("."); dirp = opendir(".");
while ((dp = readdir(dirp)) != NULL) while ((dp = readdir(dirp)) != NULL)
if (dp->d_namlen == len && !strcmp(dp->d_name, name)) { if (dp->d_namlen == len && !strcmp(dp->d_name, name)) {
(void)closedir(dirp); (void)closedir(dirp);
return FOUND; return FOUND;
} }
(void)closedir(dirp); (void)closedir(dirp);
return NOT_FOUND; return NOT_FOUND;
.Pp .Pp
@ -158,9 +184,9 @@ return NOT_FOUND;
.Fn telldir , .Fn telldir ,
.Fn seekdir , .Fn seekdir ,
.Fn rewinddir , .Fn rewinddir ,
.Fn closedir , .Fn closedir
および および
.Fn dirfd .Fn dirfd
の各関数は の各関数は
.Bx 4.2 .Bx 4.2
現れました。 登場しました。

View file

@ -30,20 +30,22 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)erf.3 6.4 (Berkeley) 4/20/91 .\" from: @(#)erf.3 6.4 (Berkeley) 4/20/91
.\" $Id: erf.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/msun/man/erf.3,v 1.5.2.4 2001/12/17 10:08:36 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd April 20, 1991 .Dd April 20, 1991
.Dt ERF 3 .Dt ERF 3
.Os BSD 4.3 .Os
.Sh 名称 .Sh 名称
.Nm erf , .Nm erf ,
.Nm erff , .Nm erff ,
.Nm erfc , .Nm erfc ,
.Nm erfcf .Nm erfcf
.Nd エラー関数演算子 .Nd 誤差関数の演算子
.Sh ライブラリ
.Lb libm
.Sh 書式 .Sh 書式
.Fd #include <math.h> .In math.h
.Ft double .Ft double
.Fn erf "double x" .Fn erf "double x"
.Ft float .Ft float
@ -55,17 +57,17 @@
.Sh 解説 .Sh 解説
これらの関数は これらの関数は
.Fa x .Fa x
エラー関数を計算します。 誤差関数を計算します。
.Pp .Pp
.Fn erf .Fn erf
関数と 関数と
.Fn erff .Fn erff
関数は x のエラー関数を計算します。ここで次のとおりです。 関数は、次のように、x の誤差関数 (error function) を計算します。
.Bd -filled -offset indent .Bd -ragged -offset indent
.if n \{\ .if n \{\
erf(x) = 2/sqrt(pi)\(**\|integral from 0 to x of exp(\-t\(**t) dt \} erf(x) = 2/sqrt(pi)\(**\|integral from 0 to x of exp(\-t\(**t) dt \}
.if t \{\ .if t \{\
erf\|(x) := erf\|(x) :=
(2/\(sr\(*p)\|\(is\d\s8\z0\s10\u\u\s8x\s10\d\|exp(\-t\u\s82\s10\d)\|dt \} (2/\(sr\(*p)\|\(is\d\s8\z0\s10\u\u\s8x\s10\d\|exp(\-t\u\s82\s10\d)\|dt \}
.Ed .Ed
.Pp .Pp
@ -74,14 +76,14 @@ erf\|(x) :=
.Fn erfcf .Fn erfcf
関数は 関数は
.Fa x .Fa x
補数のエラー関数を計算します。すなわち、 相補誤差関数 (complementary error function) を計算します。すなわち、
.Fn erfc .Fn erfc
は 1.0 から エラー関数 は 1.0 から誤差関数
.Fn erf x .Fn erf x
の結果を減算します。これは便利です。 の結果を減算します。
大きな 大きな
.Fa x .Fa x
の場所がなくなるからです。 に対しては桁が失われてしまうため、この関数が有用です。
.Sh 関連項目 .Sh 関連項目
.Xr math 3 .Xr math 3
.Sh 歴史 .Sh 歴史
@ -90,4 +92,4 @@ erf\|(x) :=
.Fn erfc .Fn erfc
関数は 関数は
.Bx 4.3 .Bx 4.3
現れました。 登場しました。

View file

@ -30,18 +30,15 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91 .\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91
.\" $Id: exp.3,v 1.5 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/msun/man/exp.3,v 1.9.2.4 2001/12/17 10:08:36 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd July 31, 1991 .Dd July 31, 1991
.Dt EXP 3 .Dt EXP 3
.Os BSD 4 .Os
.Sh 名称 .Sh 名称
.Nm exp , .Nm exp ,
.Nm expf , .Nm expf ,
.Nm exp2 ,
.Nm exp2f ,
.Nm exp10 , .Nm exp10 ,
.Nm exp10f , .Nm exp10f ,
.Nm expm1 , .Nm expm1 ,
@ -55,8 +52,10 @@
.Nm pow , .Nm pow ,
.Nm powf .Nm powf
.Nd 指数関数、対数関数、累乗関数 .Nd 指数関数、対数関数、累乗関数
.Sh ライブラリ
.Lb libm
.Sh 書式 .Sh 書式
.Fd #include <math.h> .In math.h
.Ft double .Ft double
.Fn exp "double x" .Fn exp "double x"
.Ft float .Ft float
@ -126,7 +125,7 @@
に対して に対して
.Ar x .Ar x
の値を計算します。 の値を計算します。
.Sh エラー (丸めなどのためによる) .Sh 誤差 (丸めなどのためによる)
.Fn exp x , .Fn exp x ,
.Fn log x , .Fn log x ,
.Fn expm1 x .Fn expm1 x
@ -141,23 +140,23 @@
内部で正確です。1 内部で正確です。1
.Em ulp .Em ulp
.Em Last .Em 最後の
.Em Place .Em 場所
の 1 の 1
.Em 単位 .Em 単位
です。 です。
.Fn pow x y .Fn pow x y
エラーは、大きさが中程度のときは約 2 誤差は、大きさが中程度のときは約 2
.Em ulps .Em ulps
未満です。 未満です。
.Fn pow x y .Fn pow x y
がオーバーフロー/アンダーフローしきい値に近づくと増大します。最後には、 がオーバーフロー/アンダーフローしきい値に近づくと増大します。最後には、
ほとんどすべてのビットが浮動小数点指数フィールドによって占められ ほとんどすべてのビットが浮動小数点指数フィールドによって占められて
失われます。これは 失われます。これは
.Tn "VAX D" .Tn "VAX D"
では 8 ビットであり、IEEE 754 Double では 11 ビットです。 では 8 ビットであり、IEEE 754 Double では 11 ビットです。
このように大きな欠落は試験によって明らかにされていません。 このように大きな欠落は試験によって明らかにされていません。
観察された最悪のエラーは、 観察された最悪の誤差は、
.Tn "VAX D" .Tn "VAX D"
については 20 については 20
.Em ulps .Em ulps
@ -177,7 +176,7 @@
.Tn IEEE .Tn IEEE
754 については 2**53 より大きくなります。 754 については 2**53 より大きくなります。
.Sh 戻り値 .Sh 戻り値
これらの関数は、エラーが発生するか引数が範囲外の場合を除き、 これらの関数は、誤差が発生するか引数が範囲外の場合を除き、
適切な計算を返します。関数 適切な計算を返します。関数
.Fn exp , .Fn exp ,
.Fn expm1 , .Fn expm1 ,
@ -191,13 +190,14 @@
.Tn VAX .Tn VAX
または または
.Tn Tahoe .Tn Tahoe
で予約済みのオペランド障害を発生させます。関数 で予約オペランドフォルトを発生させます。関数
.Fn pow x y .Fn pow x y
は、 は、
.Fa x .Fa x
< 0 かどうかをチェックし、 < 0 か
.Fa y .Fa y
が整数でない場合、これが真の場合でも、グローバル変数 が整数でないかチェックします。
この場合、グローバル変数
.Va errno .Va errno
.Er EDOM .Er EDOM
@ -205,7 +205,13 @@
.Tn VAX .Tn VAX
.Tn Tahoe .Tn Tahoe
で、予約済みのオペランド障害を生成します。 で、予約オペランドフォルトを生成します。
.Fa x
> 0 でない場合の log と、
.Fa x
> \-1 でない場合の
.Fn log1p
は、
.Tn VAX .Tn VAX
.Tn Tahoe .Tn Tahoe
@ -213,13 +219,7 @@
.Va errno .Va errno
.Er EDOM .Er EDOM
に設定され、 に設定され、予約オペランドフォルトが返されます。
.Fa x
> 0 の場合を除いて、予約済みオペランドが対数によって返され、
.Fa x
> \-1 の場合を除いて
.Fn log1p
によって返されます。
.Sh .Sh
関数 exp(x)\-1 と log(1+x) は、Hewlett Packard 関数 exp(x)\-1 と log(1+x) は、Hewlett Packard
.Tn HP Ns \-71B .Tn HP Ns \-71B
@ -251,13 +251,13 @@ infinity
にはありません)、 にはありません)、
.Em NaN .Em NaN
.Tn ( VAX .Tn ( VAX
の予約済みオペランド) が含まれます。 の予約オペランド) が含まれます。
pow のこれまでの実は、これらのすべての場合またはいくつかの場合に、 pow のこれまでの実は、これらのすべての場合またはいくつかの場合に、
x**0 を未定義としてきたことがあります。 x**0 を未定義としてきたことがあります。
これが必ず x**0 = 1 を返す理由です。 これが必ず x**0 = 1 を返す理由です。
.Bl -enum -width indent .Bl -enum -width indent
.It .It
x**0 を計算する前に x がゼロ x**0 を計算する前に x が 0
(または無限または \*(Na) であるかを試験するプログラムは (または無限または \*(Na) であるかを試験するプログラムは
0**0 = 1 であるかどうかを配慮できません。 0**0 = 1 であるかどうかを配慮できません。
0**0 が無効であることに左右されるプログラムは、 0**0 が無効であることに左右されるプログラムは、
@ -278,8 +278,8 @@ x**y
0**0 = 1 を受け入れます。 0**0 = 1 を受け入れます。
0**0 = 1 を受け入れる理由は次のとおりです。 0**0 = 1 を受け入れる理由は次のとおりです。
.Bd -filled -offset indent .Bd -filled -offset indent
x(z) と y(z) が z = 0 付近の 0 で分析的な関数であり x(z) と y(z) が z = 0 付近の z で分析的な関数であり
(拡張可能な累乗シリーズ)、 (累乗の連続で拡張可能)、
しかも x(0) = y(0) = 0 の場合、z \(-> 0 のとき しかも x(0) = y(0) = 0 の場合、z \(-> 0 のとき
x(z)**y(z) \(-> 1 です。 x(z)**y(z) \(-> 1 です。
.Ed .Ed
@ -302,7 +302,7 @@ infinity**0 = 1/0**0 = 1
.Fn pow .Fn pow
関数は 関数は
.At v6 .At v6
現れました。 登場しました。
.Fn log10 .Fn log10
関数は 関数は
.At v7 .At v7
@ -312,4 +312,4 @@ infinity**0 = 1/0**0 = 1
.Fn expm1 .Fn expm1
関数は 関数は
.Bx 4.3 .Bx 4.3
現れました。 登場しました。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)fmod.3 5.1 (Berkeley) 5/2/91 .\" from: @(#)fmod.3 5.1 (Berkeley) 5/2/91
.\" $Id: fmod.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/msun/man/fmod.3,v 1.5.2.2 2001/12/17 10:08:36 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd May 2, 1991 .Dd May 2, 1991
@ -40,8 +40,10 @@
.Nm fmod , .Nm fmod ,
.Nm fmodf .Nm fmodf
.Nd 浮動小数の余りを求める関数 .Nd 浮動小数の余りを求める関数
.Sh ライブラリ
.Lb libm
.Sh 書式 .Sh 書式
.Fd #include <math.h> .In math.h
.Ft double .Ft double
.Fn fmod "double x" "double y" .Fn fmod "double x" "double y"
.Ft float .Ft float
@ -52,10 +54,10 @@
.Fn fmodf .Fn fmodf
関数は、 関数は、
.Fa x Ns / Fa y .Fa x Ns / Fa y
の浮動小数の余りを算出します。 の浮動小数点数の余りを算出します。
.Sh 戻り値 .Sh 戻り値
.Fa y .Fa y
ゼロでない場合、結果が 0 でない場合、結果が
.Fa x .Fa x
と同じ符号になり、かつ、結果の大きさが と同じ符号になり、かつ、結果の大きさが
.Fa y .Fa y
@ -69,18 +71,18 @@
.Sm off .Sm off
.Fa x - Em i * Fa y .Fa x - Em i * Fa y
.Sm on .Sm on
します。 します。
.Fa y .Fa y
ゼロである場合、ドメインエラーを発生させるか、または 0 である場合、ドメインエラーを発生させるか、または
.Fn fmod .Fn fmod
関数と 関数と
.Fn fmodf .Fn fmodf
関数がゼロを戻すかはシステムで定義されます。 関数が 0 を返すかはシステムで定義されます。
.Sh 関連項目 .Sh 関連項目
.Xr math 3 .Xr math 3
.Sh 規格 .Sh 規格
.Fn fmod .Fn fmod
関数は、 関数は、
.St -ansiC .St -isoC
に準拠しています。 適合しています。
.\"X kuma 1999-11-5 .\"X kuma 1999-11-5

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)frexp.3 8.1 (Berkeley) 6/4/93 .\" @(#)frexp.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/frexp.3,v 1.4.2.4 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
@ -41,15 +42,17 @@
.Os .Os
.Sh 名称 .Sh 名称
.Nm frexp .Nm frexp
.Nd 浮動小数を小数部と整数部に変換 .Nd 浮動小数点数を小数部と整数部に変換
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <math.h> .In math.h
.Ft double .Ft double
.Fn frexp "double value" "int *exp" .Fn frexp "double value" "int *exp"
.Sh 解説 .Sh 解説
.Fn frexp .Fn frexp
関数は、浮動小数を分割して、正規化された小数部分と 関数は、浮動小数点数を分割して、正規化された小数部分と
2 の整数累乗に分けます。 2 の整数累乗の部分に分けます。
整数部は、 整数部は、
.Fa exp .Fa exp
が指す が指す
@ -57,20 +60,22 @@
オブジェクトに保存されます。 オブジェクトに保存されます。
.Sh 戻り値 .Sh 戻り値
.Fn frexp .Fn frexp
関数は、区間 関数は、次のような値
.Bq 1/2 , 1 .Em x
に入る、もしくは大きさがゼロであり、かつ、 を返します。
それに 2 の すなわち
.Em x
は、大きさが区間
.Bo 1/2 , 1 Pc
に入るかもしくは 0 の
.Em double
値であり、それに 2 の
.Fa *exp .Fa *exp
乗を掛けると 乗を掛けると
.Fa value .Fa value
と等しくなる と等しくなります。
.Em double
の値
.Em x
を戻します。
.Fa value .Fa value
ゼロである場合、結果のどちらの部分もゼロになります。 が 0 である場合、結果のどちらの部分も 0 になります。
.Sh 関連項目 .Sh 関連項目
.Xr ldexp 3 , .Xr ldexp 3 ,
.Xr math 3 , .Xr math 3 ,
@ -79,6 +84,6 @@
.Sh 規格 .Sh 規格
.Fn frexp .Fn frexp
関数は、 関数は、
.St -ansiC .St -isoC
準拠しています。 適合しています。
.\"X kuma 1999-11-6 .\"X kuma 1999-11-6

View file

@ -22,11 +22,11 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" $Id: ftpio.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/libftpio/ftpio.3,v 1.21.2.8 2001/12/17 10:08:30 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 17, 1996 .Dd June 17, 1996
.Dt ftpio 3 .Dt FTPIO 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm ftpLogin , .Nm ftpLogin ,
@ -40,39 +40,47 @@
.Nm ftpPassive , .Nm ftpPassive ,
.Nm ftpVerbose , .Nm ftpVerbose ,
.Nm ftpGetURL , .Nm ftpGetURL ,
.Nm ftpPutURL .Nm ftpPutURL ,
.Nm ftpLoginAf ,
.Nm ftpGetURLAf ,
.Nm ftpPutURLAf
.Nd FTPIO ユーザライブラリ .Nd FTPIO ユーザライブラリ
.Sh 書式 .Sh 書式
.Fd #include <ftpio.h> .In ftpio.h
.Ft FILE * .Ft FILE *
.Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode" .Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode"
.Ft int .Ft int
.Fn ftpChdir "FILE *stream, char *dirname" .Fn ftpChdir "FILE *stream" "char *dirname"
.Ft int .Ft int
.Fn ftpErrno "FILE *stream" .Fn ftpErrno "FILE *stream"
.Ft const char * .Ft const char *
.Fn ftpErrString "int errno" .Fn ftpErrString "int errno"
.Ft time_t .Ft time_t
.Fn ftpGetModtime "FILE *stream, char *file" .Fn ftpGetModtime "FILE *stream" "char *file"
.Ft off_t .Ft off_t
.Fn ftpGetSize "FILE *stream, char *file" .Fn ftpGetSize "FILE *stream" "char *file"
.Ft FILE * .Ft FILE *
.Fn ftpGet "FILE *stream, char *file, off_t *seekto" .Fn ftpGet "FILE *stream" "char *file" "off_t *seekto"
.Ft FILE * .Ft FILE *
.Fn ftpPut "FILE *stream, char *file" .Fn ftpPut "FILE *stream" "char *file"
.Ft int .Ft int
.Fn ftpAscii "FILE *stream" .Fn ftpAscii "FILE *stream"
.Ft int .Ft int
.Fn ftpBinary "FILE *stream" .Fn ftpBinary "FILE *stream"
.Ft int .Ft int
.Fn ftpPassive "FILE *stream, int status" .Fn ftpPassive "FILE *stream" "int status"
.Ft void .Ft void
.Fn ftpVerbose "FILE *stream, int status" .Fn ftpVerbose "FILE *stream" "int status"
.Ft FILE * .Ft FILE *
.Fn ftpGetURL "char *url, char *user, char *passwd, int *retcode" .Fn ftpGetURL "char *url" "char *user" "char *passwd" "int *retcode"
.Ft FILE * .Ft FILE *
.Fn ftpPutURL "char *url, char *user, char *passwd, int *retcode" .Fn ftpPutURL "char *url" "char *user" "char *passwd" "int *retcode"
.Ft FILE *
.Fn ftpLoginAf "char *host" "int af" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode"
.Ft FILE *
.Fn ftpGetURLAf "char *url" "int af" "char *user" "char *passwd" "int *retcode"
.Ft FILE *
.Fn ftpPutURLAf "char *url" "int af" "char *user" "char *passwd" "int *retcode"
.Sh 解説 .Sh 解説
この関数は、FTP コネクションを管理するための この関数は、FTP コネクションを管理するための
高レベルなライブラリを実装します。 高レベルなライブラリを実装します。
@ -88,23 +96,23 @@
.Fa verbose .Fa verbose
フィールドを フィールドを
使用してログインしようとします。ログインに成功すれば、標準的な 使用してログインしようとします。ログインに成功すれば、標準的な
ストリーム記述子がされます。この記述子は、後の FTP オペレーションに ストリーム記述子がされます。この記述子は、後の FTP オペレーションに
渡してください。エラーが発生した場合は NULL がされ、 渡してください。エラーが発生した場合は NULL がされ、
.Fa retcode .Fa retcode
には、外部サーバがすエラーコードが入ります。 には、外部サーバがすエラーコードが入ります。
.Pp .Pp
.Fn ftpChdir .Fn ftpChdir
は、サーバの CD コマンドを出し、 は、サーバの CD コマンドを出し、
.Fa dir .Fa dir
で指定された で指定された
ディレクトリに変更しようとします。問題がなければゼロが戻されます。 ディレクトリに変更しようとします。問題がなければ 0 が返されます。
問題がある場合は、サーバのエラーコードがされます。 問題がある場合は、サーバのエラーコードがされます。
.Pp .Pp
.Fn ftpErrno .Fn ftpErrno
は、最後のオペレーションのサーバエラーコードをします。 は、最後のオペレーションのサーバエラーコードをします。
FTP のエラーコードに精通している場合は、エラーの原因の確認に有益です。 FTP のエラーコードに精通している場合は、エラーの原因の確認に有益です。
.Fn ftpErrString .Fn ftpErrString
は、人間が判読できるサーバエラーコードをします。 は、人間が判読できるサーバエラーコードをします。
.Pp .Pp
.Fn ftpGet .Fn ftpGet
は、 は、
@ -112,28 +120,28 @@ FTP
引数が指定するファイルを取り出し (FTP サーバのカレントディレクトリ 引数が指定するファイルを取り出し (FTP サーバのカレントディレクトリ
からの相対パスと想定される。 からの相対パスと想定される。
.Fn ftpChdir .Fn ftpChdir
参照)、そのファイルのための新しい FILE* ポインタをします。 参照)、そのファイルのための新しい FILE* ポインタをします。
エラーが発生した場合は NULL をします。 エラーが発生した場合は NULL をします。
.Fa seekto .Fa seekto
が NULL ではない場合、これが指す整数の内容は、ファイルの再開ポイント が NULL ではない場合、これが指す整数の内容は、ファイルの再開ポイント
として使用されます。つまり、されたストリームは、ファイルの として使用されます。つまり、されたストリームは、ファイルの
.Fa *seekto .Fa *seekto
バイトを指しているということです。これは、エラーで失敗した転送を バイトを指しているということです。これは、エラーで失敗した転送を
効率的に再開する際に便利です。シーク操作がエラーになった場合、 効率的に再開する際に便利です。シーク操作がエラーになった場合、
.Fa *seekto .Fa *seekto
の値はゼロになります。 の値は 0 になります。
.Pp .Pp
.Fn ftpGetModtime .Fn ftpGetModtime
は、 は、
.Fa file .Fa file
引数が指定するファイルの最終修正時刻を 引数が指定するファイルの最終修正時刻を
戻します。ファイルをオープンできない場合は 0 が戻されます。 返します。ファイルをオープンできない場合は 0 が返されます。
.Pp .Pp
.Fn ftpGetSize .Fn ftpGetSize
は、 は、
.Fa file .Fa file
引数が指定するファイルのサイズをバイト単位で 引数が指定するファイルのサイズをバイト単位で
戻します。ファイルをオープンできない場合は -1 が戻されます。 返します。ファイルをオープンできない場合は -1 が返されます。
.Pp .Pp
.Fn ftpPut .Fn ftpPut
は、 は、
@ -143,7 +151,7 @@ FTP
.Fn ftpChdir .Fn ftpChdir
参照)、ファイルの新しい 参照)、ファイルの新しい
.Fa stream .Fa stream
ポインタを戻します。エラーが発生した場合は NULL を戻します。 ポインタを返します。エラーが発生した場合は NULL を返します。
.Pp .Pp
.Fn ftpAscii .Fn ftpAscii
は、 は、
@ -178,7 +186,7 @@ ASCII
が指定するファイルを取り出します。これは、 が指定するファイルを取り出します。これは、
サーバの サーバの
.Fa stream .Fa stream
されないこと除けば、 されないこと除けば、
.Fn ftpLogin , .Fn ftpLogin ,
.Fn ftpChdir , .Fn ftpChdir ,
.Fn ftpGet .Fn ftpGet
@ -193,7 +201,7 @@ ASCII
が指定するファイルを作成します。これは、 が指定するファイルを作成します。これは、
サーバの サーバの
.Fa stream .Fa stream
されないことを除けば、 されないことを除けば、
.Fn ftpLogin , .Fn ftpLogin ,
.Fn ftpChdir , .Fn ftpChdir ,
.Fn ftpPut .Fn ftpPut
@ -201,16 +209,33 @@ ASCII
サーバとのコネクションは、ファイルが完全に書き込まれた時点で サーバとのコネクションは、ファイルが完全に書き込まれた時点で
クローズされます。複数のファイルを作成する場合は、低レベルのルーチン クローズされます。複数のファイルを作成する場合は、低レベルのルーチン
を使用してください。この方がはるかに効率的です。 を使用してください。この方がはるかに効率的です。
.Pp
.Fn ftpLoginAf ,
.Fn ftpGetURLAf ,
.Fn ftpPutURLAf
は、
.Fn ftpLogin ,
.Fn ftpGetURL ,
.Fn ftpPutURL
と同様ですが、アドレスファミリ
except that they are able to specify address family
.Fa af
を指定可能な点が異なります。
.Sh 環境変数 .Sh 環境変数
.Bl -tag -width FTP_PASSIVE_MODE -offset 123 .Bl -tag -width FTP_PASSIVE_MODE -offset 3n
.It Ev FTP_TIMEOUT .It Ev FTP_TIMEOUT
.Tn FTP .Tn FTP
接続を異常終了させる前に、通信相手からの応答を待つ最大時間 接続を異常終了させる前に、通信相手からの応答を待つ最大時間
(秒単位) です。 (秒単位) です。
.It Ev FTP_PASSIVE_MODE .It Ev FTP_PASSIVE_MODE
パッシブモード 定義されている場合、パッシブモード
.Tn FTP .Tn FTP
を強制的に使用します。 を強制的に使用します。
ただし ``NO'' または ``no'' に定義されている場合は、
アクティブモードを強制的に使用します。
定義されている場合、この変数の設定は、
.Fn ftpPassive
の呼び出しに優先します。
.El .El
.Sh バグ .Sh バグ
こいつを徹底的に使い込むと、内部状態マシンを混乱させてしまう可能性が こいつを徹底的に使い込むと、内部状態マシンを混乱させてしまう可能性が

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,8 +29,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" From: @(#)gethostname.3 8.1 (Berkeley) 6/4/93 .\" From: @(#)gethostname.3 8.1 (Berkeley) 6/4/93
.\" $Id: getbootfile.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/libc/gen/getbootfile.3,v 1.6.2.3 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd September 23, 1994 .Dd September 23, 1994
@ -38,33 +38,36 @@
.Os .Os
.Sh 名称 .Sh 名称
.Nm getbootfile .Nm getbootfile
.Nd カーネル起動ファイル名を取得 .Nd カーネル起動ファイル名を取得する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <paths.h> .In paths.h
.Ft const char * .Ft const char *
.Fn getbootfile void .Fn getbootfile void
.Sh 解説 .Sh 解説
.Fn getbootfile .Fn getbootfile
関数は、現在のカーネルがロードされたファイルのフルパス名を取り出し、そ 関数は、現在のカーネルがロードされてきた元のファイルのフルパス名を取り出し、
の静的ポインタを返します。この情報の読み込み/書き込みインタフェースは、 そのフルパス名への静的ポインタを返します。
この情報の読み込み/書き込みインタフェースは、
.Xr sysctl 3 .Xr sysctl 3
MIB 変数 MIB 変数
.Dq Li kern.bootfile .Dq Li kern.bootfile
によって利用できます。 を介して利用できます。
.Sh 戻り値 .Sh 戻り値
呼び出しが成功した場合はパス名を与えるストリングが返ります。失敗した場合は 呼び出しが成功した場合はパス名を与える文字列が返されます。
null ポインタが返り、エラーコードがグローバルな位置の 失敗した場合はヌルポインタが返され、エラーコードがグローバルな位置にある
.Va errno .Va errno
置かれます。 入れられます。
.Sh 関連項目 .Sh 関連項目
.Xr sysctl 3 .Xr sysctl 3
.Sh バグ .Sh バグ
起動時のカーネルにこの情報を渡すように、起動ブロックが修正されていない 起動時にカーネルへこの情報を渡すように、起動ブロックが修正されていない場合は、
場合は、実際の起動ファイル名の代わりに静的ストリング 実際の起動ファイル名の代わりに静的文字列
.Dq Pa /kernel .Dq Pa /kernel
が返ます。 が返されます。
.Sh 歴史 .Sh 歴史
.Fn getbootfile .Fn getbootfile
関数呼び出しは 関数呼び出しは
.Fx 2.0 .Fx 2.0
最初に登場しました。 はじめて登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1993 .\" Copyright (c) 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,40 +29,45 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getbsize.3 8.1 (Berkeley) 6/4/93 .\" @(#)getbsize.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/getbsize.3,v 1.5.2.3 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
.Dt GETBSIZE 3 .Dt GETBSIZE 3
.Os BSD 4.4 .Os
.Sh 名称 .Sh 名称
.Nm getbsize .Nm getbsize
.Nd ユーザブロックサイズを取得 .Nd ユーザブロックサイズを取得する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <stdlib.h> .In stdlib.h
.Ft char * .Ft char *
.Fn getbsize "int *headerlenp" "long *blocksizep" .Fn getbsize "int *headerlenp" "long *blocksizep"
.Sh 解説 .Sh 解説
.Fn getbsize .Fn getbsize
関数は、ユーザが指定するブロックサイズを、環境変数 関数は、ユーザの好みのブロックサイズを、環境変数
.Dq BLOCKSIZE .Dq BLOCKSIZE
の値に基づいて決定します。詳しい使用法と形式については、 の値に基づいて決定します。
詳しい使用法と形式については、
.Xr environ 7 .Xr environ 7
を参照してください。 を参照してください。
.Pp .Pp
.Fn getbsize .Fn getbsize
関数は、 関数は、
.Dp 1K-blocks .Dq 1K-blocks
のようにブロックサイズを記述する、null で終わるストリングのポインタを のようにブロックサイズを記述する、ヌル文字で終わる文字列へのポインタを
返します。 返します。
.Fa headerlenp .Fa headerlenp
によって参照されるメモリ によって参照されるメモリには、
は、(終端の null を含まない)このストリングの長さによって満たされます。 (終端のヌル文字を含まない) この文字列の長さが入れられます。
.Fa blocksizep .Fa blocksizep
で参照されるメモリは、バイト数によるブロックサイズによって満たされます。 で参照されるメモリには、バイト単位のブロックサイズが入れられます。
.Pp .Pp
ユーザのブロックサイズ指定が不当な場合は、標準エラーに警告メッセージが ユーザのブロックサイズ指定が不当な場合は、
書かれます。返された情報は 512 バイトのブロックサイズを反映します。 標準エラー出力に警告メッセージが書かれ、
返される情報は 512 バイトのブロックサイズを反映したものとなります。
.Sh 関連項目 .Sh 関連項目
.Xr df 1 , .Xr df 1 ,
.Xr du 1 , .Xr du 1 ,
@ -73,4 +78,4 @@
.Fn getbsize .Fn getbsize
関数は 関数は
.Bx 4.4 .Bx 4.4
最初に登場しました。 はじめて登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1991, 1993 .\" 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,19 +29,21 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getcwd.3 8.2 (Berkeley) 12/11/93 .\" @(#)getcwd.3 8.2 (Berkeley) 12/11/93
.\" $Id: getcwd.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/libc/gen/getcwd.3,v 1.7.2.6 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd November 24, 1997 .Dd November 24, 1997
.Dt GETCWD 3 .Dt GETCWD 3
.Os BSD 4.2 .Os
.Sh 名称 .Sh 名称
.Nm getcwd , .Nm getcwd ,
.Nm getwd .Nm getwd
.Nd 作業ディレクトリのパス名を取得 .Nd 作業ディレクトリのパス名を取得する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .In unistd.h
.Ft char * .Ft char *
.Fn getcwd "char *buf" "size_t size" .Fn getcwd "char *buf" "size_t size"
.Ft char * .Ft char *
@ -52,7 +54,7 @@
.Fa buf .Fa buf
で参照されるメモリにコピーし、 で参照されるメモリにコピーし、
.Fa buf .Fa buf
のポインタを返します。 のポインタを返します。
.Fa size .Fa size
引数は、 引数は、
.Fa buf .Fa buf
@ -61,36 +63,37 @@
.Fa buf .Fa buf
.Dv NULL .Dv NULL
の場合は、パス名を保存するのに必要なだけの空間が割り振られます。この空 の場合は、パス名を保存するのに必要なだけの空間が割り振られます。
間は後で この空間は後で
.Xr free 3 .Xr free 3
できます。 できます。
.Pp .Pp
関数 関数
.Fn getwd .Fn getwd
.Fn getcwd .Fn getcwd
呼び出す互換性ルーチンです。
.Fa buf .Fa buf
引数および、(インクルードファイル 引数と、サイズとして (インクルードファイル
.Aq Pa sys/param.h .Aq Pa sys/param.h
で定義された) で定義された)
.Dv MAXPATHLEN .Dv MAXPATHLEN
のサイズを持ちます。 を用いて呼び出したのと同等の関数です。
.Fa buf .Fa buf
が少なくとも、 が少なくとも、
.Dv MAXPATHLEN .Dv MAXPATHLEN
バイトの長さを持たなければならないことは明らかです。 バイトの長さを持たなければならないことは明らかです。
.Pp .Pp
これらのルーチンは従来、そこへ戻るために作業ディレクトリの名前を保存す これらのルーチンは従来、作業ディレクトリに戻ってくるために
プログラムによって使用されてきました。これをより速く誤りなく遂行する その名前を保存するようなプログラムによって使用されてきました。
ものとして、カレントディレクトリ これをより速く誤りなく遂行するものとして、カレントディレクトリ
.Pq Ql \&. .Pq Ql .\&
をオープンし、 をオープンしておき
.Xr fchdir 2 .Xr fchdir 2
関数を使って戻る方法があります。 関数を使って戻る方法があります。
.Sh 戻り値 .Sh 戻り値
無事に完了した場合はパス名のポインタが返ります。その他の場合は 無事に完了した場合はパス名へのポインタが返ります。
そうでなければ
.Dv NULL .Dv NULL
ポインタが返り、エラーを示すためグローバル変数 ポインタが返り、エラーを示すためグローバル変数
.Va errno .Va errno
@ -104,22 +107,21 @@
.Sh エラー .Sh エラー
.Fn getcwd .Fn getcwd
関数は次の場合に失敗します。 関数は次の場合に失敗します。
.Bl -tag -width [EACCES] .Bl -tag -width Er
.It Bq Er EACCES .It Bq Er EACCES
読み込みまたは検索パーミッションが、パス名の構成要素のため拒否されまし パス名の構成要素において、
た。 読み込みまたは検索のパーミッションが拒否されました。
.Pp .Pp
.It Bq Er EINVAL .It Bq Er EINVAL
.Fa size .Fa size
引数がゼロです。 引数が 0 です。
.It Bq Er ENOENT .It Bq Er ENOENT
パス名の構成要素がもはや存在しません。 パス名の構成要素がもはや存在しません。
.It Bq Er ENOMEM .It Bq Er ENOMEM
利用できるメモリが十分ではありません。 利用できるメモリが十分ではありません。
.It Bq Er ERANGE .It Bq Er ERANGE
.Fa size .Fa size
引数はゼロよりも大きいが、パス名 + 1 引数が、0 よりも大きいですが、パス名 + 1 よりも小さいです。
よりも小さいので不当です。
.El .El
.Sh 関連項目 .Sh 関連項目
.Xr chdir 2 , .Xr chdir 2 ,
@ -130,18 +132,19 @@
.Sh 規格 .Sh 規格
.Fn getcwd .Fn getcwd
関数は、 関数は、
.St -ansiC .St -p1003.1-90
準拠しています。 適合しています。
.Dv NULL .Dv NULL
ポインタを指定して、必要に応じて ポインタを指定して、必要に応じて
.Fn getcwd .Fn getcwd
にメモリを割り振る機能は拡張部分です。 にメモリを割り振らせる機能は拡張部分です。
.Sh 歴史 .Sh 歴史
.Fn getwd .Fn getwd
関数は 関数は
.Bx 4.0 .Bx 4.0
最初に取り入れられました。 はじめて登場しました。
.Sh バグ .Sh バグ
.Fn getwd .Fn getwd
関数はエラーチックを十分に行いません。非常に長いパス名は、有効でも返す 関数はエラーチェックを十分に行っていません。
ことができません。互換性を考える上で注意が必要です。 また非常に長いパス名は、有効でも返すことができません。
この関数は、互換性のために提供されています。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,25 +29,29 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getdiskbyname.3 8.1 (Berkeley) 6/4/93 .\" @(#)getdiskbyname.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/getdiskbyname.3,v 1.3.2.4 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
.Dt GETDISKBYNAME 3 .Dt GETDISKBYNAME 3
.Os BSD 4.2 .Os
.Sh 名称 .Sh 名称
.Nm getdiskbyname .Nm getdiskbyname
.Nd ディスク名によって包括ディスク記述を取得 .Nd ディスク名から包括的なディスクの記述を取得する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/disklabel.h> .In sys/disklabel.h
.Ft struct disklabel * .Ft struct disklabel *
.Fn getdiskbyname "const char *name" .Fn getdiskbyname "const char *name"
.Sh 解説 .Sh 解説
.Fn getdiskbyname .Fn getdiskbyname
関数はディスク名(たとえば 関数はディスク名 (たとえば
.Ql rm03 ) .Ql rm03 )
を取得し、ジオメトリ情報および標準のディスクパーティションテーブルを記 を引数に取り、ジオメトリ情報および標準のディスクパーティションテーブルを
述する、プロトタイプのディスクラベルを返します。すべての情報は 記述する、プロトタイプのディスクラベルを返します。
すべての情報は
.Xr disktab 5 .Xr disktab 5
ファイルから得られます。 ファイルから得られます。
.Sh 関連項目 .Sh 関連項目
@ -58,4 +62,4 @@
.Fn getdiskbyname .Fn getdiskbyname
関数は 関数は
.Bx 4.3 .Bx 4.3
最初に登場しました。 はじめて登場しました。

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions .\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution. .\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software .\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement: .\" must display the following acknowledgement:
.\" This product includes software developed by the University of .\" This product includes software developed by the University of
.\" California, Berkeley and its contributors. .\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of 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 .\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission. .\" without specific prior written permission.
@ -29,58 +29,59 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93 .\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93
.\" $Id: getdomainname.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/libc/gen/getdomainname.3,v 1.9.2.5 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd May 6, 1994 .Dd May 6, 1994
.Dt GETDOMAINNAME 3 .Dt GETDOMAINNAME 3
.Os BSD 4.2 .Os
.Sh 名称 .Sh 名称
.Nm getdomainname , .Nm getdomainname ,
.Nm setdomainname .Nm setdomainname
.Nd 現在のホストのドメイン名を取得/設定 .Nd 現在のホストのドメイン名を取得/設定する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .In unistd.h
.Ft int .Ft int
.Fn getdomainname "char *name" "int namelen" .Fn getdomainname "char *name" "int namelen"
.Ft int .Ft int
.Fn setdomainname "const char *name" "int namelen" .Fn setdomainname "const char *name" "int namelen"
.Sh 解説 .Sh 解説
.Fn Getdomainname .Fn getdomainname
は前 、以
.Fn setdomainname .Fn setdomainname
によって設定された現在のプロセッサの標準ドメイン名を返します。パラメー によって設定された現在のプロセッサの標準ドメイン名を返します。
パラメー
.Fa namelen .Fa namelen
.Fa name .Fa name
配列のサイズを指定します。空間が十分にない場合を除いて、返される値は 配列のサイズを指定します。
null で終わります。 不十分な空間が渡されない限り、返される値はヌル文字で終了します。
.Pp .Pp
.Fn Setdomainname .Fn setdomainname
は、
.Fa name ホストマシンのドメイン名を長さ
するホストマシンの、長さ
.Fa namelen .Fa namelen
のドメイン名を設定します。この呼び出しはスーパユーザに限定されます。通
常はシステムを、ブートストラップする場合にだけ使用されます。 .Fa name
に設定します。
この呼び出しはスーパユーザに限定されており、
通常はシステムを起動する時にだけ使用されます。
.Sh 戻り値 .Sh 戻り値
呼び出しに成功した場合は値 0が返ります。呼び出しに失敗した場合は値 -1 .Rv -std
が返り、グローバルな位置
.Va errno
にエラーコードが置かれます。
.Sh エラー .Sh エラー
これらの呼び出しによって、次のエラーが返る場合があります。 これらの関数呼び出しによって、次のエラーが返る場合があります。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EFAULT .It Bq Er EFAULT
.Fa name .Fa name
または または
.Fa namelen .Fa namelen
パラメータに与えたアドレスが無効です。 パラメータで示されたアドレスが無効です。
.It Bq Er EPERM .It Bq Er EPERM
呼び出し元がホスト名を設定しようとしましたが、スーパユーザではありませ 呼び出し元がホスト名を設定しようとしましたが、
スーパユーザではありませんでした
.El .El
.Sh 関連項目 .Sh 関連項目
.Xr gethostid 3 , .Xr gethostid 3 ,
@ -89,11 +90,11 @@ null
.Sh バグ .Sh バグ
ドメイン名は、( ドメイン名は、(
.Ao Pa sys/param.h Ac .Ao Pa sys/param.h Ac
による) より)
.Dv MAXHOSTNAMELEN .Dv MAXHOSTNAMELEN
長さのキャラクタ、現在 256 文字に限られています。 に制限されており、これは現在 256 文字です。
.Sh 歴史 .Sh 歴史
.Fn getdomainname .Fn getdomainname
関数呼び出しは、 関数呼び出しは、
.Bx 4.2 .Bx 4.2
最初に登場しました。 はじめて登場しました。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)gethostid.3 8.1 (Berkeley) 6/2/93 .\" @(#)gethostid.3 8.1 (Berkeley) 6/2/93
.\" %FreeBSD: src/lib/libc/compat-43/gethostid.3,v 1.5.2.5 2001/12/14 18:33:49 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 2, 1993 .Dd June 2, 1993
@ -38,9 +39,11 @@
.Sh 名称 .Sh 名称
.Nm gethostid , .Nm gethostid ,
.Nm sethostid .Nm sethostid
.Nd 現在のホストの固有の識別子の取得/設定 .Nd 現在のホストの固有の識別子の取得 / 設定
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .In unistd.h
.Ft long .Ft long
.Fn gethostid void .Fn gethostid void
.Ft void .Ft void
@ -55,7 +58,7 @@
.Fn gethostid .Fn gethostid
は、現在のプロセッサの 32 ビット識別子を返します。 は、現在のプロセッサの 32 ビット識別子を返します。
.Pp .Pp
この関数はこれまで非難されてきました。 この関数は旧式なものとなりました。
hostid の設定および取り出しには hostid の設定および取り出しには
.Xr sysctl 3 .Xr sysctl 3
を使用すべきです。 を使用すべきです。
@ -71,6 +74,6 @@ hostid
.Fn sethostid .Fn sethostid
システムコールは、 システムコールは、
.Bx 4.2 .Bx 4.2
最初に取り入れられ 登場し
.Bx 4.4 .Bx 4.4
で打ち切られました。 で打ち切られました。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93 .\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/gethostname.3,v 1.5.2.5 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
@ -38,9 +39,11 @@
.Sh 名称 .Sh 名称
.Nm gethostname , .Nm gethostname ,
.Nm sethostname .Nm sethostname
.Nd 現在のホストの名前の取得/設定 .Nd 現在のホストの名前の取得 / 設定
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .In unistd.h
.Ft int .Ft int
.Fn gethostname "char *name" "int namelen" .Fn gethostname "char *name" "int namelen"
.Ft int .Ft int
@ -65,11 +68,7 @@
この呼び出しはスーパユーザに限定され、 この呼び出しはスーパユーザに限定され、
通常はシステムのブートストラップ時にだけ実行されます。 通常はシステムのブートストラップ時にだけ実行されます。
.Sh 戻り値 .Sh 戻り値
呼び出しが成功すると値 0 が返ります。 .Rv -std
呼び出しが失敗すると値 -1 が返り、
グローバルな位置の
.Va errno
にエラーコードが置かれます。
.Sh エラー .Sh エラー
これらの呼び出しによって、次のエラーが返る場合があります。 これらの呼び出しによって、次のエラーが返る場合があります。
.Bl -tag -width Er .Bl -tag -width Er
@ -88,10 +87,13 @@
.Sh バグ .Sh バグ
ホスト名の長さが MAXHOSTNAMELEN ( ホスト名の長さが MAXHOSTNAMELEN (
.Ao Pa sys/param.h Ac .Ao Pa sys/param.h Ac
から取得) 文字に制限されています。 から取得) 文字に制限されてあり、
現在は 256 文字です。 現在の設定は 256 文字です。
この文字には末尾の
.Dv ヌル
も含みます。
.Sh 歴史 .Sh 歴史
.Fn gethostname .Fn gethostname
関数の呼び出しは、 関数は、
.Bx 4.2 .Bx 4.2
最初に取り入れられました。 はじめて登場しました。

View file

@ -22,17 +22,19 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" $Id: getobjformat.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" %FreeBSD: src/lib/libc/gen/getobjformat.3,v 1.3.2.5 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd September 7, 1998 .Dd September 7, 1998
.Dt GETOBJFORMAT 3 .Dt GETOBJFORMAT 3
.Os FreeBSD .Os
.Sh 名称 .Sh 名称
.Nm getobjformat .Nm getobjformat
.Nd 優先オブジェクトファイルフォーマットの取得 .Nd 優先オブジェクトファイルフォーマットの取得
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <objformat.h> .In objformat.h
.Ft int .Ft int
.Fn getobjformat "char *buf" "size_t bufsize" "int *argcp" "char **argv" .Fn getobjformat "char *buf" "size_t bufsize" "int *argcp" "char **argv"
.Sh 解説 .Sh 解説
@ -118,12 +120,14 @@
.Pa /etc/objformat .Pa /etc/objformat
に優先します。 に優先します。
.El
.Sh 関連ファイル .Sh 関連ファイル
.Bl -tag -width /etc/objformat -compact .Bl -tag -width /etc/objformat -compact
.It Pa /etc/objformat .It Pa /etc/objformat
存在すればこれが、使用するオブジェクトファイルフォーマットを指定します。構文は 存在すればこれが、使用するオブジェクトファイルフォーマットを指定します。構文は
.Ql OBJFORMAT=xxx .Ql OBJFORMAT=xxx
です。 です。
.El
.Sh 関連項目 .Sh 関連項目
.Xr objformat 1 .Xr objformat 1
.Pp .Pp
@ -131,4 +135,4 @@
.Fn getobjformat .Fn getobjformat
関数は 関数は
.Fx 3.0 .Fx 3.0
最初に取り入れられました。 はじめて登場しました。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getttyent.3 8.1 (Berkeley) 6/4/93 .\" @(#)getttyent.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/getttyent.3,v 1.9.2.3 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd November 17, 1996 .Dd November 17, 1996
@ -44,8 +45,10 @@
.Nm isdialuptty , .Nm isdialuptty ,
.Nm isnettty .Nm isnettty
.Nd ファイルエントリから tty タイプを決める .Nd ファイルエントリから tty タイプを決める
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <ttyent.h> .In ttyent.h
.Ft struct ttyent * .Ft struct ttyent *
.Fn getttyent void .Fn getttyent void
.Ft struct ttyent * .Ft struct ttyent *
@ -72,8 +75,7 @@ struct ttyent {
char *ty_name; /* 端末デバイス名 */ char *ty_name; /* 端末デバイス名 */
char *ty_getty; /* 実行するコマンド、通常は getty */ char *ty_getty; /* 実行するコマンド、通常は getty */
char *ty_type; /* termcap の端末タイプ */ char *ty_type; /* termcap の端末タイプ */
#define TTY_ON 0x01 /* ログインの有効化 (ty_getty #define TTY_ON 0x01 /* ログイン有効化 (ty_getty プログラム開始) */
プログラムの開始) */
#define TTY_SECURE 0x02 /* uid 0 でのログイン許可 */ #define TTY_SECURE 0x02 /* uid 0 でのログイン許可 */
#define TTY_DIALUP 0x04 /* ダイアルアップ tty */ #define TTY_DIALUP 0x04 /* ダイアルアップ tty */
#define TTY_NETWORK 0x08 /* ネットワーク tty */ #define TTY_NETWORK 0x08 /* ネットワーク tty */
@ -87,9 +89,7 @@ struct ttyent {
フィールドは次のとおりです。 フィールドは次のとおりです。
.Bl -tag -width ty_comment .Bl -tag -width ty_comment
.It Fa ty_name .It Fa ty_name
キャラクタ キャラクタ特殊ファイル名。
-
特殊ファイル名。
.It Fa ty_getty .It Fa ty_getty
tty tty
回線特性の初期化のため、 回線特性の初期化のため、
@ -125,37 +125,33 @@ tty
をダイアルイン回線として識別します。この をダイアルイン回線として識別します。この
フラグが設定されると、 フラグが設定されると、
.Fn isdialuptty .Fn isdialuptty
は非ゼロ値を返します。 は非 0 値を返します。
.It Dv TTY_NETWORK .It Dv TTY_NETWORK
ネットワーク接続に使用された ネットワーク接続に使用された
tty tty
を識別します。このフラグが設定されると、 を識別します。このフラグが設定されると、
.Fn isnettty .Fn isnettty
は非ゼロ値を返します。 は非 0 値を返します。
.El .El
.It Fa ty_window .It Fa ty_window
回線に関連するウィンドウシステムを実行するコマンドです。 回線に関連するウィンドウシステムを実行するコマンドです。
.It Fa ty_group .It Fa ty_group
ttys tty
が所属するグループ名です。 が所属するグループ名です。
ttys ttys
記述ファイルにグループの指定がない場合は、 記述ファイルにグループの指定がない場合は、"none"
"none"
と呼ばれる無名グループにその と呼ばれる無名グループにその
tty tty
が置かれます。 が置かれます。
.It Fa ty_comment .It Fa ty_comment
先頭にシャープ 終端のコメントフィールドであり、
(``#'') 先頭のハッシュマーク (``#'') と余白はすべて除去されます。
が付くかまたは余白がある、終端の
コメントフィールドはすべて除去されます。
.El .El
.Pp .Pp
キャラクタストリングを示すフィールドが未指定の場合、それらはすべて キャラクタストリングを示すフィールドが未指定の場合、それらはすべて
null ヌルポインタとして返ります。指定されたフラグ値がない場合、フィールド
ポインタとして返ります。指定されたフラグ値がない場合、フィールド
.Fa ty_status .Fa ty_status
ゼロになります。 0 になります。
.Pp .Pp
このフィールドの意味および用法の詳細な説明については、 このフィールドの意味および用法の詳細な説明については、
.Xr ttys 5 .Xr ttys 5
@ -186,9 +182,7 @@ ttys
.Fn getttynam .Fn getttynam
は、 は、
.Dv EOF .Dv EOF
またはエラーでいずれも またはエラーでいずれもヌルポインタを返します。
Null
ポインタを返します。
.Fn setttyent .Fn setttyent
関数および 関数および
.Fn endttyent .Fn endttyent
@ -205,35 +199,28 @@ tty
に関連する に関連する
tty tty
エントリに、ダイアルアップまたはネットワークフラグが エントリに、ダイアルアップまたはネットワークフラグが
設定されていなければ非ゼロを返し、その他の場合はゼロを返します。 設定されていなければ非 0 を返し、その他の場合は 0 を返します。
.Sh 関連ファイル .Sh 関連ファイル
.Bl -tag -width /etc/ttys -compact .Bl -tag -width /etc/ttys -compact
.It Pa /etc/ttys .It Pa /etc/ttys
.El .El
.Sh 関連項目 .Sh 関連項目
.Xr login 1 .Xr login 1 ,
.Xr ttyslot 3 ,
.Xr ttyslot 3 .Xr gettytab 5 ,
.Xr termcap 5 ,
.Xr gettytab 5 .Xr ttys 5 ,
.Xr termcap 5
.Xr ttys 5
.Xr getty 8 , .Xr getty 8 ,
.Xr init 8 .Xr init 8
.Sh 歴史 .Sh 歴史
.Fn getttyent 関数
.Fn getttyent ,
.Fn getttynam .Fn getttynam ,
.Fn setttyent ,
.Fn setttyent
および
.Fn endttyent .Fn endttyent
関数は、
.Bx 4.3 .Bx 4.3
最初に取り入れられました。 はじめて登場しました。
.Sh バグ .Sh バグ
これらの関数は静的データ記憶域を使用します。後で使用するデータの場合は、 これらの関数は静的データ記憶域を使用します。後で使用するデータの場合は、
以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。 以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_getvfsbyname.3 8.3 (Berkeley) 5/4/95 .\" @(#)kvm_getvfsbyname.3 8.3 (Berkeley) 5/4/95
.\" %FreeBSD: src/lib/libc/gen/getvfsbyname.3,v 1.7.2.5 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd May 4, 1995 .Dd May 4, 1995
@ -38,19 +39,22 @@
.Sh 名称 .Sh 名称
.Nm getvfsbyname .Nm getvfsbyname
.Nd ファイルシステムについての情報を取得 .Nd ファイルシステムについての情報を取得
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/param.h> .In sys/param.h
.Fd #include <sys/mount.h> .In sys/mount.h
.Ft int .Ft int
.Fn getvfsbyname "const char *name" "struct vfsconf *vfc" .Fn getvfsbyname "const char *name" "struct vfsconf *vfc"
.Sh 解説 .Sh 解説
.Fn getvfsbyname .Fn getvfsbyname
関数によって、カーネルに構成されたファイルシステムモジュール 関数は、カーネルに構成されているファイルシステムモジュール
の、関連情報にアクセスできます。成功した場合は要求されたファイルシステム に関する情報へのアクセスを提供します。
成功した場合は、要求されたファイルシステム
.Fa vfsconf .Fa vfsconf
.Fa vfc .Fa vfc
の指す位置に返ます。構造体 の指す位置に返ます。構造体
.Dq Li struct vfsconf .Dq Li struct vfsconf
のフィールドは、次のように定義されます。 のフィールドは、次のように定義されます。
.Pp .Pp
@ -58,21 +62,16 @@
.It vfc_name .It vfc_name
ファイルシステムの名前 ファイルシステムの名前
.It vfc_typenum .It vfc_typenum
カーネルによって割り当てられたファイルシステムの カーネルによって割り当てられたファイルシステムの
タイプ番号 タイプ番号
.It vfc_refcount .It vfc_refcount
ファイルシステムを使用する、アクティブ実装ポイントの番号 ファイルシステムを使用するアクティブなポイントの番号
.It vfc_flags .It vfc_flags
ファイルシステムを使用する、新たな実装ポイントの初期化 .Xr getvfsent 3
フラグビット に記述されるフラグビット
.El .El
.Sh 戻り値 .Sh 戻り値
.Nm getvfsbyname .Rv -std getvfsbyname
の呼び出しに成功した場合は
0 が、その他の場合は
\-1 が返り、
.Va errno
がそれぞれのエラーに対応して設定されます。
.Sh エラー .Sh エラー
次のエラーが報告される場合があります。 次のエラーが報告される場合があります。
.Bl -tag -width Er .Bl -tag -width Er
@ -83,16 +82,15 @@
ファイルシステムを指定する ファイルシステムを指定する
.Fa name .Fa name
が未知か、またはカーネルに構成されていません。 が未知か、またはカーネルに構成されていません。
.El
.Sh 関連項目 .Sh 関連項目
.Xr sysctl 1 .Xr mount 2 ,
.Xr getvfsent 3 ,
.Xr mount 2 .Xr sysctl 3 ,
.Xr mount 8 ,
.Xr sysctl 3 .Xr sysctl 8
.Xr mount 8
.Sh 歴史 .Sh 歴史
.Fn getvfsbyname .Fn getvfsbyname
関数の変形は、 関数は、
.Fx 2.0 .Fx 2.0
最初に取り入れられました。 はじめて登場しました。

View file

@ -1,4 +1,4 @@
.\" $Id: getvfsent.3,v 1.5 2002-05-18 07:12:55 horikawa Exp $ .\" %FreeBSD: src/lib/libc/gen/getvfsent.3,v 1.17.2.5 2001/12/14 18:33:51 ru Exp %
.\" Written by Garrett A. Wollman, September 1994. .\" Written by Garrett A. Wollman, September 1994.
.\" This manual page is in the public domain. .\" This manual page is in the public domain.
.\" .\"
@ -13,9 +13,11 @@
.Nm vfsisloadable , .Nm vfsisloadable ,
.Nm vfsload .Nm vfsload
.Nd 仮想ファイルシステムモジュールを管理 .Nd 仮想ファイルシステムモジュールを管理
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/param.h> .In sys/param.h
.Fd #include <sys/mount.h> .In sys/mount.h
.Ft struct ovfsconf * .Ft struct ovfsconf *
.Fn getvfsent "void" .Fn getvfsent "void"
.Ft void .Ft void
@ -28,11 +30,11 @@
.Fn vfsload "const char *name" .Fn vfsload "const char *name"
.Sh 解説 .Sh 解説
.Fn getvfsent .Fn getvfsent
関数によって、カーネルが管理する仮想ファイルシステムモジュール 関数によって、カーネルが管理するインストール済の仮想ファイルシステムモジュール
実装リストに、簡単にアクセスできます。リストのファイルシステムを のリストに、簡単にアクセスできます。リストのファイルシステムを
1 回に 1 回に
1 つづつ段階的に処理します。利用できるデータがそれ以上なくなると、 1 つづつ段階的に処理します。利用できるデータがそれ以上なくなると、
null ヌル
ポインタが返ります。構造体 ポインタが返ります。構造体
.Dq Li struct ovfsconf .Dq Li struct ovfsconf
のフィールドは次のとおりです。 のフィールドは次のとおりです。
@ -46,12 +48,28 @@ null
の呼び出しに使用された、ファイルシステムのタイプ番号。 の呼び出しに使用された、ファイルシステムのタイプ番号。
.It vfc_refcount .It vfc_refcount
このファイルシステムの参照数 このファイルシステムの参照数
(通常は実装数ですが、 (通常はマウント数ですが、
アンロードできないファイルシステム、または静的にこのカーネルにリンク アンロードできないかカーネルに静的にリンクされている
されているファイルシステムなどがあると、実装数を上回ります) ファイルシステムでは、マウント数に 1 を加えたものになります)。
.It vfc_flags .It vfc_flags
現在なにも定義されていないフラグビット。 フラグビット。
.El
.Pp
フラグは次のように定義されています:
.Pp
.Bl -tag -width VFCF_SYNTHETIC -compact
.It Dv VFCF_STATIC
カーネルに静的に組み込まれている
.It Dv VFCF_NETWORK
データをネットワーク経由で取得し得る
.It Dv VFCF_READONLY
書き込みは未実装
.It Dv VFCF_SYNTHETIC
データは実ファイルを表現しない
.It Dv VFCF_LOOPBACK
マウント済みのファイルシステムに対する別名
.It Dv VFCF_UNICODE
ファイル名を Unicode で格納
.El .El
.Pp .Pp
.Fn setvfsent .Fn setvfsent
@ -65,7 +83,7 @@ null
.Fn setvfsent .Fn setvfsent
.Fa cachelist .Fa cachelist
パラメータがゼロでなければ、これら パラメータが 0 でなければ、これら
検索関数のどれかを最初に呼び出した時点でリストはただ 検索関数のどれかを最初に呼び出した時点でリストはただ
1 回だけ取り出され、 1 回だけ取り出され、
キャッシュをクリアするために キャッシュをクリアするために
@ -78,58 +96,35 @@ null
を使用するプログラムによって呼び出される必要があり、 を使用するプログラムによって呼び出される必要があり、
.Fn setvfsent 0 .Fn setvfsent 0
(これもデフォルトの状態で) (これもデフォルトの状態で)、
.Fn vfsload .Fn vfsload
関数を使用するプログラムによって呼び出される必要があります。 関数を使用するプログラムによって呼び出される必要があります。
.Pp .Pp
.Fn vfsisloadable .Fn vfsisloadable
関数は、後で 関数は、後で
.Fn vfsload name .Fn vfsload name
の呼び出しが続きそうだと非ゼロ値を返します。ここで の呼び出しが続きそうだと非 0 値を返します。ここで
「そう」と言うのは、 .Dq そう
.Fn vfsisloadable と言うのは、
によってチェックされる条件だけが、
.Fn vfsload
が後続するために必要な条件の小さな
サブセットだからです。詳しく説明すれば、
.Fn vfsisloadable .Fn vfsisloadable
.Pa /dev/lkm .Fn vfsload
が成功するための条件をチェックしないからです。
存在するか、書き込みのためにオープンできるか、また
LKM
(ロード可能カーネルモジュール)
用に指定したディレクトリの
1 つで、
.Pa Ns Fa name Ns _mod.o
見付かるかなどをチェックします。
.Pp .Pp
.Fn vfsload .Fn vfsload
関数は、ファイルシステム 関数は、ファイルシステム
.Fa name .Fa name
の実装カーネルモジュールをロード の実装カーネルモジュールをロード
しようと試みます。ファイルシステムモジュールを無事に突き止めてロードした しようと試みます。ファイルシステムモジュールを無事に突き止めてロードした
場合はゼロが、その他の場合は非ゼロが返ります。この関数を呼び出せるのは次に 場合は 0 が、その他の場合は非 0 が返ります。この関数を呼び出せるのは次に
示す状況だけです。 示す状況だけです。
.Bl -enum .Bl -enum
.It .It
.Fn getvfsbyname .Fn getvfsbyname
を呼び出して非ゼロ値が返った場合。 を呼び出して非 0 値が返った場合。
.It .It
.Fn vfsisloadable .Fn vfsisloadable
を呼び出して非ゼロ値が返った場合。 を呼び出して非 0 値が返った場合。
.It
十分な一時ファイル空間が利用でき、
.No Ns \&${ Ns Ev TMPDIR Ns \&}
.Pa /var/tmp
または
.Pa /tmp
1 つに
書き込みもできる場合。
.El .El
.Pp .Pp
.Xr mount_cd9660 8 .Xr mount_cd9660 8
@ -157,7 +152,7 @@ if (mount(vfc.vfc_name, dir, mntflags, &args) < 0)
.Sh 戻り値 .Sh 戻り値
.Fn getvfsent .Fn getvfsent
ルーチンは、成功すると静的データ構造体のポインタを、失敗すると ルーチンは、成功すると静的データ構造体のポインタを、失敗すると
null ヌル
ポインタを返します。原因が ポインタを返します。原因が
.Xr sysctl 3 .Xr sysctl 3
または または
@ -171,60 +166,19 @@ null
は改変されません。 は改変されません。
.Pp .Pp
.Fn vfsload .Fn vfsload
関数は失敗すると非ゼロ値を、成功するとゼロを返します。 関数は失敗すると非 0 値を、成功すると 0 を返します。
.Fn vfsload .Fn vfsload
が失敗した場合、 が失敗した場合、
.Xr kldload 2
用に記述された
.Va errno .Va errno
がフォーク 値が設定され得ます。
.Xr fork 2
.Xr waitpid 2
.Xr chdir 2
または
.Xr execlp 3
用としてドキュメントされた値の
1 つに設定されるか、または、
現在特に有用ではないにしても結局は便利な
.Xr modload 8
プログラムの、
ステータスを返す可能性があります。さらに、もし
.Xr modload 8
がシグナルで終了した場合、
.Fn vfsload
は失敗し
.Va errno
.Er EINVAL
に設定します。
.Sh 環境変数
.Bl -tag -compact -width TMPDIRx
.It Ev TMPDIR
.Fn vfsload
に代わって
.Xr modload 8
によって作成された一時ファイルの位置。
.It Ev LKMDIR
ロード可能モジュールを検索する
.Fn vfsisloadable
および
.Fn vfsload
用の代替ディレクトリ。
.Sh 関連項目 .Sh 関連項目
.Xr mount 2 .Xr kldload 2 ,
.Xr mount 2 ,
.Xr modload 8
.Xr mount 8 .Xr mount 8
.Sh バグ
.Xr modload 8
コマンドの戻り値は、
.Va errno
値として解釈する場合
(もっと言えば、ほかのどんなものとして解釈する場合も)、
特に有用ではありません。
.Sh 作者 .Sh 作者
.An -nosplit
このロード可能ファイルシステムサポートは、 このロード可能ファイルシステムサポートは、
.An Terry Lambert .An Terry Lambert
による汎用のロード可能カーネルモジュールサポートをベースに、 による汎用のロード可能カーネルモジュールサポートをベースに、
@ -234,4 +188,4 @@ null
.Fn getvfsent .Fn getvfsent
関数ファミリは 関数ファミリは
.Fx 2.0 .Fx 2.0
最初に取り入れられました。 はじめて登場しました。

View file

@ -32,6 +32,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)glob.3 8.3 (Berkeley) 4/16/94 .\" @(#)glob.3 8.3 (Berkeley) 4/16/94
.\" %FreeBSD: src/lib/libc/gen/glob.3,v 1.7.2.9 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd April 16, 1994 .Dd April 16, 1994
@ -40,12 +41,14 @@
.Sh 名称 .Sh 名称
.Nm glob , .Nm glob ,
.Nm globfree .Nm globfree
.Sh ライブラリ
.Lb libc
.Nd パターンに適合するパス名を生成 .Nd パターンに適合するパス名を生成
.Sh 書式 .Sh 書式
.Fd #include <glob.h> .Fd #include <glob.h>
.Ft int .Ft int
.Fn glob "const char *pattern" "int flags" "int (*errfunc)(const char *, int)" "glob_t *pglob" .Fn glob "const char *pattern" "int flags" "int (*errfunc)(const char *, int)" "glob_t *pglob"
.Ft void .Ft void
.Fn globfree "glob_t *pglob" .Fn globfree "glob_t *pglob"
.Sh 解説 .Sh 解説
.Fn glob .Fn glob
@ -74,23 +77,17 @@ typedef struct {
.Fn glob .Fn glob
引数はその 引数はその
パターンに対して、アクセス可能なすべてのパス名を突き合わせ パターンに対して、アクセス可能なすべてのパス名を突き合わせ
( (マッチング)、
マッチング
)
適合するパス名リストを作成します。パス名にアクセスするため 適合するパス名リストを作成します。パス名にアクセスするため
.Fn glob .Fn glob
は、パス は、パス
の各構成要素 の各構成要素
( (最終要素を除く)
最終要素を除く
)
での検索許可と、特殊キャラクタ での検索許可と、特殊キャラクタ
.Ql * .Ql * ,
, .Ql ?\&
.Ql ?
または または
.Ql [ .Ql \&[
などを含む などを含む
.Fa pattern .Fa pattern
の、すべてのファイル名構成要素ディレクトリの読み の、すべてのファイル名構成要素ディレクトリの読み
@ -106,7 +103,7 @@ typedef struct {
最初のポインタは 最初のポインタは
.Dv NULL .Dv NULL
です。パターンに適合するパス名が皆無だった場合、 です。パターンに適合するパス名が皆無だった場合、
返される適合パスの数はゼロに設定されます。 返される適合パスの数は 0 に設定されます。
.Pp .Pp
.Fa pglob .Fa pglob
で示される構造体は呼び出し元が作成します。 で示される構造体は呼び出し元が作成します。
@ -131,12 +128,12 @@ typedef struct {
.It Dv GLOB_APPEND .It Dv GLOB_APPEND
生成されたパス名を、 生成されたパス名を、
.Fn glob .Fn glob
に対する前の呼び出し ( 単数または複数 ) で生成されたパス名に追加します。 に対する前の呼び出し (単数または複数) で生成されたパス名に追加します。
.Fa gl_pathc .Fa gl_pathc
の値は、今回の呼び出しおよび前の呼び出し ( 単数または複数 ) での、 の値は、今回の呼び出しおよび前の呼び出し (単数または複数) での、
適合パス名の合計になります。前の呼び出し ( 単数または複数 ) によって 適合パス名の合計になります。前の呼び出し (単数または複数) によって
返されたパス名に、今回生成されたパス名が追加されますが、 返されたパス名に、今回生成されたパス名が追加されますが、
マージ ( 併合 ) はされません。前の呼び出しと今回の呼び出しのあいだに、 マージ (併合) はされません。前の呼び出しと今回の呼び出しのあいだに、
呼び出し元は 呼び出し元は
.Dv GLOB_DOOFFS .Dv GLOB_DOOFFS
フラグを変えてはいけません。同様に、 フラグを変えてはいけません。同様に、
@ -144,7 +141,7 @@ typedef struct {
設定時の 設定時の
.Fa gl_offs .Fa gl_offs
の値も変えてはいけません。 の値も変えてはいけません。
( もちろん ) (もちろん)
.Fa pglob .Fa pglob
に影響する に影響する
.Fn globfree .Fn globfree
@ -218,7 +215,7 @@ int (*gl_stat)(const char *name, struct stat *st);
テープに保存されたディレクトリから、 テープに保存されたディレクトリから、
.Xr restore 8 .Xr restore 8
のようなプログラムによって のようなプログラムによって
グロッビング ( ファイル名展開 ) できるように、 グロッビング (ファイル名展開) できるように、
この拡張が用意されています。 この拡張が用意されています。
.It Dv GLOB_BRACE .It Dv GLOB_BRACE
.Xr csh 1 .Xr csh 1
@ -227,11 +224,11 @@ int (*gl_stat)(const char *name, struct stat *st);
ストリングを展開するために、 ストリングを展開するために、
パターンストリングを前処理します。パターン パターンストリングを前処理します。パターン
.Ql {} .Ql {}
は歴史的理由 ( および は歴史的理由 (および
.Xr find 1 .Xr find 1
パターンの入力を容易にするために、 パターンの入力を容易にするために、
.Xr csh 1 .Xr csh 1
が同じことをするという理由 ) が同じことをするという理由)
から、未展開のまま残されます。 から、未展開のまま残されます。
.It Dv GLOB_MAGCHAR .It Dv GLOB_MAGCHAR
パターンに パターンに
@ -250,7 +247,7 @@ int (*gl_stat)(const char *name, struct stat *st);
.Dv GLOB_NOMAGIC .Dv GLOB_NOMAGIC
は、歴史的な は、歴史的な
.Xr csh 1 .Xr csh 1
によるグロッビング ( ファイル名展開 ) 挙動の実装を単純化するために によるグロッビング (ファイル名展開) 挙動の実装を単純化するために
用意されています。その他の目的ではたぶん、 用意されています。その他の目的ではたぶん、
どんな場合も使用すべきではありません。 どんな場合も使用すべきではありません。
.It Dv GLOB_QUOTE .It Dv GLOB_QUOTE
@ -264,12 +261,23 @@ int (*gl_stat)(const char *name, struct stat *st);
.Ql ~ .Ql ~
で始まるパターンを、ユーザ名のホームディレクトリに で始まるパターンを、ユーザ名のホームディレクトリに
展開します。 展開します。
.It Dv GLOB_LIMIT
返されるパス名の合計数を、
.Fa gl_matchc
で指定される数に制限します (デフォルトは
.Dv ARG_MAX )
です。
非常に大きな数のマッチに展開される
.Ql */../*/..
のような長いストリングのパターンによって、
サービス拒否攻撃に無理矢理されてしまい得るプログラムに対し、
本オプションを設定すべきです。
.El .El
.Pp .Pp
検索においてオープンまたは読み込みできないディレクトリに出会った場合、 検索においてオープンまたは読み込みできないディレクトリに出会った場合、
.Fa errfunc .Fa errfunc
.Pf non- Dv NULL .Dv NULL
でなければ、 でなければ、
.Fn glob .Fn glob
@ -288,9 +296,9 @@ int (*gl_stat)(const char *name, struct stat *st);
.Fa errfunc .Fa errfunc
呼び出す結果になるからです。 呼び出す結果になるからです。
.Dv ENOENT .Er ENOENT
および および
.Dv ENOTDIR .Er ENOTDIR
のテストによって、 のテストによって、
エラールーチンはこの動作を抑制することができますが、 エラールーチンはこの動作を抑制することができますが、
それでもなおこうした場合には それでもなおこうした場合には
@ -300,7 +308,7 @@ int (*gl_stat)(const char *name, struct stat *st);
をリターンさせます。 をリターンさせます。
.Pp .Pp
.Fa errfunc .Fa errfunc
から非ゼロが返ると から非 0 が返ると
.Fn glob .Fn glob
は操作を停止して、すでに適合したすべての は操作を停止して、すでに適合したすべての
パスを反映するために、 パスを反映するために、
@ -324,7 +332,7 @@ int (*gl_stat)(const char *name, struct stat *st);
.Dv NULL .Dv NULL
かまたは かまたは
.Fa errfunc .Fa errfunc
ゼロを返した場合、エラーは無視されます。 0 を返した場合、エラーは無視されます。
.Pp .Pp
.Fn globfree .Fn globfree
関数は、前の 関数は、前の
@ -336,7 +344,7 @@ int (*gl_stat)(const char *name, struct stat *st);
.Sh 戻り値 .Sh 戻り値
無事に完了した場合 無事に完了した場合
.Fn glob .Fn glob
ゼロを返します。さらに、 0 を返します。さらに、
.Fa pglob .Fa pglob
の各フィールド の各フィールド
には次に示す値が含まれます。 には次に示す値が含まれます。
@ -364,11 +372,11 @@ int (*gl_stat)(const char *name, struct stat *st);
内容はクリアされます。 内容はクリアされます。
.It Fa gl_pathv .It Fa gl_pathv
適合パス名の 適合パス名の
.Dv NULL .Dv NULL
で終わるリストのポインタが含まれます。 で終わるリストのポインタが含まれます。
ただし、もし ただし、もし
.Fa gl_pathc .Fa gl_pathc
ゼロならば、 0 ならば、
.Fa gl_pathv .Fa gl_pathv
の内容は定義されません。 の内容は定義されません。
.El .El
@ -377,19 +385,26 @@ int (*gl_stat)(const char *name, struct stat *st);
.Fn glob .Fn glob
errno errno
を設定して、次に示す非ゼロ定数の を設定して、次に示す非 0 定数の
1 つを返します。これらの定数は、インクルードファイル 1 つを返します。これらの定数は、インクルードファイル
.Aq Pa glob.h .Aq Pa glob.h
で定義されます。 で定義されます。
.Bl -tag -width GLOB_NOCHECK .Bl -tag -width GLOB_NOCHECK
.It Dv GLOB_NOSPACE .It Dv GLOB_NOSPACE
メモリ割り当ての試みが失敗しました。 メモリ割り当ての試みが失敗しました。
もしくは
.Fa errno
が 0 の場合、
.Dv GLOB_LIMIT
が flags に指定され、
.Fa pglob\->gl_matchc
個またはそれ以上のパターンがマッチしました。
.It Dv GLOB_ABEND .It Dv GLOB_ABEND
エラーが発生した上に エラーが発生した上に
.Dv GLOB_ERR .Dv GLOB_ERR
が設定されていたか、または が設定されていたか、または
.Fa (*errfunc)() .Fa \*(lp*errfunc\*(rp\*(lp\*(rp
が非ゼロを返したので、 が非 0 を返したので、
.Fn glob .Fn glob
はパス名の走査を停止しました。 はパス名の走査を停止しました。
.El .El
@ -422,27 +437,27 @@ execvp("ls", g.gl_pathv);
関数には次に示す例外を除いて、 関数には次に示す例外を除いて、
.St -p1003.2 .St -p1003.2
との互換性が期待されています。例外はフラグ との互換性が期待されています。例外はフラグ
.Dv GLOB_ALTDIRFUNC, .Dv GLOB_ALTDIRFUNC ,
.Dv GLOB_BRACE .Dv GLOB_BRACE ,
.Dv GLOB_MAGCHAR, .Dv GLOB_LIMIT ,
.Dv GLOB_NOMAGIC, .Dv GLOB_MAGCHAR ,
.Dv GLOB_QUOTE, .Dv GLOB_NOMAGIC ,
および .Dv GLOB_QUOTE ,
.Dv GLOB_TILDE, .Dv GLOB_TILDE
それにフィールド それにフィールド
.Fa gl_matchc .Fa gl_matchc
および および
.Fa gl_flags .Fa gl_flags
などを、厳正な などを、厳正な
.Tn POSIX .Tn POSIX
準拠を争うアプリケーションでは使用すべきではないということです。 適合を争うアプリケーションでは使用すべきではないということです。
.Sh 歴史 .Sh 歴史
.Fn glob .Fn glob
および および
.Fn globfree .Fn globfree
関数は、 関数は、
.Bx 4.4 .Bx 4.4
最初に取り入れられました。 はじめて登場しました。
.Sh バグ .Sh バグ
.Dv MAXPATHLEN .Dv MAXPATHLEN
よりも長いパターンは、無検査エラーの原因となる可能性があります。 よりも長いパターンは、無検査エラーの原因となる可能性があります。
@ -455,5 +470,5 @@ execvp("ls", g.gl_pathv);
.Xr readdir 3 , .Xr readdir 3 ,
.Xr malloc 3 , .Xr malloc 3 ,
および および
.Xr free 3 .Xr free 3
用に指定したエラーのどれかに、 errno を設定することがあります。 用に指定したエラーのどれかに、errno を設定することがあります。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)hypot.3 6.7 (Berkeley) 5/6/91 .\" from: @(#)hypot.3 6.7 (Berkeley) 5/6/91
.\" $Id: hypot.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" %FreeBSD: src/lib/msun/man/hypot.3,v 1.5.2.3 2001/12/17 10:08:36 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd May 6, 1991 .Dd May 6, 1991
@ -41,17 +41,19 @@
.Nm hypotf , .Nm hypotf ,
.Nm cabs , .Nm cabs ,
.Nm cabsf .Nm cabsf
.Sh ライブラリ
.Lb libm
.Nd ユークリッド距離と複素絶対値関数 .Nd ユークリッド距離と複素絶対値関数
.Sh 書式 .Sh 書式
.Fd #include <math.h> .In math.h
.Ft double .Ft double
.Fn hypot "double x" "double y" .Fn hypot "double x" "double y"
.Ft float .Ft float
.Fn hypotf "float x" "float y" .Fn hypotf "float x" "float y"
.Fd struct {double x, y;} z; .Vt struct {double x, y;} z ;
.Ft double .Ft double
.Fn cabs z .Fn cabs z
.Fd struct {float x, y;} z; .Vt struct {float x, y;} z ;
.Ft float .Ft float
.Fn cabsf z .Fn cabsf z
.Sh 解説 .Sh 解説
@ -60,8 +62,8 @@
.Fn cabs , .Fn cabs ,
および および
.Fn cabsf .Fn cabsf
関数は、アンダフローが 関数は、アンダフローが
起きず、最終結果でオーバフローが起こる場合のみオーバフローする方法で 起きず、最終結果でオーバフローが起こる場合のみオーバフローする方法で
sqrt(x*x+y*y) sqrt(x*x+y*y)
を計算します。 を計算します。
.Pp .Pp
@ -117,7 +119,7 @@ cabs.c
.Ar v .Ar v
とは独立した値です。 とは独立した値です。
.Tn VAX .Tn VAX
での reserved operand fault とは異なり、 での予約オペランドフォルトとは異なり、
.Tn IEEE .Tn IEEE
\*(Na は \*(Na は
.Fn hypot "\*(If" "\*(Na" .Fn hypot "\*(If" "\*(Na"

View file

@ -34,10 +34,12 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)keycap.3, 3.00, Last Edit-Date: [Sun Jan 2 13:46:43 1994] .\" @(#)keycap.3, 3.00, Last Edit-Date: [Sun Jan 2 13:46:43 1994]
.\" %FreeBSD: src/usr.sbin/pcvt/keycap/keycap.3,v 1.8.2.3 2001/08/16 15:56:13 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd January 3, 1993 .Dd January 3, 1993
.Dt KEYCAP 3 .Dt KEYCAP 3
.Os
.Sh 名称 .Sh 名称
.Nm kgetent , .Nm kgetent ,
.Nm kgetnum , .Nm kgetnum ,
@ -80,7 +82,7 @@
.Fn kgetent .Fn kgetent
関数は、オープンできた 関数は、オープンできた
.Nm keycap .Nm keycap
データベースファイルが一つもなければ \-1 を返し、 データベースファイルが一つもなければ \-1 を返し、
所定のマップ名にエントリがなければ 0 を返し、 所定のマップ名にエントリがなければ 0 を返し、
全てが正常終了すれば 1 を返します。 全てが正常終了すれば 1 を返します。
.Pp .Pp
@ -109,7 +111,7 @@
関数は、ケーパビリティが見つからなければ 関数は、ケーパビリティが見つからなければ
.Dv NULL .Dv NULL
を返します。 を返します。
.Sh ファイル .Sh 関連ファイル
.Bl -tag -width /usr/share/misc/keycap.pcvt -compact .Bl -tag -width /usr/share/misc/keycap.pcvt -compact
.It Pa /usr/share/misc/keycap.pcvt .It Pa /usr/share/misc/keycap.pcvt
キーボードケーパビリティデータベース キーボードケーパビリティデータベース

View file

@ -34,21 +34,25 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm.3 8.1 (Berkeley) 6/4/93 .\" @(#)kvm.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libkvm/kvm.3,v 1.7.2.2 2001/08/17 15:43:04 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt KVM 3 .Dt KVM 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm kvm .Nm kvm
.Nd カーネル・メモリ・インタフェース .Nd カーネルメモリインタフェース
.Sh ライブラリ
.Lb libkvm
.Sh 解説 .Sh 解説
.Xr kvm 3 .Xr kvm 3
ライブラリは、作動中のシステムとクラッシュダンプを含めて、 ライブラリは、作動中のシステムとクラッシュダンプを含めて、
カーネル仮想メモリイメージをアクセスするための カーネル仮想メモリイメージをアクセスするための
一様なインタフェースを提供します。 一様なインタフェースを提供します。
作動中のシステムへのアクセスは /dev/mem を経由して行われます。 作動中のシステムへのアクセスは
.Pa /dev/mem
を経由して行われます。
他方、クラッシュダンプは 他方、クラッシュダンプは
.Xr savecore 8 .Xr savecore 8
が生成するコアファイルを経由して検証できます。 が生成するコアファイルを経由して検証できます。
@ -58,46 +62,49 @@
ユーザプロセスの情報が収集できます。 ユーザプロセスの情報が収集できます。
.Pp .Pp
.Fn kvm_open .Fn kvm_open
は、すべての後続する呼び出し記述子を得るために、 は、すべての後続する呼び出しで必要となる記述子を得るために、
最初に呼び出されます。 最初に呼び出されます。
.Sh 互換性 .Sh 互換性
kvm インタフェースは最初に SunOS で取込まれました。 kvm インタフェースは最初に SunOS で取込まれました。
かなりの数のプログラムが開発されており、 このインタフェースを使用するかなりの数のプログラムが開発されましたので、
このインタフェースを使用して後方互換性を 後方互換性を保つことが非常に望まれています。
非常に望ましい形にしています。
ほとんどの点で、Sun kvm インタフェースは一貫しており、クリーンです。 ほとんどの点で、Sun kvm インタフェースは一貫しており、クリーンです。
従って、インタフェースのジェネリックな部分 従って、インタフェースのジェネリックな部分
(たとえば (すなわち
.Fn kvm_open , .Fn kvm_open ,
.Fn kvm_close , .Fn kvm_close ,
.Fn kvm_read , .Fn kvm_read ,
.Fn kvm_write .Fn kvm_write ,
および
.Fn kvm_nlist ) .Fn kvm_nlist )
は BSD インタフェースに組み込まれてしまっています。
.Bx
インタフェースに組み込まれてしまっています。
実際、多くの kvm アプリケーション (たとえばデバッガや統計的モニタ) 実際、多くの kvm アプリケーション (たとえばデバッガや統計的モニタ)
はインタフェースのこのサブセットのみを使用します。 はインタフェースのこのサブセットのみを使用します。
プロセスインタフェースは残されませんでした。 プロセスインタフェースは残されませんでした。
これは移植性の問題ではありません。 これは移植性の問題ではありません。
すなわち、 プロセスを操作するどのようなコードも、本質的にマシン依存だからです。
プロセスを操作するどのようなコードも本質的にマシンに依存するためです。
.Pp .Pp
最後に、Sun kvm エラー報告セマンティクスはうまく定義されていません。 最後に、Sun kvm エラー報告セマンティクスはうまく定義されていません。
ライブラリは、stderr に自動的にエラーを印字する、 ライブラリは、stderr に自動的にエラーを印字する、
あるいはエラーメッセージをまったく印字しないのどちらかに設定できます。 あるいはエラーメッセージをまったく印字しないのどちらかに設定できます。
後者の場合には、エラーの性質は決定できません。 後者の場合には、エラーの性質は決定できません。
この問題を克服するために、BSD インタフェースは この問題を克服するために、
.Bx
インタフェースは
.Xr kvm_geterr 3 .Xr kvm_geterr 3
ルーチンを含み、 ルーチンを持ち
該当の記述子における最新のエラー状態に対応する 該当の記述子における最新のエラー状態に対応する
エラー・メッセージを戻します (印字しません)。 エラーメッセージを返します (印字しません)。
.Sh 関連項目 .Sh 関連項目
.Xr kvm_close 3 , .Xr kvm_close 3 ,
.Xr kvm_getargv 3 , .Xr kvm_getargv 3 ,
.Xr kvm_getenvv 3 , .Xr kvm_getenvv 3 ,
.Xr kvm_geterr 3, .Xr kvm_geterr 3,
.Xr kvm_getfiles 3 ,
.Xr kvm_getloadavg 3 , .Xr kvm_getloadavg 3 ,
.Xr kvm_getprocs 3 , .Xr kvm_getprocs 3 ,
.Xr kvm_getswapinfo 3 ,
.Xr kvm_nlist 3 , .Xr kvm_nlist 3 ,
.Xr kvm_open 3 , .Xr kvm_open 3 ,
.Xr kvm_openfiles 3 , .Xr kvm_openfiles 3 ,

View file

@ -34,24 +34,25 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_geterr.3 8.1 (Berkeley) 6/4/93 .\" @(#)kvm_geterr.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libkvm/kvm_geterr.3,v 1.3.2.4 2001/12/17 10:08:30 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt KVM_GETERR 3 .Dt KVM_GETERR 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm kvm_geterr .Nm kvm_geterr
.Nd kvm 記述子でのエラー・メッセージを獲得する .Nd kvm 記述子でのエラーメッセージを獲得する
.Sh ライブラリ
.Lb libkvm
.Sh 書式 .Sh 書式
.Fd #include <kvm.h> .In kvm.h
.br
.Ft char * .Ft char *
.Fn kvm_geterr "kvm_t *kd" .Fn kvm_geterr "kvm_t *kd"
.Sh 解説 .Sh 解説
この関数は この関数は
.Fa kd .Fa kd
記述子での最新のエラー状態を説明している文字列をします。 記述子での最新のエラー状態を説明している文字列をします。
もしも最新の もしも最新の
.Xr kvm 3 .Xr kvm 3
ライブラリ呼び出しがエラーを引き起こさなかったならば、 ライブラリ呼び出しがエラーを引き起こさなかったならば、
@ -64,9 +65,9 @@
.Fn kvm_openfiles .Fn kvm_openfiles
呼び出しに基づくエラー条件のアクセスに使用できません。 呼び出しに基づくエラー条件のアクセスに使用できません。
異常終了は 異常終了は
.Dv ヌル .Dv NULL
記述子を戻すことで指示されます。 記述子を戻すことで指示されます。
このために、オープンに関するエラーは特別なエラーバッファに出力され、 このために、オープンに関するエラーは特別なエラーバッファに出力され、
.Fn kvm_openfiles .Fn kvm_openfiles
に渡されます。このオプションは に渡されます。このオプションは
.Fn kvm_open .Fn kvm_open

View file

@ -34,45 +34,48 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_getfiles.3 8.2 (Berkeley) 4/19/94 .\" @(#)kvm_getfiles.3 8.2 (Berkeley) 4/19/94
.\" %FreeBSD: src/lib/libkvm/kvm_getfiles.3,v 1.6.2.6 2001/12/17 10:08:30 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd April 19, 1994 .Dd April 19, 1994
.Dt KVM_GETFILES 3 .Dt KVM_GETFILES 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm kvm_getfiles .Nm kvm_getfiles
.Nd オープンしたファイルを調査する .Nd オープンしたファイルを調査する
.Sh ライブラリ
.Lb libkvm
.Sh 書式 .Sh 書式
.Fd #include <kvm.h> .In kvm.h
.Fd #define KERNEL .In sys/types.h
.Fd #include <sys/file.h> .Fd #define _KERNEL
.Fd #undef KERNEL .In sys/file.h
.Fd #undef _KERNEL
.\" .Fa kvm_t *kd .\" .Fa kvm_t *kd
.br
.Ft char * .Ft char *
.Fn kvm_getfiles "kvm_t *kd" "int op" "int arg" "int *cnt" .Fn kvm_getfiles "kvm_t *kd" "int op" "int arg" "int *cnt"
.Sh 解説 .Sh 解説
.Fn kvm_getfiles .Fn kvm_getfiles
関数は、 関数は、
.Fa kd .Fa kd
で示されるカーネルにあるオープンファイルの (サブ) 集合をします。 で示されるカーネルにあるオープンファイルの (サブ) 集合をします。
.Fa op .Fa op
.Fa arg .Fa arg
引数は、戻ったファイルの集合を制限するひとつの属性を構成します。 の引数は、返されるファイルの集合を制限する属性を構成します。
属性は現時点では定義されていません。 属性は現時点では定義されていません。
.Pp .Pp
見つけたプロセス数は参照パラメータ 見つけたファイル数は参照パラメータ
.Fa cnt .Fa cnt
に戻されます。ファイルはファイル構造体の連続した配列で戻されます。 に返されます。
カーネルでの最初のファイル・エントリのアドレスが先行しています。 ファイルはファイル構造体の連続した配列として返されます。
その前に、カーネルでの最初のファイルエントリのアドレスが付きます。
このメモリは kvm で所有され、引き続く kvm このメモリは kvm で所有され、引き続く kvm
ライブラリ呼び出しに対しても持続することは保証されていません。 ライブラリ呼び出しに対しても持続することは保証されていません。
データは保存の必要があればコピーするべきです。 データは保存の必要があればコピーするべきです。
.Sh 戻り値 .Sh 戻り値
.Fn kvm_getfiles .Fn kvm_getfiles
は異常終了時にヌルを戻します。 は異常終了時に NULL を返します。
.Sh バグ .Sh バグ
このルーチンは kvm インタフェースに属していません。 このルーチンは kvm インタフェースに属していません。
.Sh 関連項目 .Sh 関連項目

View file

@ -30,35 +30,36 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_getloadavg.3 8.1 (Berkeley) 6/4/93 .\" @(#)kvm_getloadavg.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libkvm/kvm_getloadavg.3,v 1.8.2.2 2001/12/17 10:08:30 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt KVM_GETLOADAVG 3 .Dt KVM_GETLOADAVG 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm kvm_getloadavg .Nm kvm_getloadavg
.Nd システムのロード平均を獲得する .Nd システムの負荷平均を取得する
.Sh ライブラリ
.Lb libkvm
.Sh 書式 .Sh 書式
.Fd #include <kvm.h> .In kvm.h
.Ft int .Ft int
.Fn kvm_getloadavg "kvm_t *kd" "double loadavg[]" "int nelem" .Fn kvm_getloadavg "kvm_t *kd" "double loadavg[]" "int nelem"
.Sh 解説 .Sh 解説
.Fn kvm_getloadavg .Fn kvm_getloadavg
関数は、 関数は、
.Fa kd .Fa kd
で指示されたカーネルのシステム動作待ち行列でのプロセス数をします。 で指示されたカーネルのシステム動作待ち行列でのプロセス数をします。
この数は種々の時間間隔で平均化されています。最大 この数は種々の時間間隔で平均化されています。最大
.Fa nelem .Fa nelem
のサンプルが検索され、 のサンプルが取得され、
.Fa loadavg Ns Bq .Fa loadavg Ns Bq
の連続するエレメントに割り当てられます。 の連続する要素に代入されます。
システムは最大 3 個のサンプルを押し付けます。 システムの制約では、サンプル数の最大は 3 個であり、
これらのサンプルは別々の最後の それぞれ最新 1 分、5 分、15 分での平均を表現します。
1 分、5 分、15 分での平均を表わしています。
.Sh 診断 .Sh 診断
ロード平均が獲得できなければ、\-1 が戻ります。 負荷平均が取得できなければ、\-1 が返されます。
そうでなければ、実際に検索されたサンプル数が戻ります。 そうでなければ、実際に取得されたサンプル数が返されます。
.Sh 関連項目 .Sh 関連項目
.Xr uptime 1 , .Xr uptime 1 ,
.Xr getloadavg 3 , .Xr getloadavg 3 ,

View file

@ -34,24 +34,24 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_getprocs.3 8.1 (Berkeley) 6/4/93 .\" @(#)kvm_getprocs.3 8.1 (Berkeley) 6/4/93
.\" $Id: kvm_getprocs.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" %FreeBSD: src/lib/libkvm/kvm_getprocs.3,v 1.6.2.6 2001/12/17 10:08:30 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt KVM_GETPROCS 3 .Dt KVM_GETPROCS 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm kvm_getprocs , .Nm kvm_getprocs ,
.Nm kvm_getargv , .Nm kvm_getargv ,
.Nm kvm_getenvv .Nm kvm_getenvv
.Nd ユーザプロセス状態にアクセスする .Nd ユーザプロセス状態にアクセスする
.Sh ライブラリ
.Lb libkvm
.Sh 書式 .Sh 書式
.Fd #include <kvm.h> .In kvm.h
.Fd #include <sys/param.h> .In sys/param.h
.Fd #include <sys/sysctl.h> .In sys/sysctl.h
.\" .Fa kvm_t *kd .\" .Fa kvm_t *kd
.br
.Ft struct kinfo_proc * .Ft struct kinfo_proc *
.Fn kvm_getprocs "kvm_t *kd" "int op" "int arg" "int *cnt" .Fn kvm_getprocs "kvm_t *kd" "int op" "int arg" "int *cnt"
.Ft char ** .Ft char **
@ -62,11 +62,11 @@
.Fn kvm_getprocs .Fn kvm_getprocs
.Fa kd .Fa kd
が指示するカーネルの動作中のプロセスの (サブ) 集合をします。 が指示するカーネルの動作中のプロセスの (サブ) 集合をします。
.Fa op .Fa op
.Fa arg .Fa arg
各引数は戻されたプロセスの集合を制限する属性を構成します。 引数は,返されるプロセスの集合を制限する属性を構成します。
.Fa op .Fa op
の値は以下のフィルタリング属性を記述しています : の値は以下のフィルタリング属性を記述しています :
.Pp .Pp
@ -101,8 +101,8 @@ tty
.Pp .Pp
見つけたプロセス数は参照パラメータ 見つけたプロセス数は参照パラメータ
.Fa cnt .Fa cnt
されます。 されます。
プロセスは kinfo_proc 構造体の連続配列としてされます。 プロセスは kinfo_proc 構造体の連続配列としてされます。
このメモリは局所的に割り当てられ、 このメモリは局所的に割り当てられ、
.Fn kvm_getprocs .Fn kvm_getprocs
@ -110,36 +110,36 @@ tty
に引き続く呼び出しはこの記憶域に上書きします。 に引き続く呼び出しはこの記憶域に上書きします。
.Pp .Pp
.Fn kvm_getargv .Fn kvm_getargv
はヌルで終了する引数ベクタをします。 はヌルで終了する引数ベクタをします。
このベクタは このベクタは
.Fa p .Fa p
が示すプロセスに通過したコマンドライン引数に対応します。 が示すプロセスに渡されたコマンドライン引数に対応します。
おそらく、これらの引数はプロセス生成時の おそらく、これらの引数はプロセス生成時の
.Xr exec 3 .Xr exec 3
通過した値に相当します。 渡された値に相当します。
しかしながら、この情報は、 しかしながら、この情報は、
故意にプロセス自身のコントロール下にあります。 故意にプロセス自身のコントロール下にあります。
オリジナルのコマンド名は、 オリジナルのコマンド名は、
.Fn kvm_getprocs .Fn kvm_getprocs
によってされたプロセス構造体の p_comm フィールドに、 によってされたプロセス構造体の p_comm フィールドに、
変更されていない状態で見つけることができます。 変更されていない状態で見つけることができます。
.Pp .Pp
.Fa nchr .Fa nchr
引数はヌルバイトを含めた最大の文字数を示し、 引数はヌルバイトを含めた最大の文字数を示し、
文字列の構築に使います。 文字列の構築に使います。
もしもこの量を超えてしまえば、 もしもこの量を超えてしまえば、
オーバフローの原因となる文字列は切り捨てられ、 オーバフローの原因となる文字列は切り捨てられ、
結果が部分的にされます。これは 結果が部分的にされます。これは
.Xr ps 1 .Xr ps 1
.Xr w 1 .Xr w 1
のようなプログラムにとっては簡便な方法です。 のようなプログラムにとっては簡便な方法です。
これらのプログラムにおいては、 これらのプログラムにおいては、
コマンドの 1 行要約のみを印字し、 コマンドの 1 行要約のみを印字しますので
無視するためのみに多量のテキストを複写すべきではありません。 無視するためのみに多量のテキストを複写すべきではありません。
.Fa nchr .Fa nchr
ゼロならば、なんら制限は課されませんし、 0 ならば、なんら制限は課されませんし、
すべての引数の文字列はそっくりそのままされます。 すべての引数の文字列はそっくりそのままされます。
.Pp .Pp
argv ポインタと文字列記憶域に割り当てられたメモリは、 argv ポインタと文字列記憶域に割り当てられたメモリは、
kvm ライブラリによって所有されます。引き続く kvm ライブラリによって所有されます。引き続く
@ -151,7 +151,7 @@ kvm
.Fn kvm_getenvv .Fn kvm_getenvv
関数は 関数は
.Fn kvm_getargv .Fn kvm_getargv
に類似していますが、環境文字列のベクタをします。 に類似していますが、環境文字列のベクタをします。
このデータはまたプロセスにより変更可能です。 このデータはまたプロセスにより変更可能です。
.Sh 戻り値 .Sh 戻り値
.Fn kvm_getprocs , .Fn kvm_getprocs ,
@ -159,8 +159,8 @@ kvm
および および
.Fn kvm_getenvv .Fn kvm_getenvv
はすべて異常終了時に はすべて異常終了時に
.Dv ヌル .Dv NULL
します。 します。
.Sh バグ .Sh バグ
これらのルーチンは kvm インタフェースに属していません。 これらのルーチンは kvm インタフェースに属していません。
.Sh 関連項目 .Sh 関連項目

View file

@ -34,18 +34,20 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_nlist.3 8.1 (Berkeley) 6/4/93 .\" @(#)kvm_nlist.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libkvm/kvm_nlist.3,v 1.5.2.3 2001/12/17 10:08:30 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt KVM_NLIST 3 .Dt KVM_NLIST 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm kvm_nlist .Nm kvm_nlist
.Nd カーネル・イメージからシンボルテーブルを検索する .Nd カーネルイメージからシンボルテーブルを検索する
.Sh ライブラリ
.Lb libkvm
.Sh 書式 .Sh 書式
.Fd #include <kvm.h> .In kvm.h
.Fd #include <nlist.h> .In nlist.h
.Ft int .Ft int
.Fn kvm_nlist "kvm_t *kd" "struct nlist *nl" .Fn kvm_nlist "kvm_t *kd" "struct nlist *nl"
.Sh 解説 .Sh 解説
@ -55,7 +57,7 @@
で示されるシンボルテーブルのエントリを検索します。 で示されるシンボルテーブルのエントリを検索します。
この引数は nlist 構造体の配列を指し示し、 この引数は nlist 構造体の配列を指し示し、
n_name フィールドが n_name フィールドが
.Dv ヌル .Dv NULL
.Xr (nlist 3 .Xr (nlist 3
参照) であるエントリで終了しています。 参照) であるエントリで終了しています。
各シンボルは n_name フィールドを使って調べられます。 各シンボルは n_name フィールドを使って調べられます。
@ -63,21 +65,17 @@ n_name
対応する n_type フィールドと n_value フィールドが記載されます。 対応する n_type フィールドと n_value フィールドが記載されます。
シンボルが見つからなければ、これらのフィールドは 0 にされます。 シンボルが見つからなければ、これらのフィールドは 0 にされます。
.Pp .Pp
プログラム シンボルを見つけるに、
.Xr kvm_mkdb 8 .Xr kldsym 2
は動作中のカーネルのネームリストからデータベースを構築します。 を使用しています。
データベースがオープンされたカーネルに一致すれば、 nlist 値のエミュレートに関しては完全ではありませんが、
.Fn kvm_nlist カーネルモジュールを考慮していてかなり高速であるという利点があります。
はそれを使って検索を速めます。
.Sh 戻り値 .Sh 戻り値
.Fn kvm_nlist .Fn kvm_nlist
関数は見つけた無効エントリ数を戻します。 関数は見つけた無効エントリ数を返します。
カーネルシンボルテーブルが読めなければ、-1 を戻します。 カーネルシンボルテーブルが読めなければ、-1 を返します。
.Sh ファイル
.Bl -tag -width /var/db/kvm_kernel.db -compact
.It Pa /var/db/kvm_kernel.db
.El
.Sh 関連項目 .Sh 関連項目
.Xr kldsym 2 ,
.Xr kvm 3 , .Xr kvm 3 ,
.Xr kvm_close 3 , .Xr kvm_close 3 ,
.Xr kvm_getargv 3 , .Xr kvm_getargv 3 ,
@ -87,5 +85,4 @@ n_name
.Xr kvm_open 3 , .Xr kvm_open 3 ,
.Xr kvm_openfiles 3 , .Xr kvm_openfiles 3 ,
.Xr kvm_read 3 , .Xr kvm_read 3 ,
.Xr kvm_write 3 , .Xr kvm_write 3
.Xr kvm_mkdb 8

View file

@ -34,9 +34,9 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_open.3 8.3 (Berkeley) 4/19/94 .\" @(#)kvm_open.3 8.3 (Berkeley) 4/19/94
.\" %FreeBSD: src/lib/libkvm/kvm_open.3,v 1.5.2.3 2001/01/16 10:33:29 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd April 19, 1994 .Dd April 19, 1994
.Dt KVM_OPEN 3 .Dt KVM_OPEN 3
.Os .Os
@ -44,11 +44,12 @@
.Nm kvm_open , .Nm kvm_open ,
.Nm kvm_openfiles , .Nm kvm_openfiles ,
.Nm kvm_close .Nm kvm_close
.Nd カーネル仮想メモリ・アクセスの初期化 .Nd カーネル仮想メモリアクセスの初期化
.Sh ライブラリ
.Lb libkvm
.Sh 書式 .Sh 書式
.Fd #include <fcntl.h> .Fd #include <fcntl.h>
.Fd #include <kvm.h> .Fd #include <kvm.h>
.br
.Ft kvm_t * .Ft kvm_t *
.Fn kvm_open "const char *execfile" "const char *corefile" "const char *swapfile" "int flags" "const char *errstr" .Fn kvm_open "const char *execfile" "const char *corefile" "const char *swapfile" "int flags" "const char *errstr"
.Ft kvm_t * .Ft kvm_t *
@ -62,33 +63,33 @@
の各関数は の各関数は
.Xr kvm 3 .Xr kvm 3
ライブラリルーチンを介しカーネル仮想メモリに ライブラリルーチンを介しカーネル仮想メモリに
アクセスするに使われる記述子を返します。 アクセスするために使われる記述子を返します。
アクティブカーネルとクラッシュダンプは 作動中カーネルとクラッシュダンプの双方とも、
双方ともこのインタフェース経由でアクセス可能です。 このインタフェース経由でアクセス可能です。
.Pp .Pp
.Fa execfile .Fa execfile
は、検証されるカーネルの実行可能イメージです。 は、検証されるカーネルの実行可能イメージです。
このファイルにはシンボルテーブルが含まれる必要があります。 このファイルにはシンボルテーブルが含まれる必要があります。
この引数が この引数が
.Dv ヌル .Dv NULL
のとき、現在実行中のシステムと仮定して のとき、現在実行中のシステムと仮定して
.Xr getbootfile 3 .Xr getbootfile 3
から決定されます。 から決定されます。
.Pp .Pp
.Fa corefile .Fa corefile
はカーネル・メモリ・デバイスファイルで、/dev/mem にも はカーネルメモリデバイスファイルで、/dev/mem か
.Xr savecore 8 .Xr savecore 8
が生成するクラッシュダンプコアにもなります。 が生成するクラッシュダンプコアのいずれかです。
.Fa corefile .Fa corefile
.Dv ヌル .Dv NULL
のとき、<paths.h> が指示するデフォルト値 のとき、<paths.h> が指示するデフォルト値
.Dv _PATH_MEM .Dv _PATH_MEM
が使われます。 が使われます。
.Pp .Pp
.Fa swapfile .Fa swapfile
はスワップデバイスを指示します。 はスワップデバイスを指示します。
.Dv ヌル .Dv NULL
のとき、<paths.h> の のとき、<paths.h> の
.Dv _PATH_DRUM .Dv _PATH_DRUM
が使われます。 が使われます。
@ -99,12 +100,11 @@
同様に読取り / 書込みアクセスフラグを示し、 同様に読取り / 書込みアクセスフラグを示し、
コアファイルに限定して適用します。 コアファイルに限定して適用します。
.Dv O_RDONLY , .Dv O_RDONLY ,
.Dv O_WRONLY .Dv O_WRONLY ,
.Dv O_RDWR .Dv O_RDWR
だけが許可されます。 だけが許可されます。
.Pp .Pp
オープンルーチンは 2 個あり、 オープンルーチンは 2 個あり、
その違いはエラー機構だけです。 その違いはエラー機構だけです。
一方は SunOS kvm ライブラリと後方互換性があり、 一方は SunOS kvm ライブラリと後方互換性があり、
他方は改善されたエラー報告フレームワークを提供します。 他方は改善されたエラー報告フレームワークを提供します。
@ -114,26 +114,26 @@
ここでは、 ここでは、
.Fa errstr .Fa errstr
引数はエラーの処理方法を示します。 引数はエラーの処理方法を示します。
結果が .Dv NULL
.Dv ヌル
のとき、エラーは報告されず、 のとき、エラーは報告されず、
アプリケーションプログラムは kvm アプリケーションプログラムは kvm
呼び出しが失敗した原因は知らされません。 呼び出しが失敗した原因は知らされません。
結果が .Dv NULL
.Dv ヌル
でなければ、 でなければ、
.Xr perror 3 .Xr perror 3
同様にメッセージに 同様に、
前に
.Fa errstr .Fa errstr
が事前に付加されて stderr に印字されます。 が付加されたメッセージが stderr に印字されます。
通常、プログラム名が使われます。ストリングは該当の 通常、プログラム名が使われます。
少なくとも対応する
.Fn kvm_close .Fn kvm_close
呼び出しまでは最低保持すると想定されます。 呼び出しまでは、この文字列は変わらないものと仮定されます。
.Pp .Pp
.Fn kvm_openfiles .Fn kvm_openfiles
関数は BSD 様式のエラー報告を行います。 関数は BSD 様式のエラー報告を行います。
ここでは、エラー・メッセージはライブラリにより印字されません。 ライブラリは、エラーメッセージを印字しません。
代わりに、アプリケーション 代わりに、アプリケーション
.Fn kvm_geterr .Fn kvm_geterr
.Xr (kvm_geterr 3 .Xr (kvm_geterr 3
参照) を使用して、 参照) を使用して、
@ -142,29 +142,29 @@
.Fn kvm_geterr .Fn kvm_geterr
は kvm 記述子を要求しますが、 は kvm 記述子を要求しますが、
オープンルーチンはオープン失敗のときには オープンルーチンはオープン失敗のときには
.Dv ヌル .Dv NULL
戻し、オープンに失敗したときには、 返しますので、オープンに失敗したときには、
.Fn kvm_geterr .Fn kvm_geterr
を使ってエラーメッセージを獲得できません。 を使ってエラーメッセージを獲得できません。
したがって このような事情があるため
.Fn kvm_openfiles .Fn kvm_openfiles
は任意のエラーメッセージを は任意のエラーメッセージを
.Fa errbuf .Fa errbuf
引数中に置きます。 引数中に置きます。
このバッファの大きさは _POSIX2_LINE_MAX キャラクタ分必要です このバッファの大きさは _POSIX2_LINE_MAX 文字分必要です
(<limits.h>より)。 (<limits.h> より)。
.Sh 戻り値 .Sh 戻り値
.Fn kvm_open .Fn kvm_open
.Fn kvm_openfiles .Fn kvm_openfiles
関数は、その後のすべての kvm ライブラリ呼び出しで 関数は、その後のすべての kvm ライブラリ呼び出しで
使用するための記述子を返します。 使用するための記述子を返します。
ライブラリは完全に再入可能です。 ライブラリは完全に再入可能です。
異常終了時には 異常終了時には
.Dv ヌル .Dv NULL
が返されますが、この場合、 が返されますが、この場合、
.Fn kvm_openfiles .Fn kvm_openfiles
はエラーメッセージを はエラーメッセージを
.Fa errbuf .Fa errbuf
に書き込みます。 に書き込みます。
.Pp .Pp
@ -172,10 +172,10 @@
関数は正常終了時に 0 を返し、 関数は正常終了時に 0 を返し、
異常終了時には -1 を返します。 異常終了時には -1 を返します。
.Sh バグ .Sh バグ
オープン呼び出しは 2 個持てません。 オープン呼び出しが 2 種類ある現状は望ましくありません。
Sun ライブラリの誤定義エラーセマンティクスと Sun ライブラリのエラーセマンティクスが誤って定義されていたこと、
BSD について後方互換ライブラリを持つ要望は BSD において後方互換ライブラリを持ちたかったことは、
任意選択の余地がありません 選択の余地をほとんど残しませんでした
.Sh 関連項目 .Sh 関連項目
.Xr open 2 , .Xr open 2 ,
.Xr kvm 3 , .Xr kvm 3 ,

View file

@ -34,40 +34,41 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)kvm_read.3 8.1 (Berkeley) 6/4/93 .\" @(#)kvm_read.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libkvm/kvm_read.3,v 1.6.2.3 2001/12/17 10:08:30 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt KVM_READ 3 .Dt KVM_READ 3
.Os .Os
.Sh 名称 .Sh 名称
.Nm kvm_read , .Nm kvm_read ,
.Nm kvm_write .Nm kvm_write
.Nd カーネル仮想メモリの読取り、書込み .Nd カーネル仮想メモリの読取りと書込み
.Sh ライブラリ
.Lb libkvm
.Sh 書式 .Sh 書式
.Fd #include <kvm.h> .In kvm.h
.Ft ssize_t .Ft ssize_t
.Fn kvm_read "kvm_t *kd" "u_long addr" "void *buf" "size_t nbytes" .Fn kvm_read "kvm_t *kd" "unsigned long addr" "void *buf" "size_t nbytes"
.Ft ssize_t .Ft ssize_t
.Fn kvm_write "kvm_t *kd" "u_long addr" "const void *buf" "size_t nbytes" .Fn kvm_write "kvm_t *kd" "unsigned long addr" "const void *buf" "size_t nbytes"
.Sh 解説 .Sh 解説
.Fn kvm_read .Fn kvm_read
および および
.Fn kvm_write .Fn kvm_write
関数はカーネル仮想メモリ の関数は、カーネル仮想メモリ
(またはクラッシュ・ダンプ・ファイル) の読取り、 (またはクラッシュダンプファイル) の読取りと書込みに使用されます。
書込みに使用されます。
カーネル仮想メモリと カーネル仮想メモリと
クラッシュダンプのオープンに関する情報は クラッシュダンプのオープンに関する情報は
.Fn kvm_open 3 .Fn kvm_open 3
または または
.Fn kvm_openfiles 3 .Fn kvm_openfiles 3
を参照してください。 を参照してください。
.Pp .Pp
.Fn kvm_read .Fn kvm_read
関数はデータの 関数は
.Fa nbytes .Fa nbytes
バイトをカーネル空間のアドレス バイトのデータをカーネル空間のアドレス
.Fa addr .Fa addr
から から
.Fa buf .Fa buf
@ -78,7 +79,7 @@
から から
.Fa addr .Fa addr
に転送します。 に転送します。
SunOS と異なり、これらの関数はプロセスのアドレス空間を、 SunOS と異なり、これらの関数は、プロセスのアドレス空間の
読取りまたは書込みに使用できません。 読取りまたは書込みに使用できません。
.Sh 戻り値 .Sh 戻り値
正常に終了すると、実際に転送されたバイト数が返されます。 正常に終了すると、実際に転送されたバイト数が返されます。

View file

@ -30,19 +30,20 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)lgamma.3 6.6 (Berkeley) 12/3/92 .\" from: @(#)lgamma.3 6.6 (Berkeley) 12/3/92
.\" $Id: lgamma.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" %FreeBSD: src/lib/msun/man/lgamma.3,v 1.7.2.5 2001/12/17 10:08:36 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\"
.Dd December 3, 1992 .Dd December 3, 1992
.Dt LGAMMA 3 .Dt LGAMMA 3
.Os BSD 4.3 .Os
.Sh 名称 .Sh 名称
.Nm lgamma , .Nm lgamma ,
.Nm lgammaf , .Nm lgammaf ,
.Nm gamma , .Nm gamma ,
.Nm gammaf .Nm gammaf
.Nd ガンマ関数およびガンマ関数の対数計算 .Nd ガンマ関数およびガンマ関数の対数計算
.Sh ライブラリ
.Lb libm
.Sh 書式 .Sh 書式
.Fd #include <math.h> .Fd #include <math.h>
.Ft extern int .Ft extern int
@ -108,7 +109,7 @@ signgam
では、予約語のオペレータが返され、 では、予約語のオペレータが返され、
負の大きな非整数値に関しては 負の大きな非整数値に関しては
.Fn gamma .Fn gamma
関数でアンダフロエラーが発生し、 関数でアンダフロエラーが発生し、
.Va errno .Va errno
.Er ERANGE .Er ERANGE

View file

@ -49,7 +49,7 @@
提供します。これらの関数が使用されるのは、リソースに関する限界値や、 提供します。これらの関数が使用されるのは、リソースに関する限界値や、
環境およびシステムにログインするユーザへの課金の設定、およびログインクラス 環境およびシステムにログインするユーザへの課金の設定、およびログインクラス
に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの
関数呼び出しは、現在のプロセスがルート権限で実行されているときだけ 関数呼び出しは、現在のプロセスが root 権限で実行されているときだけ
可能です。LOGIN_SETLOGIN フラグが使用される場合、この関数は 可能です。LOGIN_SETLOGIN フラグが使用される場合、この関数は
.Xr setlogin 2 .Xr setlogin 2
の呼び出しを実行し、当該関数についてはマニュアルページに説明してある注意を の呼び出しを実行し、当該関数についてはマニュアルページに説明してある注意を

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" from: @(#)math.3 6.10 (Berkeley) 5/6/91 .\" from: @(#)math.3 6.10 (Berkeley) 5/6/91
.\" $Id: math.3,v 1.5 2002-05-18 07:12:55 horikawa Exp $ .\" %FreeBSD: src/lib/msun/man/math.3,v 1.9.2.1 2001/07/22 12:07:20 dd Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.TH MATH 3M "May 6, 1991" .TH MATH 3M "May 6, 1991"
@ -108,7 +108,7 @@ y1 j0.3m
yn j0.3m ベッセル関数 ??? yn j0.3m ベッセル関数 ???
.ta .ta
.fi .fi
.SH .SH
カリフォルニア大学から 1985 年末に配布された 4.3 BSD では、上記の関数に カリフォルニア大学から 1985 年末に配布された 4.3 BSD では、上記の関数に
2 つのバージョンが用意されています。1 つは DEC VAX\-11 ファミリの 2 つのバージョンが用意されています。1 つは DEC VAX\-11 ファミリの
コンピュータの倍精度 "D" フォーマットで、もう 1 つは IEEE 754 標準の コンピュータの倍精度 "D" フォーマットで、もう 1 つは IEEE 754 標準の
@ -163,18 +163,18 @@ x
.nf .nf
.ta \w'Range:'u+1n +\w'Underflow threshold'u+1n +\w'= 2.0**127'u+1n .ta \w'Range:'u+1n +\w'Underflow threshold'u+1n +\w'= 2.0**127'u+1n
範囲: オーバフローしきい値 = 2.0**127 = 1.7e38 範囲: オーバフローしきい値 = 2.0**127 = 1.7e38
アンダフローしきい値 = 0.5**128 = 2.9e-39 アンダフローしきい値 = 0.5**128 = 2.9e-39
注意: この範囲は相対的に狭くなっています。 注意: この範囲は相対的に狭くなっています。
.ta .ta
.fi .fi
.RS .RS
オーバフローが発生すると、計算は常に中断されます。 オーバフローが発生すると、計算は常に中断されます。
.br .br
アンダーフローが発生すると、ゼロになります。 アンダフローが発生すると、0 になります。
.br .br
警告: 警告:
.RS .RS
アンダフローにより、x アンダフローにより、x
.if n \ .if n \
!= !=
.if t \ .if t \
@ -184,9 +184,9 @@ x > y > 0
y/x = 0 ということが警告なしに発生してしまいます。 y/x = 0 ということが警告なしに発生してしまいます。
.RE .RE
.RE .RE
ゼロは曖昧に表現されます。 0 は曖昧に表現されます。
.RS .RS
ハードウェアでは、2**55 通りのゼロの表現を受理しますが、 ハードウェアでは、2**55 通りの 0 の表現を受理しますが、
生成されるものは明らかな表現だけです。 生成されるものは明らかな表現だけです。
VAX には -0 がありません。 VAX には -0 がありません。
.RE .RE
@ -202,14 +202,14 @@ VAX
.RE .RE
例外: 例外:
.RS .RS
ゼロ除算とオーバフローするオペレーションは不正なオペレーションで、 0 除算とオーバフローするオペレーションは不正なオペレーションで、
計算は中断されます。古いマシンでは予約オペランドが作成され、 計算は中断されます。古いマシンでは予約オペランドが作成され、
計算が中断されます。 計算が中断されます。
.RE .RE
丸め: 丸め:
.RS .RS
(PDP\-11 では必ずしもそうとは言えませんが) VAXでのすべての有理数演算 (PDP\-11 では必ずしもそうとは言えませんが) VAXでのすべての有理数演算
(+, \-, \(**, /) は、オーバフロー、アンダーフロー、ゼロ除算が (+, \-, \(**, /) は、オーバフロー、アンダフロー、0 除算が
発生しない場合、\*(up の半分以内に丸められます。丸め誤差が \*(up 発生しない場合、\*(up の半分以内に丸められます。丸め誤差が \*(up
のちょうど半分である場合、丸めは 0 から離れます。 のちょうど半分である場合、丸めは 0 から離れます。
.RE .RE
@ -219,8 +219,8 @@ VAX
ものとしては優れたコンピュータ算術演算のひとつです。 ものとしては優れたコンピュータ算術演算のひとつです。
D_floating\-point のプロパティは、4.3 BSD で配布された VAX の D_floating\-point のプロパティは、4.3 BSD で配布された VAX の
基本的な関数に忠実に反映されています。オーバフローや 基本的な関数に忠実に反映されています。オーバフローや
アンダフローが発生するのは、結果が範囲外になるか範囲外に非常に近い アンダフローが発生するのは、結果が範囲外になるか範囲外に非常に近い
場合のみで、その場合はオーバフローやアンダフローを起こす有理算術 場合のみで、その場合はオーバフローやアンダフローを起こす有理算術
オペレーションと同じような動作をします。同じように、log(0) と atanh(1) オペレーションと同じような動作をします。同じように、log(0) と atanh(1)
のような式は 1/0 のように動作し、sqrt(\-3) と acos(3) は 0/0 のような式は 1/0 のように動作し、sqrt(\-3) と acos(3) は 0/0
のように動作します。これらはすべて予約オペランドを作成し、 のように動作します。これらはすべて予約オペランドを作成し、
@ -267,15 +267,15 @@ public domain
この他にも、ソフトウェアによる実装 (Apple Macintosh は完璧にそれ) から、 この他にも、ソフトウェアによる実装 (Apple Macintosh は完璧にそれ) から、
Hewlett-Packard 9000 シリーズの VLSI による実装や、果ては ECL を Hewlett-Packard 9000 シリーズの VLSI による実装や、果ては ECL を
駆使し、3 Megaflop を達成した ELXSI 6400 まで極めて広い実装の幅を 駆使し、3 Megaflop を達成した ELXSI 6400 まで極めて広い実装の幅を
誇ります。他の企業の中には、丸め、オーバフロー、アンダフロー 誇ります。他の企業の中には、丸め、オーバフロー、アンダフロー
などの例外の処理でこの標準の方法に従わずに、IEEE 754 のフォーマット などの例外の処理でこの標準の方法に従わずに、IEEE 754 のフォーマット
だけを採用しています。 だけを採用しています。
DEC VAX G_floating\-point フォーマットは、IEEE 754 Double DEC VAX G_floating\-point フォーマットは、IEEE 754 Double
フォーマットに非常に似ているので、上に挙げたほとんどの初等関数の フォーマットに非常に似ているので、上に挙げたほとんどの初等関数の
IEEE バージョンの C プログラムは、MicroVAX で実行するように簡単に IEEE バージョンの C プログラムは、MicroVAX で実行するように簡単に
変換できますが、わざわざ変換してやろうという人はいないようです。 変換できますが、わざわざ変換してやろうという人はいないようです。
.PP .PP
4.3 BSD \fIlibm\fR のコードのうち、IEEE 754 準拠マシン用のものは、 4.3 BSD \fIlibm\fR のコードのうち、IEEE 754 準拠マシン用のものは、
National Semi. 32081 と WTL 1164/65 用になっています。 National Semi. 32081 と WTL 1164/65 用になっています。
Intel チップや Zilog チップ、または Apple Macintosh か ELXSI 6400 Intel チップや Zilog チップ、または Apple Macintosh か ELXSI 6400
でこのコードを使用する場合は、これらの企業が提供するよりよいコード でこのコードを使用する場合は、これらの企業が提供するよりよいコード
@ -306,22 +306,22 @@ x
となる。 となる。
.RE .RE
.nf .nf
.ta \w'範囲:'u+1n +\w'アンダフロー閾値'u+1n +\w'= 2.0**1024'u+1n .ta \w'範囲:'u+1n +\w'アンダフロー閾値'u+1n +\w'= 2.0**1024'u+1n
範囲: オーバフローしきい値 = 2.0**1024 = 1.8e308 範囲: オーバフローしきい値 = 2.0**1024 = 1.8e308
アンダフローしきい値 = 0.5**1022 = 2.2e-308 アンダフローしきい値 = 0.5**1022 = 2.2e-308
.ta .ta
.fi .fi
.RS .RS
オーバフローが発生すると、デフォルトで符号付きの無限になります。 オーバフローが発生すると、デフォルトで符号付きの無限になります。
アンダフローは 0.5**1074 = 4.9e-324 の倍数の整数のうち最も アンダフローは 0.5**1074 = 4.9e-324 の倍数の整数のうち最も
近いものに段階的に丸められます。 近いものに段階的に丸められます。
.RE .RE
ゼロは、+0 か \-0 のようにあいまいに表現されます。 0 は、+0 か \-0 のようにあいまいに表現されます。
.RS .RS
符号は乗算か除算で正しく変換され、符号付きゼロの加算で維持されます。 符号は乗算か除算で正しく変換され、符号付き 0 の加算で維持されます。
しかし x が有限の 場合、x\-x は +0 になります。0 の符号が しかし x が有限の 場合、x\-x は +0 になります。0 の符号が
問題になる演算は、0 除算と copysign(x,\(+-0) のみです。 問題になる演算は、0 除算と copysign(x,\(+-0) のみです。
とくに比較 (x > y, x \(>= y など) はゼロの符号から とくに比較 (x > y, x \(>= y など) は 0 の符号から
影響を受けませんが、有限な値 x = y である場合は、 影響を受けませんが、有限な値 x = y である場合は、
.If .If
\&= 1/(x\-y) \&= 1/(x\-y)
@ -342,7 +342,7 @@ x
.If .If
の符号は乗算と除算で正しく変換され、 の符号は乗算と除算で正しく変換され、
.If (有限値)/\(+- \0=\0\(+-0 .If (有限値)/\(+- \0=\0\(+-0
(非ゼロ値))/0 = (非 0 値))/0 =
.If \(+- .If \(+-
になります。しかし、 になります。しかし、
.if n \ .if n \
@ -382,15 +382,15 @@ x
sqrt) sqrt)
.if t \ .if t \
\(sr) \(sr)
は、\*(up の半分以内に丸められます。丸め誤差が \*(up は、\*(up の半分以内に丸められます。丸め誤差が \*(up
のちょうど半分である場合、丸めた値の最下位有効ビットはゼロになります。 のちょうど半分である場合、丸めた値の最下位有効ビットは 0 になります。
通常はこのような丸めが最適で、たとえば 通常はこのような丸めが最適で、たとえば
x = 1.0, 2.0, 3.0, 4.0, ..., 2.0**52 x = 1.0, 2.0, 3.0, 4.0, ..., 2.0**52
である場合、商と積の両方が丸められるにも関わらず、 である場合、商と積の両方が丸められるにも関わらず、
(x/3.0)\(**3.0 == x, (x/10.0)\(**10.0 == x, ... (x/3.0)\(**3.0 == x, (x/10.0)\(**10.0 == x, ...
になります。このような結果となるのは、IEEE 754 のような丸めのみです。 になります。このような結果となるのは、IEEE 754 のような丸めのみです。
しかし 1 つの丸めがどの状況でも最適であるとは限らないため、 しかし 1 つの丸めがどの状況でも最適であるとは限らないため、
IEEE 754 では、ゼロへの丸め、 IEEE 754 では、0 への丸め、
.If + .If +
への丸め、 への丸め、
.If - .If -
@ -412,11 +412,11 @@ IEEE 754
不正演算 \*(nn, または偽 不正演算 \*(nn, または偽
.if n \{\ .if n \{\
オーバフロー \(+-無限 オーバフロー \(+-無限
ゼロ除算 \(+-無限 \} 0 除算 \(+-無限 \}
.if t \{\ .if t \{\
オーバフロー \(+-\(if オーバフロー \(+-\(if
ゼロ除算 \(+-\(if \} 0 除算 \(+-\(if \}
アンダフロー 段階的アンダフロー アンダフロー 段階的アンダフロー
不精密 丸めた値 不精密 丸めた値
.ta .ta
.fi .fi
@ -444,23 +444,23 @@ IEEE 754
.IP 3) \w'\0\0\0\0'u .IP 3) \w'\0\0\0\0'u
結果をテストし、1 つの例外のみが発生する値であるかどうかを確認する。 結果をテストし、1 つの例外のみが発生する値であるかどうかを確認する。
.RS .RS
警告: アンダフローが発生したかどうかを確実に発見するには、 警告: アンダフローが発生したかどうかを確実に発見するには、
積や商がアンダーフローしきい値よりゼロに近いかどうかをテスト 積や商がアンダフローしきい値より 0 に近いかどうかをテスト
するか、アンダフローフラグをテストするしかありません。 するか、アンダフローフラグをテストするしかありません。
(IEEE 754 では、和と差がアンダフローを起こすことはありません。 (IEEE 754 では、和と差がアンダフローを起こすことはありません。
x x
.if n \ .if n \
!= !=
.if t \ .if t \
\(!= \(!=
y である場合、x\-y は完全に正確で、値が小さくてもゼロではありません。 y である場合、x\-y は完全に正確で、値が小さくても 0 ではありません。
) 段階的にアンダフローを起こす積と商は、徐々に精度を失っても ) 段階的にアンダフローを起こす積と商は、徐々に精度を失っても
ゼロにはならないため、ゼロと比較しても (VAX で実行する可能性がある)、 0 にはならないため、0 と比較しても (VAX で実行する可能性がある)、
ロスは明らかになりません。段階的にアンダフローを起こした値を ロスは明らかになりません。段階的にアンダフローを起こした値を
アンダフローしきい値より大きい値と加算する場合、段階的な アンダフローしきい値より大きい値と加算する場合、段階的な
アンダフローで失われる桁は切り捨てられるので失われません。 アンダフローで失われる桁は切り捨てられるので失われません。
このため、通常の場合、段階的なアンダフローは無視できることがあります。 このため、通常の場合、段階的なアンダフローは無視できることがあります。
ゼロにフラッシュされるアンダーフローでは、同じことが正しいとは限りません。 0 にフラッシュされるアンダフローでは、同じことが正しいとは限りません。
.RE .RE
.PP .PP
IEEE 754 に準拠するシステムでは、以下のような方法でも例外に IEEE 754 に準拠するシステムでは、以下のような方法でも例外に
@ -513,7 +513,7 @@ IEEE 754
この作業が進むまで、\fIlibm\fR の関数はそれほど小さくなりませんが、 この作業が進むまで、\fIlibm\fR の関数はそれほど小さくなりませんが、
以下の場合を除き、不適切な例外を発生させません。 以下の場合を除き、不適切な例外を発生させません。
.RS .RS
オーバフロー/アンダフロー オーバフロー/アンダフロー
.RS .RS
正しく計算した結果が、範囲内に収まっている場合。 正しく計算した結果が、範囲内に収まっている場合。
.RE .RE
@ -534,13 +534,13 @@ IEEE 754
正しい結果が有限であるが、オーバフローしきい値を 正しい結果が有限であるが、オーバフローしきい値を
越えている場合。 越えている場合。
.RE .RE
ゼロ除算は、以下のような場合にのみ発生します。 0 除算は、以下のような場合にのみ発生します。
.RS .RS
有限演算で、関数が無限の値を受けた場合。 有限演算で、関数が無限の値を受けた場合。
.RE .RE
アンダフローは、以下のような場合にのみ発生します。 アンダフローは、以下のような場合にのみ発生します。
.RS .RS
正しい結果がゼロではないが、アンダーフローしきい値より 正しい結果が 0 ではないが、アンダフローしきい値より
小さい場合。 小さい場合。
.RE .RE
不正確は、以下のような場合にのみ発生します。 不正確は、以下のような場合にのみ発生します。
@ -548,12 +548,12 @@ IEEE 754
正しい結果の表現に、より広い範囲かより高い精度が必要な 正しい結果の表現に、より広い範囲かより高い精度が必要な
場合。 場合。
.SH バグ .SH バグ
シグナルが適切である場合、そのシグナルはコードの特定オペレーションから 信号が適切である場合、その信号はコードの特定オペレーションから
発信されているので、上記の手法 5) を使用している場合は、 発信されているので、上記の手法 5) を使用している場合は、
サブルーチンをトレースしてそのシグナルを発している関数を特定する サブルーチンをトレースしてその信号を発している関数を特定する
必要があります。すべてのコードは、IEEE 754 のデフォルトを使用します。 必要があります。すべてのコードは、IEEE 754 のデフォルトを使用します。
つまり、すべてのゼロ除算をトラップしようとすると、 つまり、すべての 0 除算をトラップしようとすると、
トラップしない場合にゼロ除算でも正しい結果を出すコードが中断されると トラップしない場合に 0 除算でも正しい結果を出すコードが中断されると
いうことです。 いうことです。
.SH 関連項目 .SH 関連項目
\fBfpgetround\fR(3), \fBfpgetround\fR(3),
@ -562,9 +562,9 @@ IEEE 754
\fBfpsetprec\fR(3), \fBfpsetprec\fR(3),
\fBfpgetmask\fR(3), \fBfpgetmask\fR(3),
\fBfpsetmask\fR(3), \fBfpsetmask\fR(3),
\fBfpgetsticky\fR(3) \fBfpgetsticky\fR(3),
\fBfpresetsticky\fR(3) - IEEE 浮動小数インタフェース \fBfpresetsticky\fR(3) - IEEE 浮動小数インタフェース
.SH .SH
IEEE 754 とエクステンション p854 については、 IEEE 754 とエクステンション p854 については、
1984 年 8 月に発行された、IEEE の雑誌『MICRO』を参照してください。 1984 年 8 月に発行された、IEEE の雑誌『MICRO』を参照してください。
W. J. Cody らが「A Proposed Radix\- and Word\-length\-independent W. J. Cody らが「A Proposed Radix\- and Word\-length\-independent

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)modf.3 8.1 (Berkeley) 6/4/93 .\" @(#)modf.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/modf.3,v 1.3.2.3 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
@ -41,9 +42,11 @@
.Os .Os
.Sh 名称 .Sh 名称
.Nm modf .Nm modf
.Nd 浮動小数からの符号付きの整数値/小数値取り出し .Nd 浮動小数点数からの符号付きの整数値/小数値取り出し
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <math.h> .In math.h
.Ft double .Ft double
.Fn modf "double value" "double *iptr" .Fn modf "double value" "double *iptr"
.Sh 解説 .Sh 解説
@ -60,7 +63,7 @@
.Fn modf .Fn modf
関数は、 関数は、
.Fa value .Fa value
の符号付き小数部分をします。 の符号付き小数部分をします。
.Sh 関連項目 .Sh 関連項目
.Xr frexp 3 , .Xr frexp 3 ,
.Xr ldexp 3 , .Xr ldexp 3 ,
@ -68,6 +71,6 @@
.Sh 規格 .Sh 規格
.Fn modf .Fn modf
関数は、 関数は、
.St -ansiC .St -isoC
準拠しています。 適合しています。
.\"kuma 1999-11-12 .\"kuma 1999-11-12

View file

@ -30,17 +30,20 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)moncontrol.3 8.1 (Berkeley) 6/4/93 .\" @(#)moncontrol.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gmon/moncontrol.3,v 1.6.2.5 2001/12/14 18:33:54 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
.Dt MONCONTROL 3 .Dt MONCONTROL 3
.Os BSD 4 .Os
.Sh 名称 .Sh 名称
.Nm moncontrol , .Nm moncontrol ,
.Nm monstartup .Nm monstartup
.Nd 実行プロファイルの制御 .Nd 実行プロファイルの制御
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .In sys/types.h
.Ft int .Ft int
.Fn moncontrol "int mode" .Fn moncontrol "int mode"
.Ft int .Ft int
@ -94,9 +97,10 @@
このアドレス範囲のすべての関数です。プロファイル採取は、 このアドレス範囲のすべての関数です。プロファイル採取は、
.Fn monstartup .Fn monstartup
から戻ったときに始まります。 から戻ったときに始まります。
.Sn 関連ファイル .Sh 関連ファイル
.Bl -tag -width Pa -compact .Bl -tag -width progname.gmon -compact
.It Pa progname.gmon 実行データファイル .It Pa progname.gmon
実行データファイル
.El .El
.Sh 関連項目 .Sh 関連項目
.Xr cc 1 , .Xr cc 1 ,

View file

@ -29,19 +29,21 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" .\"
.\" $Id: msgctl.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" %FreeBSD: src/lib/libc/gen/msgctl.3,v 1.8.2.6 2001/12/14 18:33:51 ru Exp %
.\"/ .\"/
.\" $FreeBSD$ .\" $FreeBSD$
.Dd November 24, 1997 .Dd November 24, 1997
.Dt MSGCTL 3 .Dt MSGCTL 3
.Os FreeBSD .Os
.Sh 名称 .Sh 名称
.Nm msgctl .Nm msgctl
.Nd メッセージ制御オペレーション .Nd メッセージ制御オペレーション
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .In sys/types.h
.Fd #include <sys/ipc.h> .In sys/ipc.h
.Fd #include <sys/msg.h> .In sys/msg.h
.Ft int .Ft int
.Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf" .Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf"
.Sh 解説 .Sh 解説
@ -49,7 +51,7 @@
システムコールは、 システムコールは、
.Fa msqid .Fa msqid
が指定するメッセージキューに対して制御オペレーションを実行します。 が指定するメッセージキューに対して制御オペレーションを実行します。
.Pp
各メッセージキューには、それに関連したデータ構造体があります。 各メッセージキューには、それに関連したデータ構造体があります。
その一部は その一部は
.Fn msgctl .Fn msgctl
@ -79,13 +81,9 @@ struct msqid_ds {
}; };
.Ed .Ed
.Pp .Pp
.Bf -literal .Vt shmid_ds
shmid_ds
.Ef
構造体の中で使用される 構造体の中で使用される
.Bf -literal .Vt ipc_perm
ipc_perm
.Ef
構造体は、 構造体は、
.Aq Pa sys/ipc.h .Aq Pa sys/ipc.h
で以下のように定義されています。 で以下のように定義されています。
@ -148,7 +146,7 @@ struct ipc_perm {
.Va msg_perm.uid .Va msg_perm.uid
の値が、実効ユーザ ID に等しいプロセスのみが、これを実行できます。 の値が、実効ユーザ ID に等しいプロセスのみが、これを実行できます。
.El .El
.Pp
メッセージキューからの読込み権かメッセージキューへの書込み権 ( メッセージキューからの読込み権かメッセージキューへの書込み権 (
.Xr msgsnd 3 .Xr msgsnd 3
@ -167,10 +165,7 @@ struct ipc_perm {
.Va msg_perm.gid .Va msg_perm.gid
と一致します。 と一致します。
.Sh 戻り値 .Sh 戻り値
問題なく終了すると 0 が戻されます。問題なく終了しないと -1 が戻され、 .Rv -std msgctl
グローバル変数
.Va errno
がそのエラーを示すように設定されます。
.Sh エラー .Sh エラー
.Fn msgctl .Fn msgctl
は、以下のような場合にエラーとなります。 は、以下のような場合にエラーとなります。
@ -183,7 +178,7 @@ struct ipc_perm {
フィールドか フィールドか
.Va msg_perm.cuid .Va msg_perm.cuid
フィールドと一致しない場合。 フィールドと一致しない場合。
.Pp
IPC_SET を用いて IPC_SET を用いて
.Va msg_qbytes .Va msg_qbytes
の値を上げようとしたが、呼出し側がスーパユーザでない場合。 の値を上げようとしたが、呼出し側がスーパユーザでない場合。
@ -193,7 +188,7 @@ IPC_SET
.It Bq Er EINVAL .It Bq Er EINVAL
.Fa msqid .Fa msqid
が正しいメッセージキュー ID でない場合。 が正しいメッセージキュー ID でない場合。
.Pp
.Va cmd .Va cmd
が正しいコマンドでない場合。 が正しいコマンドでない場合。
.It Bq Er EFAULT .It Bq Er EFAULT
@ -206,6 +201,6 @@ IPC_SET
.Xr msgsnd 3 .Xr msgsnd 3
.Sh 歴史 .Sh 歴史
メッセージキューは、 メッセージキューは、
AT&T Unix System V .At V
の最初のリリースに追加されました。 の最初のリリースに追加されました。
.\"kuma 1999-11-12 .\"kuma 1999-11-12

View file

@ -1,4 +1,4 @@
.\" $NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp $ .\" $NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp $
.\" .\"
.\" Copyright (c) 1995 Frank van der Linden .\" Copyright (c) 1995 Frank van der Linden
.\" All rights reserved. .\" All rights reserved.
@ -28,18 +28,22 @@
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" %FreeBSD: src/lib/libc/gen/msgget.3,v 1.7.2.4 2001/12/14 18:33:51 ru Exp %
.\"
.\"/ .\"/
.\" $FreeBSD$ .\" $FreeBSD$
.Dd August 17, 1995 .Dd August 17, 1995
.Dt MSGGET 3 .Dt MSGGET 3
.Os FreeBSD .Os
.Sh 名称 .Sh 名称
.Nm msgget .Nm msgget
.Nd メッセージキューの取得 .Nd メッセージキューの取得
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .In sys/types.h
.Fd #include <sys/ipc.h> .In sys/ipc.h
.Fd #include <sys/msg.h> .In sys/msg.h
.Ft int .Ft int
.Fn msgget "key_t key" "int msgflg" .Fn msgget "key_t key" "int msgflg"
.Sh 解説 .Sh 解説
@ -98,6 +102,7 @@
.It .It
.Va msg_ctime .Va msg_ctime
は、現在の時刻に設定されます。 は、現在の時刻に設定されます。
.El
.Sh 戻り値 .Sh 戻り値
問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく 問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく
終了しないと -1 が戻され、グローバル変数 終了しないと -1 が戻され、グローバル変数
@ -128,6 +133,7 @@
が設定されていない状況で、 が設定されていない状況で、
.Fa key .Fa key
に関連するメッセージキューが見つかりません。 に関連するメッセージキューが見つかりません。
.El
.Sh 関連項目 .Sh 関連項目
.Xr msgctl 3 , .Xr msgctl 3 ,
.Xr msgrcv 3 , .Xr msgrcv 3 ,
@ -135,6 +141,6 @@
.Pp .Pp
.Sh 歴史 .Sh 歴史
メッセージキューは、 メッセージキューは、
AT&T Unix System V .At V
の最初のリリースに追加されました。 の最初のリリースに追加されました。
.\"kuma 1999-11-12 .\"kuma 1999-11-12

View file

@ -1,4 +1,4 @@
.\" $NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp $ .\" $NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp $
.\" .\"
.\" Copyright (c) 1995 Frank van der Linden .\" Copyright (c) 1995 Frank van der Linden
.\" All rights reserved. .\" All rights reserved.
@ -28,20 +28,22 @@
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" $Id: msgrcv.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" %FreeBSD: src/lib/libc/gen/msgrcv.3,v 1.8.2.6 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\"/ .\"/
.\" $FreeBSD$ .\" $FreeBSD$
.Dd November 24, 1997 .Dd November 24, 1997
.Dt MSGRCV 3 .Dt MSGRCV 3
.Os FreeBSD .Os
.Sh 名称 .Sh 名称
.Nm msgrcv .Nm msgrcv
.Nd メッセージキューからメッセージを受信 .Nd メッセージキューからメッセージを受信
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .In sys/types.h
.Fd #include <sys/ipc.h> .In sys/ipc.h
.Fd #include <sys/msg.h> .In sys/msg.h
.Ft int .Ft int
.Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg" .Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg"
.Sh 解説 .Sh 解説
@ -193,6 +195,7 @@
.Dv IPC_NOWAIT .Dv IPC_NOWAIT
が設定されている場合。 が設定されている場合。
.El
.Sh 関連項目 .Sh 関連項目
.Xr msgctl 3 , .Xr msgctl 3 ,
.Xr msgget 3 , .Xr msgget 3 ,
@ -200,7 +203,7 @@
.Sh バグ .Sh バグ
.Tn NetBSD .Tn NetBSD
.Tn FreeBSD .Fx
では、メッセージキューが削除された場合に使用すべきエラー値 では、メッセージキューが削除された場合に使用すべきエラー値
.Er EIDRM .Er EIDRM
が定義されていません。また、利用可能なメッセージがない状態で が定義されていません。また、利用可能なメッセージがない状態で

View file

@ -1,4 +1,4 @@
.\" $NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp $ .\" $NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp $
.\" .\"
.\" Copyright (c) 1995 Frank van der Linden .\" Copyright (c) 1995 Frank van der Linden
.\" All rights reserved. .\" All rights reserved.
@ -28,27 +28,29 @@
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" $Id: msgsnd.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $
.\" .\"
.\"/ .\" %FreeBSD: src/lib/libc/gen/msgsnd.3,v 1.9.2.5 2001/12/14 18:33:51 ru Exp %
.\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd November 24, 1997 .Dd November 24, 1997
.Dt MSGSND 3 .Dt MSGSND 3
.Os FreeBSD .Os
.Sh 名称 .Sh 名称
.Nm msgsnd .Nm msgsnd
.Sh ライブラリ
.Lb libc
.Nd メッセージキューにメッセージを送信 .Nd メッセージキューにメッセージを送信
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .In sys/types.h
.Fd #include <sys/ipc.h> .In sys/ipc.h
.Fd #include <sys/msg.h> .In sys/msg.h
.Ft int .Ft int
.Fn msgsnd "int msqid" "void *msgp" "size_t msgsz" "int msgflg" .Fn msgsnd "int msqid" "void *msgp" "size_t msgsz" "int msgflg"
.Sh 解説 .Sh 解説
.Fn msgsnd .Fn msgsnd
関数は、 関数は、
.Fa msqid .Fa msqid
で指定されているメッセージキューからメッセージ で指定されているメッセージキューメッセージ
を送信します。 を送信します。
.Fa msgp .Fa msgp
は、メッセージを含む構造体を指します。この構造体は、 は、メッセージを含む構造体を指します。この構造体は、
@ -122,9 +124,7 @@
が現在の時刻に設定されます。 が現在の時刻に設定されます。
.El .El
.Sh 戻り値 .Sh 戻り値
問題なく終了すると 0 が戻されます。問題が発生すると -1 が戻され、 .Rv -std msgsnd
.Va errno
がそのエラーを示すように設定されます。
.Sh エラー .Sh エラー
.Fn msgsnd .Fn msgsnd
は、以下のような場合にエラーとなります。 は、以下のような場合にエラーとなります。
@ -142,6 +142,9 @@
が 0 より小さいか、 が 0 より小さいか、
.Va msg_qbytes .Va msg_qbytes
より大きい場合。 より大きい場合。
.Pp
.Fa mtype
が 0 より大きくない場合。
.It Bq Er EACCES .It Bq Er EACCES
呼出しプロセスにメッセージキューの書込み権がない場合。 呼出しプロセスにメッセージキューの書込み権がない場合。
.It Bq Er EAGAIN .It Bq Er EAGAIN
@ -155,10 +158,11 @@
が正しいアドレスを指していない場合。 が正しいアドレスを指していない場合。
.It Bq Er EINTR .It Bq Er EINTR
システムコールが、シグナルの配送によって割り込まれた場合。 システムコールが、シグナルの配送によって割り込まれた場合。
.El
.Sh バグ .Sh バグ
.Tn NetBSD .Nx
.Tn FreeBSD .Fx
は、メッセージキューが削除された場合に使用すべきエラー値 は、メッセージキューが削除された場合に使用すべきエラー値
.Er EIDRM .Er EIDRM
を定義していません。 を定義していません。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)nice.3 8.1 (Berkeley) 6/4/93 .\" @(#)nice.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/nice.3,v 1.6.2.4 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
@ -38,13 +39,16 @@
.Sh 名称 .Sh 名称
.Nm nice .Nm nice
.Nd プログラムのスケジューリング優先度の設定 .Nd プログラムのスケジューリング優先度の設定
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .In unistd.h
.Ft int .Ft int
.Fn nice "int incr" .Fn nice "int incr"
.Sh 解説 .Sh 解説
.Bf -symbolic .Bf -symbolic
このインタフェースは、setpriority(2) このインタフェースは、
.Xr setpriority 2
で置き換えられました。 で置き換えられました。
.Ef .Ef
.Pp .Pp
@ -67,5 +71,4 @@
.Fn nice .Fn nice
は、 は、
.At v6 .At v6
で追加されました。 で登場しました。
.\"kuma 1999-11-12

View file

@ -1,5 +1,6 @@
.\" Hey Emacs! This file is -*- nroff -*- source. .\" Hey Emacs! This file is -*- nroff -*- source.
.\" $Id: pam_authenticate.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" $Id: pam_authenticate.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $
.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_authenticate.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp %
.\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net> .\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net>
.\" $FreeBSD$ .\" $FreeBSD$
.TH PAM_AUTHENTICATE 3 "1996 Dec 9" "PAM 0.55" "App. Programmers' Manual" .TH PAM_AUTHENTICATE 3 "1996 Dec 9" "PAM 0.55" "App. Programmers' Manual"
@ -37,13 +38,13 @@ pam_authenticate \-
を呼び出して取得できます。 を呼び出して取得できます。
.br .br
アプリケーション開発者は、認証モジュールが対話メカニズム( アプリケーション開発者は、認証モジュールが対話メカニズム (
.BR pam_start "(3)" .BR pam_start "(3)"
参照) 参照)
でユーザにユーザ名を入力させることがあることに注意する必要があります。 でユーザにユーザ名を入力させることがあることに注意する必要があります。
この場合は、ユーザプロンプトストリングを この場合は、ユーザプロンプトストリングを
.BR PAM_USER_PROMPT .BR PAM_USER_PROMPT
アイテム( アイテム (
.BR pam_set_item "(3)" .BR pam_set_item "(3)"
参照) 参照)
で設定できます。 で設定できます。

View file

@ -1,5 +1,6 @@
.\" Hey Emacs! This file is -*- nroff -*- source. .\" Hey Emacs! This file is -*- nroff -*- source.
.\" $Id: pam_chauthtok.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" $Id: pam_chauthtok.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $
.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_chauthtok.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp %
.\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net> .\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net>
.\" $FreeBSD$ .\" $FreeBSD$
.TH PAM_CHAUTHTOK 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" .TH PAM_CHAUTHTOK 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual"
@ -16,11 +17,12 @@ pam_chauthtok \- ǧ
.B pam_chauthtok .B pam_chauthtok
.br .br
この関数を使用すると、申請ユーザの認証トークン(パスワードなど)を この関数を使用すると、申請ユーザの認証トークン (パスワードなど)
更新できます。 更新できます。
.br .br
アプリケーションでユーザをあらかじめ認証する必要はありません。認証は アプリケーションでユーザをあらかじめ認証すべきではありません。
認証は
.BR PAM .BR PAM
フレームワークで必要に応じて実行されます。 フレームワークで必要に応じて実行されます。
@ -30,10 +32,11 @@ pam_chauthtok \- ǧ
.BR PAM_CHANGE_EXPIRED_AUTHTOK .BR PAM_CHANGE_EXPIRED_AUTHTOK
を取ることが を取ることが
.I あります。 .I あります。
この場合は、期限が切れた認証トークンの更新をフレームワークで行なう この場合、期限が切れた認証トークンのみを、
必要があります。この引数がないと、フレームワークはすべての設定済み認証 フレームワークが更新する必要があります。
メカニズムで新しいトークンを取得しようとします。呼び出しアプリケーション この引数がないと、フレームワークはすべての設定済み認証
で、このようなスキームのタイプと番号の詳細に関わる必要はありません。 メカニズムに対し、新しいトークンを取得しようとします。
型の詳細やスキーム数は、呼び出しアプリケーションに無関係であるべきです。
.SH 戻り値 .SH 戻り値
この関数から問題なく戻ると、 この関数から問題なく戻ると、
@ -58,11 +61,11 @@ pam_chauthtok \- ǧ
.br .br
.BR PAM_AUTHTOK_DISABLE_AGING .BR PAM_AUTHTOK_DISABLE_AGING
- 1 つ以上の認証モジュールが、認証トークンの期限切れを認めませんでした。 - 1 つ以上の認証モジュールが、認証トークンのエージングを認めませんでした。
.br .br
.BR PAM_TRY_AGAIN .BR PAM_TRY_AGAIN
- 1 つ以上の認証メカニズムで、今回のトークンの更新準備が整っていません。 - 1 つ以上の認証メカニズムで、トークンの更新のための準備が今できていません。
.br .br
一般的にはその他の戻り値も戻されます。エラーを示しているものとして 一般的にはその他の戻り値も戻されます。エラーを示しているものとして

View file

@ -1,5 +1,6 @@
.\" Hey Emacs! This file is -*- nroff -*- source. .\" Hey Emacs! This file is -*- nroff -*- source.
.\" $Id: pam_fail_delay.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" $Id: pam_fail_delay.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $
.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_fail_delay.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp %
.\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net> .\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net>
.\" $FreeBSD$ .\" $FreeBSD$
.TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual" .TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual"
@ -10,7 +11,7 @@ pam_fail_delay \-
.SH 書式 .SH 書式
.B #include <security/pam_appl.h> .B #include <security/pam_appl.h>
.br .br
or, または
.br .br
.B #include <security/pam_modules.h> .B #include <security/pam_modules.h>
.sp .sp
@ -18,21 +19,23 @@ or,
.sp 2 .sp 2
.SH 解説 .SH 解説
.br .br
申請ユーザのアクセスをスキームが拒否する場合にかかる時間を悪用し、 申請ユーザのアクセスをスキームが拒否する場合にかかる時間を悪用することで、
認証スキームにアタックできることがあります。タイムアウトが しばしば認証スキームに攻撃可能です。
タイムアウトが
.I 短い .I 短い
場合でも、ディクショナリを 場合、
.I 乱用 .I 腕力による
してアタックすることが可能なことがあります。アタッカが 辞書攻撃が可能な場合があります。
自動化されたプロセスを使用し、考えられるパスワードをすべて試してシステムに 自動処理により考えられるパスワードをすべて試して、攻撃者がシステムに
アクセスしようとするのです。それぞれのエラーにかかる時間を計測できる場合 アクセスしようとするのです。
(エラーの本質を示す)、アタッカは認証プロセスに関する重要な情報を 一方、個々の失敗が (失敗の性質を示すような) 計測可能な時間を費す場合、
入手できます。後者のアタックでは、重要な情報の 認証処理に関する有用な情報を攻撃者が取得可能です。
.I 保護チャンネル 後者の攻撃は、重要な情報の
を構成する手続き型遅延が利用されます。 .I 隠れ通信路 (covert channel)
である、手続き遅延を使用することです。
.br .br
このようなアタックを最低限に抑えるには、エラーとなった認証プロセスで このような攻撃の効果を最低限に抑えるには、エラーとなった認証プロセスで
ランダムな遅延を導入することが有効です。 ランダムな遅延を導入することが有効です。
.B PAM .B PAM
には、ランダムな遅延を導入する機能があります。遅延は、 には、ランダムな遅延を導入する機能があります。遅延は、
@ -52,9 +55,10 @@ or,
.I usec .I usec
引数) を指定できます。この関数は、ユーザによるサービスの再申請を 引数) を指定できます。この関数は、ユーザによるサービスの再申請を
遅らせることが重要となるサービスアプリケーションや認証モジュールから呼び 遅らせることが重要となるサービスアプリケーションや認証モジュールから呼び
出せます。遅延の長さは必要なときに算出され、 出せます。遅延の長さは必要なときに算出されます。
長さは、
.I 最大 .I 最大
要求値からランダムに分散されます。 要求値に対する擬似ガウシアン分布になります。
最大要求値の上下 25% までに分散されるのです。 最大要求値の上下 25% までに分散されるのです。
.br .br
@ -62,13 +66,13 @@ or,
.BR pam_chauthtok "(3)" .BR pam_chauthtok "(3)"
から戻る場合、問題の有無に関係なく、新しい要求遅延は から戻る場合、問題の有無に関係なく、新しい要求遅延は
デフォルト値のゼロにリセットされます。 デフォルト値の 0 にリセットされます。
.SH .SH
.br .br
.B ログイン .B ログイン
アプリケーションで約 3 秒間のエラー遅延が必要となる場合、 アプリケーションで約 3 秒間のエラー遅延が必要となる場合、
このアプリケーションには以下のようなコードが含まれます。 このアプリケーションには以下のコードが含まれます。
.sp .sp
.br .br
.B " pam_fail_delay(pamh, 3000000 /* micro-seconds */ );" .B " pam_fail_delay(pamh, 3000000 /* micro-seconds */ );"

View file

@ -1,5 +1,6 @@
.\" Hey Emacs! This file is -*- nroff -*- source. .\" Hey Emacs! This file is -*- nroff -*- source.
.\" $Id: pam_open_session.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" $Id: pam_open_session.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $
.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_open_session.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp %
.\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net> .\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net>
.\" $FreeBSD$ .\" $FreeBSD$
.TH PAM_OPEN_SESSION 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" .TH PAM_OPEN_SESSION 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual"
@ -29,15 +30,15 @@ PAM
で証明書を与えられた後で呼び出してください。 で証明書を与えられた後で呼び出してください。
.br .br
セッションの初期化に関連した関数には、システムを監視するための セッションの初期化に関連した関数には、システム監視のための
ログ作成とディレクトリ(ユーザのホームディレクトリなど)の ログ作成とディレクトリ (ユーザのホームディレクトリなど)
マウントがあります。アプリケーションでこれに関わることはありません。 マウントがあります。アプリケーションでこれに関わることはありません。
アプリケーションの アプリケーションの
.I 有効な .I 実効
uid ( uid (
.BR geteuid "(2)" .BR geteuid "(2)"
) )
に、このようなタスクを実行する権利が必要であることに注意してください。 に、このような処理に十分な権限を持つことが必要であることに注意してください。
.TP .TP
.B pam_close_session .B pam_close_session
@ -50,14 +51,15 @@ uid (
と同じアプリケーションにこの関数を配置する必要はありません。 と同じアプリケーションにこの関数を配置する必要はありません。
.br .br
この関数は、 典型的には、この関数は、
.BR pam_open_session .BR pam_open_session
のアクションを取り消します。 のアクションを取り消します。
つまり、ユーザセッションの終了に関わる監視情報を記録し、ユーザの つまり、ユーザセッションの終了に関わる監視情報を記録し、ユーザの
ホームディレクトリのマウントを解除します。十分な権利があることは別にして、 ホームディレクトリのマウントを解除します。
十分な権限があることは別にして、
セッションの終了の詳細に呼び出しアプリケーションが関わるこはありません。 セッションの終了の詳細に呼び出しアプリケーションが関わるこはありません。
しかし、この呼び出しから戻るときにユーザのためにアクションを起こすことは 一方、この呼び出しから戻り次第、当該ユーザの権限での動作を止めることは、
止めてください 良いプログラミングスタイルです
.SH 戻り値 .SH 戻り値
このセッション管理関数で問題が発生しなかった場合は、 このセッション管理関数で問題が発生しなかった場合は、

View file

@ -1,5 +1,6 @@
.\" Hey Emacs! This file is -*- nroff -*- source. .\" Hey Emacs! This file is -*- nroff -*- source.
.\" $Id: pam_setcred.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" $Id: pam_setcred.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $
.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_setcred.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp %
.\" Copyright (c) Andrew G. Morgan 1996,1997 <morgan@parc.power.net> .\" Copyright (c) Andrew G. Morgan 1996,1997 <morgan@parc.power.net>
.\" $FreeBSD$ .\" $FreeBSD$
.TH PAM_SETCRED 3 "1997 July 6" "PAM 0.58" "App. Programmers' Manual" .TH PAM_SETCRED 3 "1997 July 6" "PAM 0.58" "App. Programmers' Manual"
@ -20,7 +21,7 @@ pam_setcred \-
.BR pam_open_session "(3)" .BR pam_open_session "(3)"
で開く前に呼び出してください。 で開く前に呼び出してください。
証明書には、グループメンバシップ、チケットファイル、PAM 環境変数など、 証明書には、グループメンバシップ、チケットファイル、PAM 環境変数など、
多くの形式があることに注意してください。このため、この関数を 多くの形式があることに注意してください。このため、この関数を
呼び出す前にユーザの基本的な ID をアプリケーションで確立することが 呼び出す前にユーザの基本的な ID をアプリケーションで確立することが
重要になります。デフォルトの 重要になります。デフォルトの

View file

@ -1,5 +1,6 @@
.\" Hey Emacs! This file is -*- nroff -*- source. .\" Hey Emacs! This file is -*- nroff -*- source.
.\" $Id: pam_start.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" $Id: pam_start.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $
.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_start.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp %
.\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net> .\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net>
.\" $FreeBSD$ .\" $FreeBSD$
.TH PAM_START 3 "1997 Feb 15" "PAM 0.56" "Application Programmers' Manual" .TH PAM_START 3 "1997 Feb 15" "PAM 0.56" "Application Programmers' Manual"
@ -21,14 +22,14 @@ pam_start, pam_end \- PAM
ライブラリを初期化し、特定の ライブラリを初期化し、特定の
.IR サービス .IR サービス
名でアプリケーション 名でアプリケーション
確認します。インタフェースを初期化するときにユーザ名が分かっていない 識別します。インタフェースを初期化するときにユーザ名が分かっていない
場合は、 場合は、
.IR ユーザ .IR ユーザ
名を 名を
.IR NULL .IR NULL
にできます。 にできます。
.IR conv .IR conv
引数で、対話構造をライブラリに渡せます 引数で、対話構造をライブラリに渡せます
(これとその他の構造の詳細については、 (これとその他の構造の詳細については、
.IR PAM .IR PAM
アプリケーションの アプリケーションの
@ -47,12 +48,12 @@ pam_start, pam_end \- PAM
引数は、ライブラリからアプリケーションに戻された最新の値を渡します。 引数は、ライブラリからアプリケーションに戻された最新の値を渡します。
これは、ライブラリの終了方法を示します。この引数は戻り値を運ぶ他に、 これは、ライブラリの終了方法を示します。この引数は戻り値を運ぶ他に、
.IR PAM_DATA_SILENT .IR PAM_DATA_SILENT
と論理和を取り、モジュールがこの呼び出しを重大に扱わないことを と論理和を取ることで、
示すことがあります。 モジュールがこの呼び出しをあまり重大に扱わないよう指示可能です。
一般的には、現在のライブラリの終了処理が 一般的には、現在のライブラリの終了処理が
.IR fork "(2)" .IR fork "(2)"
を実行したプロセスで実行されること、 を実行したプロセスで実行されること、
および現行プロセスのスペース以外に存在するもの(ファイルなど) および現行プロセスの空間外に存在するもの (ファイルなど)
を親がクリーンアップすることを示します。 を親がクリーンアップすることを示します。
.SH 戻り値 .SH 戻り値

View file

@ -1,6 +1,7 @@
.\" Hey Emacs! This file is -*- nroff -*- source. .\" Hey Emacs! This file is -*- nroff -*- source.
.\" ripped off from Rick Faith's getgroups man page .\" ripped off from Rick Faith's getgroups man page
.\" $Id: pam_strerror.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" $Id: pam_strerror.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $
.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_strerror.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp %
.\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net> .\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net>
.\" $FreeBSD$ .\" $FreeBSD$
.TH PAM_STRERROR 3 "1997 Feb 15" "PAM 0.56" "Programmers' Manual" .TH PAM_STRERROR 3 "1997 Feb 15" "PAM 0.56" "Programmers' Manual"

View file

@ -30,38 +30,57 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)psignal.3 8.2 (Berkeley) 2/27/95 .\" @(#)psignal.3 8.2 (Berkeley) 2/27/95
.\" %FreeBSD: src/lib/libc/gen/psignal.3,v 1.10.2.4 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd February 27, 1995 .Dd February 27, 1995
.Dt PSIGNAL 3 .Dt PSIGNAL 3
.Os BSD 4.2 .Os
.Sh 名称 .Sh 名称
.Nm psignal , .Nm psignal ,
.Nm strsignal ,
.Nm sys_siglist , .Nm sys_siglist ,
.Nm sys_signame .Nm sys_signame
.Nd システムシグナルメッセージ .Nd システムシグナルメッセージ
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <signal.h> .In signal.h
.Ft void .Ft void
.Fn psignal "unsigned sig" "const char *s" .Fn psignal "unsigned sig" "const char *s"
.Vt extern const char * const sys_siglist[]; .Vt extern const char * const sys_siglist[] ;
.Vt extern const char * const sys_signame[]; .Vt extern const char * const sys_signame[] ;
.In string.h
.Ft "char *"
.Fn strsignal "int sig"
.Sh 解説 .Sh 解説
関数
.Fn psignal .Fn psignal
関数は、シグナル番号
.Fa sig .Fn strsignal
の説明メッセージ文字列を特定し、標準エラーに書き込みます。 は指定されたシグナル番号の説明メッセージ文字列を特定します。
.Pp .Pp
.Fn strsignal
関数は、シグナル番号引数
.Fa sig
を取り、対応するメッセージ文字列へのポインタを返します。
.Pp
.Fn psignal
関数は、シグナル番号引数
.Fa sig
を取り、標準エラーへ書き込みます。
引数 引数
.Fa s .Fa s
がヌルではなく、ナル文字を指していない場合、
.Dv NULL
ではなく、ヌル文字を指していない場合、
メッセージ文字列の前に メッセージ文字列の前に
.Fa s .Fa s
が標準エラーファイル記述子に書き込まれ、 が標準エラーファイル記述子に書き込まれ、
その直後にコロンとスペースが続きます。 その直後にコロンとスペースが続きます。
シグナル番号が認識されない場合 シグナル番号が認識されない場合
.Pq Xr sigaction 2 , .Pq Xr sigaction 2
文字列 文字列
.Dq "Unknown signal .Dq "Unknown signal
が書き込まれます。 が書き込まれます。
@ -83,7 +102,8 @@
の文字列数が含まれています。 の文字列数が含まれています。
.Sh 関連項目 .Sh 関連項目
.Xr sigaction 2 , .Xr sigaction 2 ,
.Xr perror 3 .Xr perror 3 ,
.Xr strerror 3
.Sh 歴史 .Sh 歴史
.Fn psignal .Fn psignal
関数は、 関数は、

View file

@ -30,16 +30,19 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)siginterrupt.3 8.1 (Berkeley) 6/4/93 .\" @(#)siginterrupt.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/siginterrupt.3,v 1.6.2.4 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
.Dt SIGINTERRUPT 3 .Dt SIGINTERRUPT 3
.Os BSD 4.3 .Os
.Sh 名称 .Sh 名称
.Nm siginterrupt .Nm siginterrupt
.Nd シグナルがシステムコールを中断できるようにする .Nd シグナルがシステムコールを中断できるようにする
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <signal.h> .In signal.h
.Ft int .Ft int
.Fn siginterrupt "int sig" "int flag" .Fn siginterrupt "int sig" "int flag"
.Sh 解説 .Sh 解説
@ -51,7 +54,7 @@
システムコールの再開始は、 システムコールの再開始は、
.Bx 4.2 .Bx 4.2
以降のデフォルトの動作であり、 以降のデフォルトの動作であり、
.Tn FreeBSD .Fx
での での
.Xr signal 3 .Xr signal 3
のデフォルトの のデフォルトの
@ -64,7 +67,7 @@
システムコールは \-1 で返り、グローバル変数 システムコールは \-1 で返り、グローバル変数
.Va errno .Va errno
.Dv EINTR .Er EINTR
に設定されます。 に設定されます。
データの転送を開始した中断されたシステムコールは、 データの転送を開始した中断されたシステムコールは、
実際に転送されたデータの量を返します。 実際に転送されたデータの量を返します。
@ -98,8 +101,15 @@
システムコールの拡張を使用しています。 システムコールの拡張を使用しています。
ですから、後方互換性が必要な場合、これは使用しないでください。 ですから、後方互換性が必要な場合、これは使用しないでください。
.Sh 戻り値 .Sh 戻り値
値 0 は、呼び出しが成功したことを示します。 .Rv -std siginterrupt
\-1 は無効なシグナル番号が与えられたことを示します。 .Sh エラー
.Fn siginterrupt
呼び出しは、次の場合に失敗します:
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa sig
は有効なシグナル番号ではありません。
.El
.Sh 関連項目 .Sh 関連項目
.Xr sigaction 2 , .Xr sigaction 2 ,
.Xr sigblock 2 , .Xr sigblock 2 ,
@ -110,4 +120,4 @@
.Fn siginterrupt .Fn siginterrupt
関数は 関数は
.Bx 4.3 .Bx 4.3
現れました。 登場しました。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)sigsetops.3 8.1 (Berkeley) 6/4/93 .\" @(#)sigsetops.3 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/gen/sigsetops.3,v 1.4.2.2 2001/12/14 18:33:51 ru Exp %
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.Dd June 4, 1993 .Dd June 4, 1993
@ -42,8 +43,10 @@
.Nm sigdelset , .Nm sigdelset ,
.Nm sigismember .Nm sigismember
.Nd シグナルセットを操作 .Nd シグナルセットを操作
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <signal.h> .In signal.h
.Ft int .Ft int
.Fn sigemptyset "sigset_t *set" .Fn sigemptyset "sigset_t *set"
.Ft int .Ft int