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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +1,5 @@
.\" 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
.\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
@ -29,39 +29,49 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" 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$
.Dd April 29, 1995
.Dd July 18, 1999
.Dt DEVNAME 3
.Os BSD 4.4
.Os
.Sh 名称
.Nm devname
.Nd デバイス名を得る
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <stdlib.h>
.In sys/stat.h
.In stdlib.h
.Ft char *
.Fn devname "dev_t dev" "mode_t type"
.Sh 解説
.Fn devname
関数は、デバイス番号
.Fa dev
.Dq Pa /dev
内のブロック名または
キャラクタデバイスを指すポインタと、
と、
.Dv S_IFBLK
または
.Dv S_IFCHR
のどちらかがエンコードされている
.Fa type
でエンコードされたものと一致する
ファイルタイプを返します。
に一致するファイルタイプとを持つ、
.Pa /dev
下のブロックデバイスまたはキャラクタデバイスの名前を指すポインタを返します。
正しい名前を見つけるために、
.Fn devname
は、まず
.Xr dev_mkdb 8
によって作成されたデバイスデータベースを検索します。
それに失敗した場合、
.Va kern.devname
sysctl を用いてカーネルに問い合わせます。
それでも適切な名前が作り出せなかった時には、
.Fa dev
.Fa type
は S_IFBLK または S_IFCHR のどちらかである必要があります。
指定の値と一致するデバイスがない場合、または利用できる情報がない場合、
NULL が返されます。
.Pp
デバイスが見つからないときのアプリケーションの従来の表示は
ストリング
.Dq ??
です。
に込められている情報を、人が読める形式にフォーマットします。
.Sh 関連項目
.Xr stat 2 ,
.Xr dev_mkdb 8
@ -69,4 +79,8 @@ NULL
.Fn devname
関数は
.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.
.\"
.\" 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
.\" 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$
.Dd May 21, 1998
.Dt DEVSTAT 3
.Os FreeBSD 3.0
.Os
.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 デバイス統計ユーティリティライブラリ
.Sh ライブラリ
.Lb libdevstat
.Sh 書式
.Fd #include <devstat.h>
.In sys/dkstat.h
.In devstat.h
.Ft int
.Fn getnumdevs "void"
.Ft long
@ -89,7 +101,7 @@
.Fa "struct timeval prev_time"
.Fc
.Sh 解説
.Nm devstat
.Nm
ライブラリは、カーネル
.Xr devstat 9
インタフェースを処理するのに
@ -97,32 +109,32 @@
.Xr devstat 9
インタフェースは、
.Xr sysctl 3
によってユーザがアクセスできます。
によってユーザがアクセスできます。
.Pp
.Fn getnumdevs
は、カーネル内の
.Nm devstat
サブシステムとともに登録された
デバイスの番号を返します。
.Nm
サブシステムに登録された
デバイスのを返します。
.Pp
.Fn getgeneration
は、カーネル内のデバイス
.Nm devstat
.Nm
リストの現在の世代を
返します。
.Pp
.Fn getversion
は、現在のカーネル
.Nm devstat
.Nm
デバイスバージョンを返します。
.Pp
.Fn checkversion
は、カーネル
.Nm devstat
.Nm
バージョンに対して
userland devstat
ユーザランド devstat
をチェックします。
2 つが同一の場合、ゼロが返されます。そうでない場合は、
2 つが同一の場合、0 が返されます。そうでない場合は、
.Va devstat_errbuf
に該当するエラーを表示し -1 を返します。
.Pp
@ -145,11 +157,18 @@ struct statinfo {
.Ed
.Pp
.Fn getdevs
.Va statinfo
構造が割り振られるのを予期し、また、定刻より早く
構造が割り当てられることを期待し、また、
.Fn getdevs
の起動の前に
.Va dinfo
サブエレメントが割り振られるのも予期します。
サブエレメントが割り当てられて 0 で初期化されることも期待します。
.Va dinfo
サブエレメントは、呼び出しと呼び出しの間の状態を格納するために使用され、
最初の
.Fn getdevs
呼び出しの後には変更してはなりません。
.Va dinfo
サブエレメントには次のエレメントが入っています。
.Bd -literal -offset indent
@ -163,16 +182,16 @@ struct devinfo {
.Pp
.Va kern.devstat.all sysctl
変数には、
.Nm devstat
.Nm
構造の配列が入っていますが、配列の先頭は現在の
.Nm devstat
.Nm
世代です。世代がバッファの先頭にある理由は、
.Nm devstat
統計にアクセスしている userland ソフトウェアが自動的に
統計情報および対応する世代番号の両方を自動的に得るようにするためです。
.Nm
統計にアクセスしているユーザランドソフトウェアが自動的に
統計情報および対応する世代番号の両方を不可分に得るようにするためです。
クライアントソフトウェアが別の
.Nm sysctl
変数 ( これは便宜のために利用できます ) を通じて世代番号を得ることを
変数 (これは便宜のために利用できます) を通じて世代番号を得ることを
強制された場合、デバイスのリストは、クライアントが世代を得る時刻と、
クライアントがデバイスリストを得る時刻の間で変化する可能性があります。
.Pp
@ -187,9 +206,9 @@ struct devinfo {
.Va kern.devstat.all
.Nm sysctl
変数から
.Nm devstat
.Nm
構造の配列の先頭を指すポインタです。
.Nm devinfo
.Va devinfo
構造の世代
サブエレメントには、
.Va kern.devstat.all
@ -199,7 +218,7 @@ struct devinfo {
構造の
.Va numdevs
サブエレメントには、カーネル
.Nm devstat
.Nm
サブシステムで登録されたデバイスの現在の番号が入っています。
.Pp
.Fn selectdevs
@ -223,7 +242,7 @@ da0, da1, cd0
フィールドを基礎にしてソートされます。
.Va bytes
値は、現時点では、ユーザが保守する必要があります。将来的には、これは
.Nm devstat
.Nm
ライブラリルーチンで行われる可能性があります。デバイスが名前または
パターンによって選択されていない場合、性能追跡コードがシステム内の
各デバイスを選択し、これらを性能によってソートします。デバイスが名前または
@ -247,7 +266,7 @@ da0, da1, cd0
.Fn selectdevs
は、名前または一致パターンによって指定された
選択されていないデバイスを選択します。また、これは
.Nm devstat
.Nm
の順序でさらにデバイスを選択します。選択したデバイスの数が
.Va maxshowdevs
に等しくなるまで、またはすべてのデバイスが選択されるまでです。
@ -285,14 +304,14 @@ only
.Fn selectdevs
は、クライアントによって渡された
.Va dev_select
構造の割り振りとサイズ変更を処理します。
構造の割り当てとサイズ変更を処理します。
.Fn selectdevs
は、
.Va numdevs
フィールドと
.Va current_generation
フィールドを使用して、現在の
.Nm devstat
.Nm
世代とデバイスの数を追跡します。
.Va num_selections
@ -306,7 +325,7 @@ only
は、選択リストを必要に応じてサイズ変更し、選択配列を初期化し直します。
.Pp
.Fn buildmatch
は、ンマで区切られた一致ストリングを取り、
は、ンマで区切られた一致ストリングを取り、
.Fn selectdevs
が理解する
\fBdevstat_match\fR 構造にコンパイルします。一致ストリングの形式は
@ -317,12 +336,12 @@ device,type,if
.Ed
.Pp
.Fn buildmatch
は、必要に応じて、一致リストの割り振りと再割り振り
は、必要に応じて、一致リストの割り当てと再割り当て
処理します。現時点で既知の一致タイプには次のものが含まれます。
.Pp
.Bl -tag -width indent -compact
.It デバイスタイプ:
.Bl -tag -width 123456789 -compact
.Bl -tag -width 9n -compact
.It da
ダイレクトアクセスデバイス
.It sa
@ -352,7 +371,7 @@ CD
.El
.Pp
.It インタフェース:
.Bl -tag -width 123456789 -compact
.Bl -tag -width 9n -compact
.It IDE
統合ドライブ電子工学デバイス (Integrated Drive Electronics devices)
.It SCSI
@ -362,7 +381,7 @@ CD
.El
.Pp
.It パススルー:
.Bl -tag -width 123456789 -compact
.Bl -tag -width 9n -compact
.It pass
パススルーデバイス
.El
@ -379,7 +398,7 @@ CD
.Va previous
.Nm devstat
.Nm
構造の両方を指定したいと思うものです。指定期間に渡って統計が
計算できるようにするためにです。インスタンスによっては、システム起動からの
統計を計算するために、ユーザは
@ -442,7 +461,7 @@ CD
関数 (
.Va statinfo
構造体内 ) が、現在の
.Nm devstat
.Nm
リストを取り出すたびに、
.Fn getdevs
関数が記録した時刻とともに最も一般的に使用されます。
@ -455,7 +474,7 @@ CD
変数を取り出すときにエラーがあった場合は -1 を返します。
.Pp
.Fn checkversion
は、カーネルと userland devstat バージョンが一致する場合、
は、カーネルとユーザランド devstat バージョンが一致する場合、
0 を返します。一致しない場合、 -1 を返します。
.Pp
.Fn getdevs
@ -478,7 +497,7 @@ CD
.Fn compute_etime
計算済みの経過時間を返します。
.Pp
.Nm devstat
.Nm
ライブラリ関数の 1 つからエラーが返された場合、一般に、エラーの
理由がグローバルストリング
.Va devstat_errbuf
@ -494,20 +513,19 @@ CD
.Xr vmstat 8 ,
.Xr devstat 9
.Sh 歴史
.Nm devstat
.Nm
統計システムは最初に
.Fx 3.0
に現れました。
.Sh 作者
Kenneth Merry
.Aq ken@FreeBSD.ORG
.An Kenneth Merry Aq ken@FreeBSD.org
.Sh バグ
.Fn getdevs ,
.Fn selectdevs
、および
.Fn buildmatch
によって割り振られたメモリを
割り振り解除するためのインタフェースがおそらくあるはずです。
割り当て解除するためのインタフェースがおそらくあるはずです。
.Pp
.Fn selectdevs
は、デバイスが以前に選択されていない場合、

View file

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

View file

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

View file

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

View file

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

View file

@ -34,6 +34,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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$
.Dd June 4, 1993
@ -41,15 +42,17 @@
.Os
.Sh 名称
.Nm frexp
.Nd 浮動小数を小数部と整数部に変換
.Nd 浮動小数点数を小数部と整数部に変換
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <math.h>
.In math.h
.Ft double
.Fn frexp "double value" "int *exp"
.Sh 解説
.Fn frexp
関数は、浮動小数を分割して、正規化された小数部分と
2 の整数累乗に分けます。
関数は、浮動小数点数を分割して、正規化された小数部分と
2 の整数累乗の部分に分けます。
整数部は、
.Fa exp
が指す
@ -57,20 +60,22 @@
オブジェクトに保存されます。
.Sh 戻り値
.Fn frexp
関数は、区間
.Bq 1/2 , 1
に入る、もしくは大きさがゼロであり、かつ、
それに 2 の
関数は、次のような値
.Em x
を返します。
すなわち
.Em x
は、大きさが区間
.Bo 1/2 , 1 Pc
に入るかもしくは 0 の
.Em double
値であり、それに 2 の
.Fa *exp
乗を掛けると
.Fa value
と等しくなる
.Em double
の値
.Em x
を戻します。
と等しくなります。
.Fa value
ゼロである場合、結果のどちらの部分もゼロになります。
が 0 である場合、結果のどちらの部分も 0 になります。
.Sh 関連項目
.Xr ldexp 3 ,
.Xr math 3 ,
@ -79,6 +84,6 @@
.Sh 規格
.Fn frexp
関数は、
.St -ansiC
準拠しています。
.St -isoC
適合しています。
.\"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
.\" 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$
.Dd June 17, 1996
.Dt ftpio 3
.Dt FTPIO 3
.Os
.Sh 名称
.Nm ftpLogin ,
@ -40,39 +40,47 @@
.Nm ftpPassive ,
.Nm ftpVerbose ,
.Nm ftpGetURL ,
.Nm ftpPutURL
.Nm ftpPutURL ,
.Nm ftpLoginAf ,
.Nm ftpGetURLAf ,
.Nm ftpPutURLAf
.Nd FTPIO ユーザライブラリ
.Sh 書式
.Fd #include <ftpio.h>
.In ftpio.h
.Ft FILE *
.Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode"
.Ft int
.Fn ftpChdir "FILE *stream, char *dirname"
.Fn ftpChdir "FILE *stream" "char *dirname"
.Ft int
.Fn ftpErrno "FILE *stream"
.Ft const char *
.Fn ftpErrString "int errno"
.Ft time_t
.Fn ftpGetModtime "FILE *stream, char *file"
.Fn ftpGetModtime "FILE *stream" "char *file"
.Ft off_t
.Fn ftpGetSize "FILE *stream, char *file"
.Fn ftpGetSize "FILE *stream" "char *file"
.Ft FILE *
.Fn ftpGet "FILE *stream, char *file, off_t *seekto"
.Fn ftpGet "FILE *stream" "char *file" "off_t *seekto"
.Ft FILE *
.Fn ftpPut "FILE *stream, char *file"
.Fn ftpPut "FILE *stream" "char *file"
.Ft int
.Fn ftpAscii "FILE *stream"
.Ft int
.Fn ftpBinary "FILE *stream"
.Ft int
.Fn ftpPassive "FILE *stream, int status"
.Fn ftpPassive "FILE *stream" "int status"
.Ft void
.Fn ftpVerbose "FILE *stream, int status"
.Fn ftpVerbose "FILE *stream" "int status"
.Ft FILE *
.Fn ftpGetURL "char *url, char *user, char *passwd, int *retcode"
.Fn ftpGetURL "char *url" "char *user" "char *passwd" "int *retcode"
.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 解説
この関数は、FTP コネクションを管理するための
高レベルなライブラリを実装します。
@ -88,23 +96,23 @@
.Fa verbose
フィールドを
使用してログインしようとします。ログインに成功すれば、標準的な
ストリーム記述子がされます。この記述子は、後の FTP オペレーションに
渡してください。エラーが発生した場合は NULL がされ、
ストリーム記述子がされます。この記述子は、後の FTP オペレーションに
渡してください。エラーが発生した場合は NULL がされ、
.Fa retcode
には、外部サーバがすエラーコードが入ります。
には、外部サーバがすエラーコードが入ります。
.Pp
.Fn ftpChdir
は、サーバの CD コマンドを出し、
.Fa dir
で指定された
ディレクトリに変更しようとします。問題がなければゼロが戻されます。
問題がある場合は、サーバのエラーコードがされます。
ディレクトリに変更しようとします。問題がなければ 0 が返されます。
問題がある場合は、サーバのエラーコードがされます。
.Pp
.Fn ftpErrno
は、最後のオペレーションのサーバエラーコードをします。
は、最後のオペレーションのサーバエラーコードをします。
FTP のエラーコードに精通している場合は、エラーの原因の確認に有益です。
.Fn ftpErrString
は、人間が判読できるサーバエラーコードをします。
は、人間が判読できるサーバエラーコードをします。
.Pp
.Fn ftpGet
は、
@ -112,28 +120,28 @@ FTP
引数が指定するファイルを取り出し (FTP サーバのカレントディレクトリ
からの相対パスと想定される。
.Fn ftpChdir
参照)、そのファイルのための新しい FILE* ポインタをします。
エラーが発生した場合は NULL をします。
参照)、そのファイルのための新しい FILE* ポインタをします。
エラーが発生した場合は NULL をします。
.Fa seekto
が NULL ではない場合、これが指す整数の内容は、ファイルの再開ポイント
として使用されます。つまり、されたストリームは、ファイルの
として使用されます。つまり、されたストリームは、ファイルの
.Fa *seekto
バイトを指しているということです。これは、エラーで失敗した転送を
効率的に再開する際に便利です。シーク操作がエラーになった場合、
.Fa *seekto
の値はゼロになります。
の値は 0 になります。
.Pp
.Fn ftpGetModtime
は、
.Fa file
引数が指定するファイルの最終修正時刻を
戻します。ファイルをオープンできない場合は 0 が戻されます。
返します。ファイルをオープンできない場合は 0 が返されます。
.Pp
.Fn ftpGetSize
は、
.Fa file
引数が指定するファイルのサイズをバイト単位で
戻します。ファイルをオープンできない場合は -1 が戻されます。
返します。ファイルをオープンできない場合は -1 が返されます。
.Pp
.Fn ftpPut
は、
@ -143,7 +151,7 @@ FTP
.Fn ftpChdir
参照)、ファイルの新しい
.Fa stream
ポインタを戻します。エラーが発生した場合は NULL を戻します。
ポインタを返します。エラーが発生した場合は NULL を返します。
.Pp
.Fn ftpAscii
は、
@ -178,7 +186,7 @@ ASCII
が指定するファイルを取り出します。これは、
サーバの
.Fa stream
されないこと除けば、
されないこと除けば、
.Fn ftpLogin ,
.Fn ftpChdir ,
.Fn ftpGet
@ -193,7 +201,7 @@ ASCII
が指定するファイルを作成します。これは、
サーバの
.Fa stream
されないことを除けば、
されないことを除けば、
.Fn ftpLogin ,
.Fn ftpChdir ,
.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 環境変数
.Bl -tag -width FTP_PASSIVE_MODE -offset 123
.Bl -tag -width FTP_PASSIVE_MODE -offset 3n
.It Ev FTP_TIMEOUT
.Tn FTP
接続を異常終了させる前に、通信相手からの応答を待つ最大時間
(秒単位) です。
.It Ev FTP_PASSIVE_MODE
パッシブモード
定義されている場合、パッシブモード
.Tn FTP
を強制的に使用します。
ただし ``NO'' または ``no'' に定義されている場合は、
アクティブモードを強制的に使用します。
定義されている場合、この変数の設定は、
.Fn ftpPassive
の呼び出しに優先します。
.El
.Sh バグ
こいつを徹底的に使い込むと、内部状態マシンを混乱させてしまう可能性が

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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$
.Dd May 4, 1995
@ -38,19 +39,22 @@
.Sh 名称
.Nm getvfsbyname
.Nd ファイルシステムについての情報を取得
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/param.h>
.Fd #include <sys/mount.h>
.In sys/param.h
.In sys/mount.h
.Ft int
.Fn getvfsbyname "const char *name" "struct vfsconf *vfc"
.Sh 解説
.Fn getvfsbyname
関数によって、カーネルに構成されたファイルシステムモジュール
の、関連情報にアクセスできます。成功した場合は要求されたファイルシステム
関数は、カーネルに構成されているファイルシステムモジュール
に関する情報へのアクセスを提供します。
成功した場合は、要求されたファイルシステム
.Fa vfsconf
.Fa vfc
の指す位置に返ます。構造体
の指す位置に返ます。構造体
.Dq Li struct vfsconf
のフィールドは、次のように定義されます。
.Pp
@ -58,21 +62,16 @@
.It vfc_name
ファイルシステムの名前
.It vfc_typenum
カーネルによって割り当てられたファイルシステムの
カーネルによって割り当てられたファイルシステムの
タイプ番号
.It vfc_refcount
ファイルシステムを使用する、アクティブ実装ポイントの番号
ファイルシステムを使用するアクティブなポイントの番号
.It vfc_flags
ファイルシステムを使用する、新たな実装ポイントの初期化
フラグビット
.Xr getvfsent 3
に記述されるフラグビット
.El
.Sh 戻り値
.Nm getvfsbyname
の呼び出しに成功した場合は
0 が、その他の場合は
\-1 が返り、
.Va errno
がそれぞれのエラーに対応して設定されます。
.Rv -std getvfsbyname
.Sh エラー
次のエラーが報告される場合があります。
.Bl -tag -width Er
@ -83,16 +82,15 @@
ファイルシステムを指定する
.Fa name
が未知か、またはカーネルに構成されていません。
.El
.Sh 関連項目
.Xr sysctl 1
.Xr mount 2
.Xr sysctl 3
.Xr mount 8
.Xr mount 2 ,
.Xr getvfsent 3 ,
.Xr sysctl 3 ,
.Xr mount 8 ,
.Xr sysctl 8
.Sh 歴史
.Fn getvfsbyname
関数の変形は、
関数は、
.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.
.\" This manual page is in the public domain.
.\"
@ -13,9 +13,11 @@
.Nm vfsisloadable ,
.Nm vfsload
.Nd 仮想ファイルシステムモジュールを管理
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/param.h>
.Fd #include <sys/mount.h>
.In sys/param.h
.In sys/mount.h
.Ft struct ovfsconf *
.Fn getvfsent "void"
.Ft void
@ -28,11 +30,11 @@
.Fn vfsload "const char *name"
.Sh 解説
.Fn getvfsent
関数によって、カーネルが管理する仮想ファイルシステムモジュール
実装リストに、簡単にアクセスできます。リストのファイルシステムを
関数によって、カーネルが管理するインストール済の仮想ファイルシステムモジュール
のリストに、簡単にアクセスできます。リストのファイルシステムを
1 回に
1 つづつ段階的に処理します。利用できるデータがそれ以上なくなると、
null
ヌル
ポインタが返ります。構造体
.Dq Li struct ovfsconf
のフィールドは次のとおりです。
@ -46,12 +48,28 @@ null
の呼び出しに使用された、ファイルシステムのタイプ番号。
.It vfc_refcount
このファイルシステムの参照数
(通常は実装数ですが、
アンロードできないファイルシステム、または静的にこのカーネルにリンク
されているファイルシステムなどがあると、実装数を上回ります)
(通常はマウント数ですが、
アンロードできないかカーネルに静的にリンクされている
ファイルシステムでは、マウント数に 1 を加えたものになります)。
.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
.Pp
.Fn setvfsent
@ -65,7 +83,7 @@ null
.Fn setvfsent
.Fa cachelist
パラメータがゼロでなければ、これら
パラメータが 0 でなければ、これら
検索関数のどれかを最初に呼び出した時点でリストはただ
1 回だけ取り出され、
キャッシュをクリアするために
@ -78,58 +96,35 @@ null
を使用するプログラムによって呼び出される必要があり、
.Fn setvfsent 0
(これもデフォルトの状態で)
(これもデフォルトの状態で)、
.Fn vfsload
関数を使用するプログラムによって呼び出される必要があります。
.Pp
.Fn vfsisloadable
関数は、後で
.Fn vfsload name
の呼び出しが続きそうだと非ゼロ値を返します。ここで
「そう」と言うのは、
.Fn vfsisloadable
によってチェックされる条件だけが、
.Fn vfsload
が後続するために必要な条件の小さな
サブセットだからです。詳しく説明すれば、
の呼び出しが続きそうだと非 0 値を返します。ここで
.Dq そう
と言うのは、
.Fn vfsisloadable
.Pa /dev/lkm
存在するか、書き込みのためにオープンできるか、また
LKM
(ロード可能カーネルモジュール)
用に指定したディレクトリの
1 つで、
.Pa Ns Fa name Ns _mod.o
見付かるかなどをチェックします。
.Fn vfsload
が成功するための条件をチェックしないからです。
.Pp
.Fn vfsload
関数は、ファイルシステム
.Fa name
の実装カーネルモジュールをロード
しようと試みます。ファイルシステムモジュールを無事に突き止めてロードした
場合はゼロが、その他の場合は非ゼロが返ります。この関数を呼び出せるのは次に
場合は 0 が、その他の場合は非 0 が返ります。この関数を呼び出せるのは次に
示す状況だけです。
.Bl -enum
.It
.Fn getvfsbyname
を呼び出して非ゼロ値が返った場合。
を呼び出して非 0 値が返った場合。
.It
.Fn vfsisloadable
を呼び出して非ゼロ値が返った場合。
.It
十分な一時ファイル空間が利用でき、
.No Ns \&${ Ns Ev TMPDIR Ns \&}
.Pa /var/tmp
または
.Pa /tmp
1 つに
書き込みもできる場合。
を呼び出して非 0 値が返った場合。
.El
.Pp
.Xr mount_cd9660 8
@ -157,7 +152,7 @@ if (mount(vfc.vfc_name, dir, mntflags, &args) < 0)
.Sh 戻り値
.Fn getvfsent
ルーチンは、成功すると静的データ構造体のポインタを、失敗すると
null
ヌル
ポインタを返します。原因が
.Xr sysctl 3
または
@ -171,60 +166,19 @@ null
は改変されません。
.Pp
.Fn vfsload
関数は失敗すると非ゼロ値を、成功するとゼロを返します。
関数は失敗すると非 0 値を、成功すると 0 を返します。
.Fn vfsload
が失敗した場合、
.Xr kldload 2
用に記述された
.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 関連項目
.Xr mount 2
.Xr modload 8
.Xr kldload 2 ,
.Xr mount 2 ,
.Xr mount 8
.Sh バグ
.Xr modload 8
コマンドの戻り値は、
.Va errno
値として解釈する場合
(もっと言えば、ほかのどんなものとして解釈する場合も)、
特に有用ではありません。
.Sh 作者
.An -nosplit
このロード可能ファイルシステムサポートは、
.An Terry Lambert
による汎用のロード可能カーネルモジュールサポートをベースに、
@ -234,4 +188,4 @@ null
.Fn getvfsent
関数ファミリは
.Fx 2.0
最初に取り入れられました。
はじめて登場しました。

View file

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

View file

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

View file

@ -34,10 +34,12 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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$
.Dd January 3, 1993
.Dt KEYCAP 3
.Os
.Sh 名称
.Nm kgetent ,
.Nm kgetnum ,
@ -80,7 +82,7 @@
.Fn kgetent
関数は、オープンできた
.Nm keycap
データベースファイルが一つもなければ \-1 を返し、
データベースファイルが一つもなければ \-1 を返し、
所定のマップ名にエントリがなければ 0 を返し、
全てが正常終了すれば 1 を返します。
.Pp
@ -109,7 +111,7 @@
関数は、ケーパビリティが見つからなければ
.Dv NULL
を返します。
.Sh ファイル
.Sh 関連ファイル
.Bl -tag -width /usr/share/misc/keycap.pcvt -compact
.It Pa /usr/share/misc/keycap.pcvt
キーボードケーパビリティデータベース

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -30,19 +30,20 @@
.\" SUCH DAMAGE.
.\"
.\" 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$
.\"
.Dd December 3, 1992
.Dt LGAMMA 3
.Os BSD 4.3
.Os
.Sh 名称
.Nm lgamma ,
.Nm lgammaf ,
.Nm gamma ,
.Nm gammaf
.Nd ガンマ関数およびガンマ関数の対数計算
.Sh ライブラリ
.Lb libm
.Sh 書式
.Fd #include <math.h>
.Ft extern int
@ -108,7 +109,7 @@ signgam
では、予約語のオペレータが返され、
負の大きな非整数値に関しては
.Fn gamma
関数でアンダフロエラーが発生し、
関数でアンダフロエラーが発生し、
.Va errno
.Er ERANGE

View file

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

View file

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

View file

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

View file

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

View file

@ -29,19 +29,21 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $Id: 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$
.Dd November 24, 1997
.Dt MSGCTL 3
.Os FreeBSD
.Os
.Sh 名称
.Nm msgctl
.Nd メッセージ制御オペレーション
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/ipc.h>
.Fd #include <sys/msg.h>
.In sys/types.h
.In sys/ipc.h
.In sys/msg.h
.Ft int
.Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf"
.Sh 解説
@ -49,7 +51,7 @@
システムコールは、
.Fa msqid
が指定するメッセージキューに対して制御オペレーションを実行します。
.Pp
各メッセージキューには、それに関連したデータ構造体があります。
その一部は
.Fn msgctl
@ -79,13 +81,9 @@ struct msqid_ds {
};
.Ed
.Pp
.Bf -literal
shmid_ds
.Ef
.Vt shmid_ds
構造体の中で使用される
.Bf -literal
ipc_perm
.Ef
.Vt ipc_perm
構造体は、
.Aq Pa sys/ipc.h
で以下のように定義されています。
@ -148,7 +146,7 @@ struct ipc_perm {
.Va msg_perm.uid
の値が、実効ユーザ ID に等しいプロセスのみが、これを実行できます。
.El
.Pp
メッセージキューからの読込み権かメッセージキューへの書込み権 (
.Xr msgsnd 3
@ -167,10 +165,7 @@ struct ipc_perm {
.Va msg_perm.gid
と一致します。
.Sh 戻り値
問題なく終了すると 0 が戻されます。問題なく終了しないと -1 が戻され、
グローバル変数
.Va errno
がそのエラーを示すように設定されます。
.Rv -std msgctl
.Sh エラー
.Fn msgctl
は、以下のような場合にエラーとなります。
@ -183,7 +178,7 @@ struct ipc_perm {
フィールドか
.Va msg_perm.cuid
フィールドと一致しない場合。
.Pp
IPC_SET を用いて
.Va msg_qbytes
の値を上げようとしたが、呼出し側がスーパユーザでない場合。
@ -193,7 +188,7 @@ IPC_SET
.It Bq Er EINVAL
.Fa msqid
が正しいメッセージキュー ID でない場合。
.Pp
.Va cmd
が正しいコマンドでない場合。
.It Bq Er EFAULT
@ -206,6 +201,6 @@ IPC_SET
.Xr msgsnd 3
.Sh 歴史
メッセージキューは、
AT&T Unix System V
.At V
の最初のリリースに追加されました。
.\"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
.\" All rights reserved.
@ -28,18 +28,22 @@
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" %FreeBSD: src/lib/libc/gen/msgget.3,v 1.7.2.4 2001/12/14 18:33:51 ru Exp %
.\"
.\"/
.\" $FreeBSD$
.Dd August 17, 1995
.Dt MSGGET 3
.Os FreeBSD
.Os
.Sh 名称
.Nm msgget
.Nd メッセージキューの取得
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/ipc.h>
.Fd #include <sys/msg.h>
.In sys/types.h
.In sys/ipc.h
.In sys/msg.h
.Ft int
.Fn msgget "key_t key" "int msgflg"
.Sh 解説
@ -98,6 +102,7 @@
.It
.Va msg_ctime
は、現在の時刻に設定されます。
.El
.Sh 戻り値
問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく
終了しないと -1 が戻され、グローバル変数
@ -128,6 +133,7 @@
が設定されていない状況で、
.Fa key
に関連するメッセージキューが見つかりません。
.El
.Sh 関連項目
.Xr msgctl 3 ,
.Xr msgrcv 3 ,
@ -135,6 +141,6 @@
.Pp
.Sh 歴史
メッセージキューは、
AT&T Unix System V
.At V
の最初のリリースに追加されました。
.\"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
.\" All rights reserved.
@ -28,20 +28,22 @@
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" $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$
.Dd November 24, 1997
.Dt MSGRCV 3
.Os FreeBSD
.Os
.Sh 名称
.Nm msgrcv
.Nd メッセージキューからメッセージを受信
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/ipc.h>
.Fd #include <sys/msg.h>
.In sys/types.h
.In sys/ipc.h
.In sys/msg.h
.Ft int
.Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg"
.Sh 解説
@ -193,6 +195,7 @@
.Dv IPC_NOWAIT
が設定されている場合。
.El
.Sh 関連項目
.Xr msgctl 3 ,
.Xr msgget 3 ,
@ -200,7 +203,7 @@
.Sh バグ
.Tn NetBSD
.Tn FreeBSD
.Fx
では、メッセージキューが削除された場合に使用すべきエラー値
.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
.\" All rights reserved.
@ -28,27 +28,29 @@
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" $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$
.Dd November 24, 1997
.Dt MSGSND 3
.Os FreeBSD
.Os
.Sh 名称
.Nm msgsnd
.Sh ライブラリ
.Lb libc
.Nd メッセージキューにメッセージを送信
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <sys/ipc.h>
.Fd #include <sys/msg.h>
.In sys/types.h
.In sys/ipc.h
.In sys/msg.h
.Ft int
.Fn msgsnd "int msqid" "void *msgp" "size_t msgsz" "int msgflg"
.Sh 解説
.Fn msgsnd
関数は、
.Fa msqid
で指定されているメッセージキューからメッセージ
で指定されているメッセージキューメッセージ
を送信します。
.Fa msgp
は、メッセージを含む構造体を指します。この構造体は、
@ -122,9 +124,7 @@
が現在の時刻に設定されます。
.El
.Sh 戻り値
問題なく終了すると 0 が戻されます。問題が発生すると -1 が戻され、
.Va errno
がそのエラーを示すように設定されます。
.Rv -std msgsnd
.Sh エラー
.Fn msgsnd
は、以下のような場合にエラーとなります。
@ -142,6 +142,9 @@
が 0 より小さいか、
.Va msg_qbytes
より大きい場合。
.Pp
.Fa mtype
が 0 より大きくない場合。
.It Bq Er EACCES
呼出しプロセスにメッセージキューの書込み権がない場合。
.It Bq Er EAGAIN
@ -155,10 +158,11 @@
が正しいアドレスを指していない場合。
.It Bq Er EINTR
システムコールが、シグナルの配送によって割り込まれた場合。
.El
.Sh バグ
.Tn NetBSD
.Nx
.Tn FreeBSD
.Fx
は、メッセージキューが削除された場合に使用すべきエラー値
.Er EIDRM
を定義していません。

View file

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

View file

@ -1,5 +1,6 @@
.\" 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>
.\" $FreeBSD$
.TH PAM_AUTHENTICATE 3 "1996 Dec 9" "PAM 0.55" "App. Programmers' Manual"
@ -37,13 +38,13 @@ pam_authenticate \-
を呼び出して取得できます。
.br
アプリケーション開発者は、認証モジュールが対話メカニズム(
アプリケーション開発者は、認証モジュールが対話メカニズム (
.BR pam_start "(3)"
参照)
でユーザにユーザ名を入力させることがあることに注意する必要があります。
この場合は、ユーザプロンプトストリングを
.BR PAM_USER_PROMPT
アイテム(
アイテム (
.BR pam_set_item "(3)"
参照)
で設定できます。

View file

@ -1,5 +1,6 @@
.\" 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>
.\" $FreeBSD$
.TH PAM_CHAUTHTOK 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual"
@ -16,11 +17,12 @@ pam_chauthtok \- ǧ
.B pam_chauthtok
.br
この関数を使用すると、申請ユーザの認証トークン(パスワードなど)を
この関数を使用すると、申請ユーザの認証トークン (パスワードなど)
更新できます。
.br
アプリケーションでユーザをあらかじめ認証する必要はありません。認証は
アプリケーションでユーザをあらかじめ認証すべきではありません。
認証は
.BR PAM
フレームワークで必要に応じて実行されます。
@ -30,10 +32,11 @@ pam_chauthtok \- ǧ
.BR PAM_CHANGE_EXPIRED_AUTHTOK
を取ることが
.I あります。
この場合は、期限が切れた認証トークンの更新をフレームワークで行なう
必要があります。この引数がないと、フレームワークはすべての設定済み認証
メカニズムで新しいトークンを取得しようとします。呼び出しアプリケーション
で、このようなスキームのタイプと番号の詳細に関わる必要はありません。
この場合、期限が切れた認証トークンのみを、
フレームワークが更新する必要があります。
この引数がないと、フレームワークはすべての設定済み認証
メカニズムに対し、新しいトークンを取得しようとします。
型の詳細やスキーム数は、呼び出しアプリケーションに無関係であるべきです。
.SH 戻り値
この関数から問題なく戻ると、
@ -58,11 +61,11 @@ pam_chauthtok \- ǧ
.br
.BR PAM_AUTHTOK_DISABLE_AGING
- 1 つ以上の認証モジュールが、認証トークンの期限切れを認めませんでした。
- 1 つ以上の認証モジュールが、認証トークンのエージングを認めませんでした。
.br
.BR PAM_TRY_AGAIN
- 1 つ以上の認証メカニズムで、今回のトークンの更新準備が整っていません。
- 1 つ以上の認証メカニズムで、トークンの更新のための準備が今できていません。
.br
一般的にはその他の戻り値も戻されます。エラーを示しているものとして

View file

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

View file

@ -1,5 +1,6 @@
.\" 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>
.\" $FreeBSD$
.TH PAM_OPEN_SESSION 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual"
@ -29,15 +30,15 @@ PAM
で証明書を与えられた後で呼び出してください。
.br
セッションの初期化に関連した関数には、システムを監視するための
ログ作成とディレクトリ(ユーザのホームディレクトリなど)の
セッションの初期化に関連した関数には、システム監視のための
ログ作成とディレクトリ (ユーザのホームディレクトリなど)
マウントがあります。アプリケーションでこれに関わることはありません。
アプリケーションの
.I 有効な
.I 実効
uid (
.BR geteuid "(2)"
)
に、このようなタスクを実行する権利が必要であることに注意してください。
に、このような処理に十分な権限を持つことが必要であることに注意してください。
.TP
.B pam_close_session
@ -50,14 +51,15 @@ uid (
と同じアプリケーションにこの関数を配置する必要はありません。
.br
この関数は、
典型的には、この関数は、
.BR pam_open_session
のアクションを取り消します。
つまり、ユーザセッションの終了に関わる監視情報を記録し、ユーザの
ホームディレクトリのマウントを解除します。十分な権利があることは別にして、
ホームディレクトリのマウントを解除します。
十分な権限があることは別にして、
セッションの終了の詳細に呼び出しアプリケーションが関わるこはありません。
しかし、この呼び出しから戻るときにユーザのためにアクションを起こすことは
止めてください
一方、この呼び出しから戻り次第、当該ユーザの権限での動作を止めることは、
良いプログラミングスタイルです
.SH 戻り値
このセッション管理関数で問題が発生しなかった場合は、

View file

@ -1,5 +1,6 @@
.\" 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>
.\" $FreeBSD$
.TH PAM_SETCRED 3 "1997 July 6" "PAM 0.58" "App. Programmers' Manual"
@ -20,7 +21,7 @@ pam_setcred \-
.BR pam_open_session "(3)"
で開く前に呼び出してください。
証明書には、グループメンバシップ、チケットファイル、PAM 環境変数など、
証明書には、グループメンバシップ、チケットファイル、PAM 環境変数など、
多くの形式があることに注意してください。このため、この関数を
呼び出す前にユーザの基本的な ID をアプリケーションで確立することが
重要になります。デフォルトの

View file

@ -1,5 +1,6 @@
.\" 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>
.\" $FreeBSD$
.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 NULL
にできます。
.IR conv
引数で、対話構造をライブラリに渡せます
引数で、対話構造をライブラリに渡せます
(これとその他の構造の詳細については、
.IR PAM
アプリケーションの
@ -47,12 +48,12 @@ pam_start, pam_end \- PAM
引数は、ライブラリからアプリケーションに戻された最新の値を渡します。
これは、ライブラリの終了方法を示します。この引数は戻り値を運ぶ他に、
.IR PAM_DATA_SILENT
と論理和を取り、モジュールがこの呼び出しを重大に扱わないことを
示すことがあります。
と論理和を取ることで、
モジュールがこの呼び出しをあまり重大に扱わないよう指示可能です。
一般的には、現在のライブラリの終了処理が
.IR fork "(2)"
を実行したプロセスで実行されること、
および現行プロセスのスペース以外に存在するもの(ファイルなど)
および現行プロセスの空間外に存在するもの (ファイルなど)
を親がクリーンアップすることを示します。
.SH 戻り値

View file

@ -1,6 +1,7 @@
.\" Hey Emacs! This file is -*- nroff -*- source.
.\" 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>
.\" $FreeBSD$
.TH PAM_STRERROR 3 "1997 Feb 15" "PAM 0.56" "Programmers' Manual"

View file

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

View file

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

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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$
.Dd June 4, 1993
@ -42,8 +43,10 @@
.Nm sigdelset ,
.Nm sigismember
.Nd シグナルセットを操作
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <signal.h>
.In signal.h
.Ft int
.Fn sigemptyset "sigset_t *set"
.Ft int