Catch up with 5.0-CURRENT-20030329-JPSNAP
Submitted by: Akira Ikeuchi <yr6a-ikuc@asahi-net.or.jp>
This commit is contained in:
parent
f087f06a9a
commit
cbddcb090f
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=16559
15 changed files with 140 additions and 75 deletions
|
@ -63,6 +63,7 @@
|
||||||
.Fa clock_id
|
.Fa clock_id
|
||||||
引数には、次の 3 つの値のうちの 1 つを指定します。
|
引数には、次の 3 つの値のうちの 1 つを指定します。
|
||||||
CLOCK_REALTIME は普通の時計のように進む時間、
|
CLOCK_REALTIME は普通の時計のように進む時間、
|
||||||
|
CLOCK_MONOTONIC は SI 単位系の秒で進む時間、
|
||||||
CLOCK_VIRTUAL は呼び出しプロセスのために CPU がユーザモードで
|
CLOCK_VIRTUAL は呼び出しプロセスのために CPU がユーザモードで
|
||||||
実行されているときにだけ進む時間、
|
実行されているときにだけ進む時間、
|
||||||
CLOCK_PROF は、CPU がユーザモードまたはカーネルモードで実行されている
|
CLOCK_PROF は、CPU がユーザモードまたはカーネルモードで実行されている
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" @(#)mincore.2 8.1 (Berkeley) 6/9/93
|
.\" @(#)mincore.2 8.1 (Berkeley) 6/9/93
|
||||||
.\" %FreeBSD: src/lib/libc/sys/mincore.2,v 1.22 2003/01/17 04:06:57 tjr Exp %
|
.\" %FreeBSD: src/lib/libc/sys/mincore.2,v 1.23 2003/02/23 01:47:47 ru Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd January 17, 2003
|
.Dd January 17, 2003
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
.Fa vec
|
.Fa vec
|
||||||
配列の中に返されます。
|
配列の中に返されます。
|
||||||
個々の文字は、そのページが常駐していなければ 0 または、以下の
|
個々の文字は、そのページが常駐していなければ 0 または、以下の
|
||||||
.Sy ( <sys/mman.h>
|
.Aq ( Pa sys/mman.h
|
||||||
で定義されている) フラグの組み合わせです:
|
で定義されている) フラグの組み合わせです:
|
||||||
.Bl -tag -width ".Dv MINCORE_REFERENCED_OTHER"
|
.Bl -tag -width ".Dv MINCORE_REFERENCED_OTHER"
|
||||||
.It Dv MINCORE_INCORE
|
.It Dv MINCORE_INCORE
|
||||||
|
@ -80,16 +80,16 @@
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
.Fn mincore
|
.Fn mincore
|
||||||
によって返される情報は、この関数が戻る時間のために
|
によって返される情報は、このシステムコールが戻る時間のために
|
||||||
古くなっているかもしれません。
|
古くなっているかもしれません。
|
||||||
あるページが常駐することを保証する唯一の方法は、そのページを
|
あるページが常駐することを保証する唯一の方法は、そのページを
|
||||||
.Xr mlock 2
|
.Xr mlock 2
|
||||||
関数でメモリにロックすることです。
|
システムコールでメモリにロックすることです。
|
||||||
.Sh 戻り値
|
.Sh 戻り値
|
||||||
.Rv -std mincore
|
.Rv -std mincore
|
||||||
.Sh エラー
|
.Sh エラー
|
||||||
.Fn mincore
|
.Fn mincore
|
||||||
関数は次の場合に失敗します:
|
システムコールは次の場合に失敗します:
|
||||||
.Bl -tag -width Er
|
.Bl -tag -width Er
|
||||||
.It Bq Er EINVAL
|
.It Bq Er EINVAL
|
||||||
.Fa addr
|
.Fa addr
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" @(#)mount.2 8.3 (Berkeley) 5/24/95
|
.\" @(#)mount.2 8.3 (Berkeley) 5/24/95
|
||||||
.\" %FreeBSD: src/lib/libc/sys/mount.2,v 1.33 2003/01/13 19:42:21 joerg Exp %
|
.\" %FreeBSD: src/lib/libc/sys/mount.2,v 1.34 2003/02/23 01:47:47 ru Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd May 24, 1995
|
.Dd May 24, 1995
|
||||||
|
@ -75,10 +75,12 @@
|
||||||
.Pp
|
.Pp
|
||||||
デフォルトではスーパユーザのみが
|
デフォルトではスーパユーザのみが
|
||||||
.Fn mount
|
.Fn mount
|
||||||
関数を呼び出すことができます。
|
システムコールを呼び出すことができます。
|
||||||
この制約は sysctl の
|
この制約は
|
||||||
|
.Xr sysctl 8
|
||||||
|
の
|
||||||
.Em vfs.usermount
|
.Em vfs.usermount
|
||||||
を 0 ではない値に設定することで解除することが可能です。
|
変数を 0 ではない値に設定することで解除することが可能です。
|
||||||
.Pp
|
.Pp
|
||||||
次の
|
次の
|
||||||
.Fa flags
|
.Fa flags
|
||||||
|
@ -185,7 +187,7 @@ vfs
|
||||||
.Bl -tag -width Er
|
.Bl -tag -width Er
|
||||||
.It Bq Er EPERM
|
.It Bq Er EPERM
|
||||||
呼び出し側がスーパユーザでも
|
呼び出し側がスーパユーザでも
|
||||||
.Ar dir
|
.Fa dir
|
||||||
の所有者でもありません。
|
の所有者でもありません。
|
||||||
.It Bq Er ENAMETOOLONG
|
.It Bq Er ENAMETOOLONG
|
||||||
パス名の構成要素が 255 文字を越えているか、
|
パス名の構成要素が 255 文字を越えているか、
|
||||||
|
@ -260,7 +262,7 @@ nfs_args
|
||||||
.Bl -tag -width Er
|
.Bl -tag -width Er
|
||||||
.It Bq Er EPERM
|
.It Bq Er EPERM
|
||||||
呼び出し側がスーパユーザでも該当する
|
呼び出し側がスーパユーザでも該当する
|
||||||
.Xr mount 2
|
.Fn mount
|
||||||
の呼び出しを実行したユーザでもありません。
|
の呼び出しを実行したユーザでもありません。
|
||||||
.It Bq Er ENOTDIR
|
.It Bq Er ENOTDIR
|
||||||
パスの構成要素中にディレクトリ以外のものが含まれています。
|
パスの構成要素中にディレクトリ以外のものが含まれています。
|
||||||
|
@ -287,7 +289,6 @@ nfs_args
|
||||||
.Sh 関連項目
|
.Sh 関連項目
|
||||||
.Xr lsvfs 1 ,
|
.Xr lsvfs 1 ,
|
||||||
.Xr mount 8 ,
|
.Xr mount 8 ,
|
||||||
.Xr sysctl 8 ,
|
|
||||||
.Xr umount 8
|
.Xr umount 8
|
||||||
.Sh バグ
|
.Sh バグ
|
||||||
エラーコードには、明瞭なメッセージにするために変更が必要なものがあります。
|
エラーコードには、明瞭なメッセージにするために変更が必要なものがあります。
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" @(#)mprotect.2 8.1 (Berkeley) 6/9/93
|
.\" @(#)mprotect.2 8.1 (Berkeley) 6/9/93
|
||||||
.\" %FreeBSD: src/lib/libc/sys/mprotect.2,v 1.16 2002/12/23 19:25:03 trhodes Exp %
|
.\" %FreeBSD: src/lib/libc/sys/mprotect.2,v 1.17 2003/02/23 01:47:48 ru Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd June 9, 1993
|
.Dd June 9, 1993
|
||||||
|
@ -57,14 +57,15 @@
|
||||||
の start (開始) と end (終了) のアドレスで定義される仮想アドレス空間です。
|
の start (開始) と end (終了) のアドレスで定義される仮想アドレス空間です。
|
||||||
.Pp
|
.Pp
|
||||||
現在、以下の OR をとって組み合わせることが可能な保護ビットが知られています。
|
現在、以下の OR をとって組み合わせることが可能な保護ビットが知られています。
|
||||||
.Bl -tag -width "PROT_WRITE"
|
.Pp
|
||||||
.It PROT_NONE
|
.Bl -tag -width ".Dv PROT_WRITE" -compact
|
||||||
|
.It Dv PROT_NONE
|
||||||
全く保護しません。
|
全く保護しません。
|
||||||
.It PROT_READ
|
.It PROT_READ
|
||||||
ページは読取り可能です。
|
ページは読取り可能です。
|
||||||
.It PROT_WRITE
|
.It Dv PROT_WRITE
|
||||||
ページは書込み可能です。
|
ページは書込み可能です。
|
||||||
.It PROT_EXEC
|
.It Dv PROT_EXEC
|
||||||
ページは実行可能です。
|
ページは実行可能です。
|
||||||
.El
|
.El
|
||||||
.Sh 戻り値
|
.Sh 戻り値
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" @(#)open.2 8.2 (Berkeley) 11/16/93
|
.\" @(#)open.2 8.2 (Berkeley) 11/16/93
|
||||||
.\" %FreeBSD: src/lib/libc/sys/open.2,v 1.25 2002/12/19 09:40:25 ru Exp %
|
.\" %FreeBSD: src/lib/libc/sys/open.2,v 1.26 2003/03/24 16:07:19 charnier Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd November 16, 1993
|
.Dd November 16, 1993
|
||||||
|
@ -169,7 +169,7 @@ O_NOFOLLOW
|
||||||
システムには、1 つのプロセスによって同時にオープンできる
|
システムには、1 つのプロセスによって同時にオープンできる
|
||||||
ファイル記述子数に制限があります。
|
ファイル記述子数に制限があります。
|
||||||
.Xr getdtablesize 2
|
.Xr getdtablesize 2
|
||||||
は現在のシステム制限を返します。
|
システムコールは現在のシステム制限を返します。
|
||||||
.Sh 戻り値
|
.Sh 戻り値
|
||||||
正常に完了すると、
|
正常に完了すると、
|
||||||
.Fn open
|
.Fn open
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
.\" describe the actual BSD implementation. Permission for
|
.\" describe the actual BSD implementation. Permission for
|
||||||
.\" use of this page comes from Rob Pike <rob@plan9.att.com>.
|
.\" use of this page comes from Rob Pike <rob@plan9.att.com>.
|
||||||
.\"
|
.\"
|
||||||
.\" %FreeBSD: src/lib/libc/sys/rfork.2,v 1.29 2003/01/31 08:59:00 tjr Exp %
|
.\" %FreeBSD: src/lib/libc/sys/rfork.2,v 1.30 2003/02/23 01:47:48 ru Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd January 31, 2003
|
.Dd January 31, 2003
|
||||||
|
@ -30,26 +30,26 @@ fork, vfork, rfork
|
||||||
許容します) およびオープンファイルが含まれます。
|
許容します) およびオープンファイルが含まれます。
|
||||||
.Fa flags
|
.Fa flags
|
||||||
引数は次の項目の論理和 (OR) です:
|
引数は次の項目の論理和 (OR) です:
|
||||||
.Bl -tag -width "RFLINUXTHPN" -offset indent
|
.Bl -tag -width ".Dv RFLINUXTHPN"
|
||||||
.It RFPROC
|
.It Dv RFPROC
|
||||||
設定されている場合、新しいプロセスが作成されます。
|
設定されている場合、新しいプロセスが作成されます。
|
||||||
そうでない場合、変更が現在のプロセスに影響を及ぼします。
|
そうでない場合、変更が現在のプロセスに影響を及ぼします。
|
||||||
.It RFNOWAIT
|
.It Dv RFNOWAIT
|
||||||
設定されている場合、子プロセスは親プロセスから分離されます。
|
設定されている場合、子プロセスは親プロセスから分離されます。
|
||||||
終了時に、子プロセスは、親プロセスが集めるステータスを残しません。
|
終了時に、子プロセスは、親プロセスが集めるステータスを残しません。
|
||||||
.Xr wait 2
|
.Xr wait 2
|
||||||
を参照してください。
|
を参照してください。
|
||||||
.It RFFDG
|
.It Dv RFFDG
|
||||||
設定されている場合、起動側のファイル記述子テーブル
|
設定されている場合、起動側のファイル記述子テーブル
|
||||||
.Xr ( intro 2
|
.Xr ( intro 2
|
||||||
を参照) がコピーされます。
|
を参照) がコピーされます。
|
||||||
そうでない場合、2 つのプロセスが 1 つのテーブルを共有します。
|
そうでない場合、2 つのプロセスが 1 つのテーブルを共有します。
|
||||||
.It RFCFDG
|
.It Dv RFCFDG
|
||||||
設定されている場合、新しいプロセスは新しいファイル記述子テーブルを持って
|
設定されている場合、新しいプロセスは新しいファイル記述子テーブルを持って
|
||||||
開始します。
|
開始します。
|
||||||
.Dv RFFDG
|
.Dv RFFDG
|
||||||
とは互いに排他的です。
|
とは互いに排他的です。
|
||||||
.It RFMEM
|
.It Dv RFMEM
|
||||||
設定されている場合、
|
設定されている場合、
|
||||||
通常、ハードウェアのページテーブルを直接共有することで、
|
通常、ハードウェアのページテーブルを直接共有することで、
|
||||||
カーネルはアドレス空間全体を強制的に共有します。
|
カーネルはアドレス空間全体を強制的に共有します。
|
||||||
|
@ -67,9 +67,9 @@ fork, vfork, rfork
|
||||||
詳しくは
|
詳しくは
|
||||||
.Xr rfork_thread 3
|
.Xr rfork_thread 3
|
||||||
を参照してください。
|
を参照してください。
|
||||||
.It RFSIGSHARE
|
.It Dv RFSIGSHARE
|
||||||
設定されている場合、カーネルは、親子間で sigacts 構造体を強制的に共有します。
|
設定されている場合、カーネルは、親子間で sigacts 構造体を強制的に共有します。
|
||||||
.It RFLINUXTHPN
|
.It Dv RFLINUXTHPN
|
||||||
設定されている場合、カーネルは、子についてのスレッド終了時に、
|
設定されている場合、カーネルは、子についてのスレッド終了時に、
|
||||||
SIGCHILD の代わりに SIGUSR1 を返します。
|
SIGCHILD の代わりに SIGUSR1 を返します。
|
||||||
これは特定の Linux クローン動作を模倣するためです。
|
これは特定の Linux クローン動作を模倣するためです。
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" %FreeBSD: src/lib/libc/sys/sendfile.2,v 1.16 2002/12/19 09:40:25 ru Exp %
|
.\" %FreeBSD: src/lib/libc/sys/sendfile.2,v 1.17 2003/03/12 09:28:44 seanc Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd November 5, 1998
|
.Dd November 5, 1998
|
||||||
|
@ -101,6 +101,53 @@ NULL
|
||||||
.Fx
|
.Fx
|
||||||
での実装は「0 コピー」です。
|
での実装は「0 コピー」です。
|
||||||
すなわち、ファイルデータのコピーが回避されるように最適化されています。
|
すなわち、ファイルデータのコピーが回避されるように最適化されています。
|
||||||
|
.Sh チューニング
|
||||||
|
内部ではこのシステムコールは、クライアントへの送信ファイルデータを
|
||||||
|
取り扱うために、特別な
|
||||||
|
.Xr sendfile 2
|
||||||
|
バッファ
|
||||||
|
.Pq Fa "struct sf_buf"
|
||||||
|
を使用しています。
|
||||||
|
送信ソケットがブロックされていて、
|
||||||
|
利用可能な送信ファイルバッファが十分でない場合には、
|
||||||
|
.Xr sendfile 2
|
||||||
|
はブロックされ、
|
||||||
|
.Dq sfbufa
|
||||||
|
の状態を報告します。
|
||||||
|
送信ソケットがブロックされておらず、
|
||||||
|
利用可能な送信ファイルバッファが十分でない場合には、
|
||||||
|
この呼び出しはブロックされ、呼び出しを終了する前に必要なバッファが
|
||||||
|
利用可能になるのを待ちます。
|
||||||
|
.Pp
|
||||||
|
.Fa sf_buf
|
||||||
|
の割り当てられた数は、
|
||||||
|
.Xr sendfile 2
|
||||||
|
を介してクライアントにデータを送信するために使用される nmbclusters の数に、
|
||||||
|
比例しているべきです。
|
||||||
|
ブロッキングを避けるために適宜にチューンしましょう!
|
||||||
|
.Xr sendfile 2
|
||||||
|
を広範囲に使用する忙しい装置が、
|
||||||
|
.Ar kern.ipc.nmbclusters
|
||||||
|
に展開されるこれらの値を増加させたくなるかもしれません
|
||||||
|
.Po
|
||||||
|
詳細は
|
||||||
|
.Xr tuning 7
|
||||||
|
を参照してください
|
||||||
|
.Pc
|
||||||
|
。
|
||||||
|
.Pp
|
||||||
|
使用中の
|
||||||
|
.Xr sendfile 2
|
||||||
|
バッファの数は、
|
||||||
|
.Xr loader.conf 5
|
||||||
|
の中の
|
||||||
|
.Em kern.ipc.nsfbufs
|
||||||
|
変数または
|
||||||
|
.Em NSFBUFS
|
||||||
|
カーネルコンフィギュレーション調整のどちらかによって、ブート時に決定されます。
|
||||||
|
sendfile バッファの数は
|
||||||
|
.Em kern.maxusers
|
||||||
|
に合わせて調整されます。
|
||||||
.Sh 戻り値
|
.Sh 戻り値
|
||||||
.Rv -std sendfile
|
.Rv -std sendfile
|
||||||
.Sh エラー
|
.Sh エラー
|
||||||
|
@ -144,6 +191,7 @@ sbytes
|
||||||
.Xr open 2 ,
|
.Xr open 2 ,
|
||||||
.Xr send 2 ,
|
.Xr send 2 ,
|
||||||
.Xr socket 2 ,
|
.Xr socket 2 ,
|
||||||
|
.Xr tuning 7 ,
|
||||||
.Xr writev 2
|
.Xr writev 2
|
||||||
.Sh 歴史
|
.Sh 歴史
|
||||||
.Fn sendfile
|
.Fn sendfile
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94
|
.\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94
|
||||||
.\" %FreeBSD: src/lib/libc/sys/sigaction.2,v 1.47 2002/12/27 12:15:29 schweikh Exp %
|
.\" %FreeBSD: src/lib/libc/sys/sigaction.2,v 1.48 2003/03/24 16:07:19 charnier Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" 2001/01/01 horikawa@jp.FreeBSD.org
|
.\" 2001/01/01 horikawa@jp.FreeBSD.org
|
||||||
.\" sigvec.2 を更新する場合は、共通部分の多い sigaction.2 も同時に更新
|
.\" sigvec.2 を更新する場合は、共通部分の多い sigaction.2 も同時に更新
|
||||||
|
@ -260,8 +260,8 @@ struct sigaction {
|
||||||
再開フラグ、割込みフラグが子プロセスに継承されます。
|
再開フラグ、割込みフラグが子プロセスに継承されます。
|
||||||
.Pp
|
.Pp
|
||||||
.Xr execve 2
|
.Xr execve 2
|
||||||
は、捕捉されていたすべてのシグナルのデフォルトアクションを元に戻し、
|
システムコールは、捕捉されていたすべてのシグナルのデフォルトアクションを
|
||||||
すべてのシグナルをユーザスタックで受信されるようにリセットします。
|
元に戻し、すべてのシグナルをユーザスタックで受信されるようにリセットします。
|
||||||
無視されたシグナルは無視されたままです。
|
無視されたシグナルは無視されたままです。
|
||||||
シグナルマスクは同じ状態のままです。
|
シグナルマスクは同じ状態のままです。
|
||||||
保留中のシステムコールを再開する設定のシグナルは、その再開の設定のままです。
|
保留中のシステムコールを再開する設定のシグナルは、その再開の設定のままです。
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
.\" SUCH DAMAGE.
|
.\" SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93
|
.\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93
|
||||||
.\" %FreeBSD: src/lib/libc/sys/socket.2,v 1.26 2003/01/01 18:48:43 schweikh Exp %
|
.\" %FreeBSD: src/lib/libc/sys/socket.2,v 1.28 2003/03/24 16:07:19 charnier Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
|
@ -64,29 +64,10 @@ PF_LOCAL PF_UNIX
|
||||||
PF_UNIX ホスト内プロトコル、使用は奨励されない。
|
PF_UNIX ホスト内プロトコル、使用は奨励されない。
|
||||||
PF_LOCAL を使用のこと
|
PF_LOCAL を使用のこと
|
||||||
PF_INET IPv4 プロトコル
|
PF_INET IPv4 プロトコル
|
||||||
PF_IMPLINK ARPAnet IMP アドレス
|
|
||||||
PF_PUP BSP のような PUP プロトコル
|
PF_PUP BSP のような PUP プロトコル
|
||||||
PF_CHAOS MIT CHAOS プロトコル
|
|
||||||
PF_NS XNS (Xerox Network Systems) プロトコル
|
|
||||||
PF_ISO ISO プロトコル
|
|
||||||
PF_OSI 開放型システム間相互接続プロトコル
|
|
||||||
(Open System Interconnection)
|
|
||||||
PF_ECMA ヨーロッパ電子計算機工業会
|
|
||||||
(European Computer Manufacturers)
|
|
||||||
PF_DATAKIT データキット (Datakit) プロトコル
|
|
||||||
PF_CCITT X.25 に似た ITU-T プロトコル
|
|
||||||
PF_SNA IBM SNA
|
|
||||||
PF_DECnet DECnet
|
|
||||||
PF_DLI DEC Direct / DLI (Data Link Interface) プロトコル
|
|
||||||
PF_LAT LAT プロトコル
|
|
||||||
PF_HYLINK NSC ハイパーチャネル
|
|
||||||
PF_APPLETALK AppleTalk プロトコル
|
PF_APPLETALK AppleTalk プロトコル
|
||||||
PF_ROUTE 内部ルーティングプロトコル
|
PF_ROUTE 内部ルーティングプロトコル
|
||||||
PF_LINK リンク層インタフェース
|
PF_LINK リンク層インタフェース
|
||||||
PF_XTP XTP プロトコル (Xpress Transfer Protocol)
|
|
||||||
PF_COIP コネクションオリエンテッド IP, 別名 ST II
|
|
||||||
PF_CNT Computer Network Technology 社のプロトコル
|
|
||||||
PF_SIP SIP プロトコル (Simple Internet Protocol)
|
|
||||||
PF_IPX Novell 社 IPX (Internet Packet eXchange) プロトコル
|
PF_IPX Novell 社 IPX (Internet Packet eXchange) プロトコル
|
||||||
PF_RTIP RTIP パケットの識別に使用
|
PF_RTIP RTIP パケットの識別に使用
|
||||||
PF_PIP PIP パケットの識別に使用
|
PF_PIP PIP パケットの識別に使用
|
||||||
|
@ -122,9 +103,7 @@ SOCK_SEQPACKET
|
||||||
ソケットは、連続した、信頼性のある、双方向接続ベースの
|
ソケットは、連続した、信頼性のある、双方向接続ベースの
|
||||||
最大長が固定のデータグラムの転送を提供します。
|
最大長が固定のデータグラムの転送を提供します。
|
||||||
各読取りシステムコールでパケット全体を読み取る必要があるかもしれません。
|
各読取りシステムコールでパケット全体を読み取る必要があるかもしれません。
|
||||||
この機能はプロトコル固有のもので、現在のところ
|
この機能はプロトコル固有のもので、現在のところ実装されていません。
|
||||||
.Dv PF_NS
|
|
||||||
でしか実装されていません。
|
|
||||||
.Dv SOCK_RAW
|
.Dv SOCK_RAW
|
||||||
ソケットでは、内部ネットワークプロトコルとインタフェースにアクセスできます。
|
ソケットでは、内部ネットワークプロトコルとインタフェースにアクセスできます。
|
||||||
スーパユーザしか使用できない
|
スーパユーザしか使用できない
|
||||||
|
@ -230,9 +209,9 @@ SOCK_SEQPACKET
|
||||||
.Ao Pa sys/socket.h Ac
|
.Ao Pa sys/socket.h Ac
|
||||||
に定義されています。
|
に定義されています。
|
||||||
.Xr setsockopt 2
|
.Xr setsockopt 2
|
||||||
はオプションの設定に、
|
システムコールはオプションの設定に、
|
||||||
.Xr getsockopt 2
|
.Xr getsockopt 2
|
||||||
はオプションの入手に使用します。
|
システムコールはオプションの入手に使用します。
|
||||||
.Sh 戻り値
|
.Sh 戻り値
|
||||||
エラーが発生すると -1 が戻されます。
|
エラーが発生すると -1 が戻されます。
|
||||||
エラーが発生しなかった場合は、ソケットを参照する記述子が戻されます。
|
エラーが発生しなかった場合は、ソケットを参照する記述子が戻されます。
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" %FreeBSD: src/share/man/man9/device_get_softc.9,v 1.7 2001/10/01 16:09:24 ru Exp %
|
.\" %FreeBSD: src/share/man/man9/device_get_softc.9,v 1.8 2003/03/28 07:28:31 imp Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd June 16, 1998
|
.Dd June 16, 1998
|
||||||
|
@ -41,11 +41,24 @@
|
||||||
.Ft void *
|
.Ft void *
|
||||||
.Fn device_get_softc "device_t dev"
|
.Fn device_get_softc "device_t dev"
|
||||||
.Sh 解説
|
.Sh 解説
|
||||||
デバイスのドライバ固有のインスタンス変数を返します。
|
デバイス
|
||||||
|
.Fa dev
|
||||||
|
のドライバ固有の状態を返します。
|
||||||
|
この softc は最初に要求された時に自動的に割り当てられます。
|
||||||
|
割り当ての大きさは、ドライバを定義するために使用されるデバイスの
|
||||||
|
.Ft driver_t
|
||||||
|
情報によって決定されます。
|
||||||
|
softc は一般的に、デバイスの実体の状態をカプセル化します。
|
||||||
|
.Pp
|
||||||
|
ドライバ設計者が、独自の softc 管理メカニズムを使用することは推奨されません。
|
||||||
|
ドライバ設計者は、この関数より以前のツリーの中のドライバで見つけた、
|
||||||
|
このようなメカニズムをコピーするべきではありません。
|
||||||
.Sh 戻り値
|
.Sh 戻り値
|
||||||
デバイス固有のインスタンス変数へのポインタが返されます。
|
デバイス固有のインスタンス変数へのポインタが返されます。
|
||||||
.Sh 関連項目
|
.Sh 関連項目
|
||||||
.Xr device 9
|
.Xr driver 9 ,
|
||||||
|
.Xr device 9 ,
|
||||||
|
.Xr device_set_softc 9
|
||||||
.Sh 作者
|
.Sh 作者
|
||||||
このマニュアルページは
|
このマニュアルページは
|
||||||
.An Doug Rabson
|
.An Doug Rabson
|
||||||
|
|
|
@ -152,9 +152,31 @@ free((addr), type)
|
||||||
はブロックせずに
|
はブロックせずに
|
||||||
.Dv NULL
|
.Dv NULL
|
||||||
を返します。
|
を返します。
|
||||||
割り込みコンテキストでの動作時には
|
|
||||||
.Dv M_NOWAIT
|
.Dv M_NOWAIT
|
||||||
が必要であることに注意してください。
|
が 0 に定義されているということは、ブロッキング操作がデフォルトであることを
|
||||||
|
意味することに注意してください。
|
||||||
|
また、割り込みコンテキストでの動作時には
|
||||||
|
.Dv M_NOWAIT
|
||||||
|
が必要であることにも注意してください。
|
||||||
|
.Pp
|
||||||
|
プログラマは、
|
||||||
|
.Fn malloc
|
||||||
|
フラグ
|
||||||
|
.Dv M_NOWAIT
|
||||||
|
と
|
||||||
|
.Xr mbuf 9
|
||||||
|
の割り当てフラグ
|
||||||
|
.Dv M_DONTWAIT
|
||||||
|
を、混乱しないようにするべきです。
|
||||||
|
後者は
|
||||||
|
.Fn malloc
|
||||||
|
にとって有効ではない引数です。
|
||||||
|
.It Dv M_WAITOK
|
||||||
|
はリソースを待つことが OK であることを示します。
|
||||||
|
これは都合の悪いことに 0 として定義されていますので、
|
||||||
|
この値を直接比較すること、またはフラグとして AND をとろうとすることを
|
||||||
|
決して行なわないように注意が払われるべきです。
|
||||||
|
デフォルトの操作はメモリ割り当てが成功するまでブロックされます。
|
||||||
.Dv M_NOWAIT
|
.Dv M_NOWAIT
|
||||||
が指定されると
|
が指定されると
|
||||||
.Fn malloc ,
|
.Fn malloc ,
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
.Fn wakeup
|
.Fn wakeup
|
||||||
はイベントに基づいたプロセスのブロックを取り扱います。
|
はイベントに基づいたプロセスのブロックを取り扱います。
|
||||||
プロセスが外部イベントを待たなければならない場合には、そのプロセスは
|
プロセスが外部イベントを待たなければならない場合には、そのプロセスは
|
||||||
.Nm tsleep
|
.Fn tsleep
|
||||||
によってスリープ状態に置かれます。
|
によってスリープ状態に置かれます。
|
||||||
パラメータ
|
パラメータ
|
||||||
.Ar ident
|
.Ar ident
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
単一の
|
単一の
|
||||||
.Ar ident
|
.Ar ident
|
||||||
上でスリープしている全てのプロセスは後で、
|
上でスリープしている全てのプロセスは後で、
|
||||||
.Nm wakeup
|
.Fn wakeup
|
||||||
によって起こされます。これは、しばしば割り込みルーチンの中から呼び出され、
|
によって起こされます。これは、しばしば割り込みルーチンの中から呼び出され、
|
||||||
プロセスがブロックしているリソースが現在利用可能になったことを示します。
|
プロセスがブロックしているリソースが現在利用可能になったことを示します。
|
||||||
.Pp
|
.Pp
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
実行可能となったときその中の 1 つのみが実際には役に立つ作業ができるときに、
|
実行可能となったときその中の 1 つのみが実際には役に立つ作業ができるときに、
|
||||||
システムが飽和することを防ぐことが可能です。
|
システムが飽和することを防ぐことが可能です。
|
||||||
.Pp
|
.Pp
|
||||||
.Nm tsleep
|
.Fn tsleep
|
||||||
関数は一般的なスリープの呼び出しです。
|
関数は一般的なスリープの呼び出しです。
|
||||||
明示された識別子上の wakeup が実行されるまでの間、
|
明示された識別子上の wakeup が実行されるまでの間、
|
||||||
現在のプロセスを一時停止させます。
|
現在のプロセスを一時停止させます。
|
||||||
|
@ -112,11 +112,11 @@
|
||||||
.Er EINTR
|
.Er EINTR
|
||||||
が返されます。
|
が返されます。
|
||||||
.Pp
|
.Pp
|
||||||
.Nm msleep
|
.Fn msleep
|
||||||
関数は tsleep の変種です。パラメータ
|
関数は tsleep の変種です。パラメータ
|
||||||
.Ar mtx
|
.Ar mtx
|
||||||
は、スリープの前に抜け、
|
は、スリープの前に抜け、
|
||||||
.Nm msleep
|
.Fn msleep
|
||||||
が戻る前に入る mutex です。
|
が戻る前に入る mutex です。
|
||||||
.Ar pri
|
.Ar pri
|
||||||
が
|
が
|
||||||
|
@ -140,12 +140,12 @@ sleep/wakeup
|
||||||
.Ux
|
.Ux
|
||||||
で登場しました。
|
で登場しました。
|
||||||
.Pp
|
.Pp
|
||||||
.Nm tsleep
|
.Fn tsleep
|
||||||
関数は
|
関数は
|
||||||
.Bx 4.4
|
.Bx 4.4
|
||||||
で登場しました。
|
で登場しました。
|
||||||
.Pp
|
.Pp
|
||||||
.Nm
|
.Fn sleep
|
||||||
関数は伝統的な形式のために使用されます。
|
関数は伝統的な形式のために使用されます。
|
||||||
これはタイムアウトまたは
|
これはタイムアウトまたは
|
||||||
.Ar wmesg
|
.Ar wmesg
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
* CSRG の KNF (Kernel Normal Form, カーネル標準書式) に基づいています。
|
* CSRG の KNF (Kernel Normal Form, カーネル標準書式) に基づいています。
|
||||||
*
|
*
|
||||||
* @(#)style 1.14 (Berkeley) 4/28/95
|
* @(#)style 1.14 (Berkeley) 4/28/95
|
||||||
* $\&FreeBSD: src/share/man/man9/style.9,v 1.98 2002/12/27 12:15:34 schweikh Exp $
|
* $\&FreeBSD: src/share/man/man9/style.9,v 1.100 2003/03/25 19:46:55 jhb Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" %FreeBSD: src/share/man/man9/uio.9,v 1.13 2002/06/20 07:09:24 peter Exp %
|
.\" %FreeBSD: src/share/man/man9/uio.9,v 1.14 2003/03/03 10:49:37 des Exp %
|
||||||
.\"
|
.\"
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
|
@ -50,7 +50,7 @@ struct uio {
|
||||||
};
|
};
|
||||||
.Ed
|
.Ed
|
||||||
.Ft int
|
.Ft int
|
||||||
.Fn uiomove "caddr_t buf" "int howmuch" "struct uio *uiop"
|
.Fn uiomove "void *buf" "int howmuch" "struct uio *uiop"
|
||||||
.Sh 解説
|
.Sh 解説
|
||||||
.Fn uiomove
|
.Fn uiomove
|
||||||
関数は、ユーザ空間とカーネル空間の境界を越えることさえ可能で、
|
関数は、ユーザ空間とカーネル空間の境界を越えることさえ可能で、
|
||||||
|
@ -134,7 +134,7 @@ fooread(dev_t dev, struct uio *uio, int flag)
|
||||||
while (uio->uio_resid > 0) {
|
while (uio->uio_resid > 0) {
|
||||||
if (data_available > 0) {
|
if (data_available > 0) {
|
||||||
amnt = MIN(uio->uio_resid, data_available);
|
amnt = MIN(uio->uio_resid, data_available);
|
||||||
if ((rv = uiomove((caddr_t)buffer, amnt, uio))
|
if ((rv = uiomove(buffer, amnt, uio))
|
||||||
!= 0)
|
!= 0)
|
||||||
goto error;
|
goto error;
|
||||||
data_available -= amnt;
|
data_available -= amnt;
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
.\"
|
.\"
|
||||||
.\" %FreeBSD: src/share/man/man9/vnode.9,v 1.23 2003/01/19 15:44:32 sheldonh Exp %
|
.\" %FreeBSD: src/share/man/man9/vnode.9,v 1.24 2003/03/06 23:55:51 ceri Exp %
|
||||||
.\"
|
.\"
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.Dd June 30, 1999
|
.Dd June 30, 1999
|
||||||
|
@ -260,7 +260,7 @@ VFIFO/VSOCK
|
||||||
.Fn malloc
|
.Fn malloc
|
||||||
または
|
または
|
||||||
.Fn free
|
.Fn free
|
||||||
への全ての呼出しは、VM オブジェクトと vnode の相互獲得のために、
|
への全ての呼出しは、VM オブジェクトと vnode のもつれ合いのために、
|
||||||
LOR (ロック順序の逆転) を引き起こします。
|
LOR (ロック順序の逆転) を引き起こします。
|
||||||
.Sh 関連項目
|
.Sh 関連項目
|
||||||
.Xr malloc 9 ,
|
.Xr malloc 9 ,
|
||||||
|
|
Loading…
Reference in a new issue