Catch up with 5.4-Release.

Submitted by: Nobuyuki Koganemaru <n-kogane at syd odn ne jp>
This commit is contained in:
SUZUKI Koichi 2005-07-11 12:53:15 +00:00
parent 33b8f0484e
commit d68a7054d7
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=25060
59 changed files with 484 additions and 298 deletions

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
@ -29,7 +29,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)acct.2 8.1 (Berkeley) 6/4/93
.\" @(#)acct.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/acct.2,v 1.19 2004/04/16 22:53:51 brueffer Exp %
.\"
.\" $FreeBSD$

View file

@ -85,7 +85,8 @@
.Xr aio_read 2 ,
.Xr aio_return 2 ,
.Xr aio_suspend 2 ,
.Xr aio_write 2
.Xr aio_write 2 ,
.Xr aio 4
.Sh 規格
.Fn aio_cancel
システムコールは
@ -102,6 +103,7 @@
.Fx 4.0
ではじめて登場しました。
.Sh 作者
.An -nosplit
このマニュアルは始めに
.An Wes Peters Aq wes@softweyr.com
が作成しました。

View file

@ -137,7 +137,7 @@ _POSIX_PRIORITIZED_IO
.Pp
.Bl -tag -width Er
.It Bq Er EBADF
.Ar iocb->aio_fildes
.Fa iocb->aio_fildes
引数が無効です。
.It Bq Er EINVAL
オフセット

View file

@ -46,7 +46,7 @@
.Pp
.Fa iocbs
引数は、非同期入出力要求への
.Ar niocb
.Fa niocb
ポインタの配列です。
NULL が入っている配列メンバはそのまま無視されます。
.Pp

View file

@ -134,7 +134,7 @@
システムコールが戻り値 -1 で呼び出される必要があり、
.Va errno
で返されている実際の値を判定するために
.Fn aio_erro
.Fn aio_error
が呼び出される必要があります。
.Pp
.Bl -tag -width Er

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
@ -11,8 +11,8 @@
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
@ -29,7 +29,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)chdir.2 8.2 (Berkeley) 12/11/93
.\" @(#)chdir.2 8.2 (Berkeley) 12/11/93
.\" %FreeBSD: src/lib/libc/sys/chdir.2,v 1.15 2002/12/19 09:40:24 ru Exp %
.\"
.\" $FreeBSD$

View file

@ -1,5 +1,5 @@
.\" Copyright (c) 1989, 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,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)chflags.2 8.3 (Berkeley) 5/2/95
.\" @(#)chflags.2 8.3 (Berkeley) 5/2/95
.\" %FreeBSD: src/lib/libc/sys/chflags.2,v 1.25 2004/07/03 22:30:09 ru Exp %
.\"
.\" $FreeBSD$
@ -70,7 +70,9 @@
.Fn lchflags
は、リンクが指している先のファイルではなく、リンク自身のフラグを変更します。
.Pp
指定されたフラグは次の値の論理和 (or) を取ることで作成されます。
指定されたフラグは次の値の論理和
.Pf ( Em or )
を取ることで作成されます。
.Pp
.Bl -tag -width "SF_IMMUTABLE" -compact -offset indent
.It UF_NODUMP
@ -101,6 +103,7 @@
.Dq UF_OPAQUE
フラグは、ファイルの所有者またはスーパユーザのどちらかによって
設定または設定解除できます。
.Pp
.Dq SF_IMMUTABLE ,
.Dq SF_APPEND ,
.Dq SF_NOUNLINK ,
@ -140,7 +143,9 @@
.Fa path
引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
.It Bq Er EIO
ファイルシステムに読み書きしている間に入出力エラーが発生しました。
ファイルシステムに読み書きしている間に
.Tn 入出力
エラーが発生しました。
.It Bq Er EOPNOTSUPP
ファイルシステムがファイルフラグをサポートしません。
.El
@ -150,7 +155,6 @@
.Bl -tag -width Er
.It Bq Er EBADF
記述子が有効ではありません。
.Pp
.It Bq Er EINVAL
.Fa fd
引数がファイルではなくソケットを参照しています。
@ -160,7 +164,9 @@
.It Bq Er EROFS
ファイルが読取り専用システム上に存在しています。
.It Bq Er EIO
ファイルシステムに読み書きしている間に入出力エラーが発生しました。
ファイルシステムに読み書きしている間に
.Tn 入出力
エラーが発生しました。
.It Bq Er EOPNOTSUPP
ファイルシステムがファイルフラグをサポートしません。
.El

View file

@ -30,10 +30,10 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)chmod.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/chmod.2,v 1.31 2004/07/02 23:52:13 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/chmod.2,v 1.31.2.1 2005/01/05 19:20:57 trhodes Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
.Dd December 29, 2004
.Dt CHMOD 2
.Os
.Sh 名称
@ -101,19 +101,19 @@
#define S_ISUID 0004000 /* 実行時にユーザ ID を設定 */
#define S_ISGID 0002000 /* 実行時にグループ ID を設定 */
#define S_ISVTX 0001000 /* スティッキビット */
#ifndef _POSIX_SOURCE
#define S_ISTXT 0001000
#ifndef __BSD_VISIBLE
#define S_ISTXT 0001000 /* スティッキビット */
#endif
.Ed
.Pp
.Fx
VM システムは、実行可能モジュールについてスティッキビット
.Pq Dv ISVTX
.Pq Dv ISTXT
を完全に無視します。
UFS をベースとしたファイルシステム (FFS, LFS) では、
スティッキビットはディレクトリにだけ設定できます。
.Pp
.Dv ISVTX
.Dv ISTXT
(`スティッキビット') が設定されているディレクトリでは、
特権のないユーザは、そのディレクトリ内にある他ユーザのファイルの削除、
名前の変更ができません。

View file

@ -82,6 +82,8 @@
ディレクトリがオープンされていて、そのプロセスが
.Fn chroot
システムコールの影響を受ける時、
.Fn chroot
.Er EPERM
で失敗します。
.Pp

View file

@ -54,7 +54,8 @@
その値を呼び出しプロセスに返します
.Fa ( newd
=
.Fn dup oldd )
.Fn dup oldd )
引数
.Fa oldd
はプロセスの記述子テーブル内のインデックスで、負でない小さな整数です。

View file

@ -42,7 +42,7 @@
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <unistd.h>
.In unistd.h
.Ft int
.Fn execve "const char *path" "char *const argv[]" "char *const envp[]"
.Sh 解説
@ -128,7 +128,6 @@
オープンされたままの記述子は
.Fn execve
の影響を受けません。
.Pp
.Fn execve
が呼び出された時に標準の記述子 (0, 1 そして / または 2) がクローズされ、
ID 設定の結果、そのプロセスが特権を得た場合には、
@ -137,7 +136,7 @@ ID
.Fn execve
の呼び出しの前後で、これらの記述子が閉じたままとなると
仮定すべきではありません。
.Pp
.Pp
呼び出しプロセスで無視するように設定されたシグナルは、
新しいプロセス内でも無視されるように設定されます。
呼び出しプロセスイメージ内で捕捉されるように設定されたシグナルは、
@ -177,19 +176,19 @@ ID
また、新しいプロセスは呼び出しプロセスから次の属性を継承します。
.Pp
.Bl -column ファイルモードマスク -offset indent -compact
.It プロセス ID Ta Xr getpid 2 \ を参照
.It 親プロセス ID Ta Xr getppid 2 \ を参照
.It プロセスグループ ID Ta Xr getpgrp 2 \ を参照
.It アクセスグループ Ta Xr getgroups 2 \ を参照
.It 作業ディレクトリ Ta Xr chdir 2 \ を参照
.It ルートディレクトリ Ta Xr chroot 2 \ を参照
.It 制御端末 Ta Xr termios 4 \ を参照
.It リソースの使用状況 Ta Xr getrusage 2 \ を参照
.It インターバルタイマ Ta Xr getitimer 2 \ を参照
.It リソースの使用制限 Ta Xr getrlimit 2 \ を参照
.It ファイルモードマスク Ta Xr umask 2 \ を参照
.It プロセス ID Ta Xr getpid 2 Ns \ を参照
.It 親プロセス ID Ta Xr getppid 2 Ns \ を参照
.It プロセスグループ ID Ta Xr getpgrp 2 Ns \ を参照
.It アクセスグループ Ta Xr getgroups 2 Ns \ を参照
.It 作業ディレクトリ Ta Xr chdir 2 Ns \ を参照
.It ルートディレクトリ Ta Xr chroot 2 Ns \ を参照
.It 制御端末 Ta Xr termios 4 Ns \ を参照
.It リソースの使用状況 Ta Xr getrusage 2 Ns \ を参照
.It インターバルタイマ Ta Xr getitimer 2 Ns \ を参照
.It リソースの使用制限 Ta Xr getrlimit 2 Ns \ を参照
.It ファイルモードマスク Ta Xr umask 2 Ns \ を参照
.It シグナルマスク Ta Xr sigvec 2 ,
.Xr sigsetmask 2 \ を参照
.Xr sigsetmask 2 Ns \ を参照
.El
.Pp
.Fn execve
@ -251,7 +250,8 @@ char **argv, **envp;
現時点で他のプロセスによって書込みまたは読取り用にオープンされています。
.It Bq Er ENOMEM
新しいプロセスは、許された
.Pq Xr getrlimit 2 で課された最大値
.Pq Xr getrlimit 2
で課された最大値
以上の仮想メモリを必要とします。
.It Bq Er E2BIG
新しいプロセスの引数リストのバイト数がシステムの課した上限を

View file

@ -24,10 +24,10 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/sys/extattr_get_file.2,v 1.14 2004/07/05 17:12:52 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/extattr_get_file.2,v 1.14.2.1 2005/03/01 16:16:20 csjp Exp %
.\"
.\" $FreeBSD$
.Dd March 28, 2001
.Dd February 23, 2005
.Dt EXTATTR 2
.Os
.Sh 名称
@ -95,18 +95,23 @@
.Fn extattr_delete_file
システムコールは、指定された拡張属性を削除します。
.Fn extattr_list_file
は ASCII 0 (nul) 文字によって分離された、要求された名前空間の中に存在する
は ASCII 0 (ヌル) 文字によって分離された、要求された名前空間の中に存在する
属性のリストを返します。
.Fn extattr_get_file
および
.Fn extattr_list_file
呼び出しは
.Xr read 2
の形式で使用します。
.Fn extattr_get_file
はこれらの引数を
の形式で
.Fa data
.Fa nbytes
引数を使用します。
.Fn extattr_set_file
.Xr write 2
の形式で使用します。
の形式でこれらの引数を使用します。
.\" 原文: .Xr write 2. は .Xr write 2<空白>. の誤り。
.Pp
.Fn extattr_get_file
の呼び出しの中で
@ -219,6 +224,8 @@
.Fn extattr_delete_file
の呼び出しは以下のエラーのため、失敗することがあります:
.Bl -tag -width Er
.It Bq Er ENOATTR
要求された属性はこのファイルのために定義されていません。
.It Bq Er ENOTDIR
パス名のプレフィックスの構成要素がディレクトリではありません。
.It Bq Er ENAMETOOLONG

View file

@ -93,8 +93,8 @@
.Fn fhopen
はオープンされたファイルの記述子を返します。
そうでない場合は -1 が返され、エラーを示すために
.Va errno
肋年されます。
.Va errno
肋年されます。
.Pp
.Rv -std fhstat fhstatfs
.Sh エラー

View file

@ -167,7 +167,7 @@
.Xr fcntl 2 ,
.Xr fork 2 ,
.Xr open 2 ,
.Xr flock 3
.Xr lockf 3
.Sh 歴史
.Fn flock
システムコールは

View file

@ -71,6 +71,7 @@
および
.Fn lgetfh
システムコールは以下の 1 つでも真の場合、処理に失敗します:
.\" 原文: .Fn lgetfgh は .Fn lgetfh の誤り。
.Bl -tag -width Er
.It Bq Er ENOTDIR
.Fa path

View file

@ -40,7 +40,7 @@
.Nm getrusage
.Nd リソース利用についての情報を得る
.Sh ライブラリ
.Li libc
.Lb libc
.Sh 書式
.In sys/types.h
.In sys/time.h

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)intro.2 8.5 (Berkeley) 2/27/95
.\" %FreeBSD: src/lib/libc/sys/intro.2,v 1.42 2004/07/08 20:27:38 wollman Exp %
.\" %FreeBSD: src/lib/libc/sys/intro.2,v 1.42.2.1 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.Dd February 27, 1995
@ -56,8 +56,8 @@
.In sys/errno.h
内でこの識別子は次のように定義されています。
.Pp
.Dl extern int * __error();
.Dl #define errno (* __error())
.Dl extern int * __error();
.Dl #define errno (* __error())
.Pp
.Va __error()
関数は、初期スレッド以外のスレッドについては、スレッドに固有な構造体の
@ -133,12 +133,13 @@
「実行形式エラーです」
実行を要求されたファイルのパーミッションは適切でしたが、
実行可能ファイルとして要求される形式ではありませんでした。
.It Er 9 EBADF Em "Bad file descripter" .
.It Er 9 EBADF Em "Bad file descriptor" .
「ファイル記述子が不良です」
ファイル記述子引数が範囲外であったか、
開いていないファイルを参照していたか、
または書込み (読取り) 専用に開かれたファイルに
読取り (書込み) 要求が行われました。
.Pp
.It Er 10 ECHILD Em "\&No child processes" .
「子プロセスがありません」
.Xr wait 2
@ -160,7 +161,7 @@
「パーミッションが拒絶されました」
ファイルアクセスパーミッションで禁止されている方法で
ファイルにアクセスしようとしました。
.It Er 14 EFAULT Em "Bad address" .
.It Er 14 EFAULT Em "Bad address" .
「不正なアドレスです」
呼び出しで渡された引数を使おうとしているときに、
システムが無効なアドレスを検出しました。
@ -168,7 +169,7 @@
「ブロックデバイスが要求されています」
ブロックデバイス操作が、非ブロックデバイスまたはファイルについて
試みられました。
.It Er 16 EBUSY Em "Device busy" .
.It Er 16 EBUSY Em "Device busy" .
「デバイスがビジー状態です」
その時点で使用されているシステムリソースを、
その要求と干渉するであろう方法で使おうとしました。
@ -178,11 +179,11 @@
たとえば、
.Xr link 2
システムコールにおける新しいリンク名としてです。
.It 18 Er EXDEV Em "Cross-device link" .
.It Er 18 EXDEV Em "Cross-device link" .
「デバイスをまたぐリンクです」
別のファイルシステム上のファイルへのハードリンクが
試みられました。
.It Er 19 ENODEV Em "Operation not supported" .
.It Er 19 ENODEV Em "Operation not supported by device" .
「操作がデバイスによってサポートされていません」
あるデバイスに不適切な関数を適用しようしました。
たとえば、プリンタのような書込み専用デバイスを読み取ろうとしました。
@ -207,14 +208,16 @@
1 つがクローズされるまで、オープンしようとする要求は満たされません。
.It Er 24 EMFILE Em "Too many open files" .
「オープンしているファイルが多すぎます」
.\" 次の .br は < が行末に来ないようにするため。
.br
<現在のリリースでは、
プロセス1個につきオープンできるファイル数の上限は 64 です。>
プロセス 1 個につきオープンできるファイル数の上限は 64 です。>
.Xr getdtablesize 2
システムコールで現在の限界を取得できます。
.It Er 25 ENOTTY Em "Inappropriate ioctl for device" .
「デバイスに不適切な ioctl です」
ファイルまたは特殊デバイスに不適切な操作を要求する制御関数 (
.Xr ioctl 2
ファイルまたは特殊デバイスに不適切な操作を要求する制御関数
.Xr ( ioctl 2
を参照) を試みました。
.It Er 26 ETXTBSY Em "Text file busy" .
「テキストファイルがビジーです」
@ -223,7 +226,7 @@
または純粋プロシージャファイルが実行されている間に、書込みアクセスを要求する
.Xr open 2
呼び出しが実行されました。
.It Er 27 EFBIG Em "File too large" .
.It Er 27 EFBIG Em "File too large" .
「ファイルが大きすぎます」
ファイルのサイズが最大値を超過しました
(約
@ -253,7 +256,7 @@
「リンクが多すぎます」
1 つのファイルについて許容されるハードリンクの最大数を超過しました
(1 ファイルにつきハードリンク数の限界は 32767 です)。
.It Er 32 EPIPE Em "Broken pipe" .
.It Er 32 EPIPE Em "Broken pipe" .
「パイプが破壊されてました」
データを読み取るプロセスのないパイプ、ソケット、または
.Tn FIFO
@ -265,16 +268,16 @@
「結果が大き過ぎます」
関数の数値結果が大きすぎて、利用できる場所に入りません
(おそらく精度を超過したのでしょう)。
.It Er 35 EAGAIN Em "Resource temporary unavailable" .
.It Er 35 EAGAIN Em "Resource temporarily unavailable" .
「リソースが一時的に利用できません」
これは一時的な状況であり、後で同じルーチンを呼び出した時に
正常に完了する可能性があります。
.It Er 36 EINPROGRESS Em "Operation now in progress" .
「操作が現在進行中です」
完了するのに時間のかかる操作 (
.Xr connect 2
など) をノンブロッキングオブジェクトに対し試みました (
.Xr fcntl 2
完了するのに時間のかかる操作
.Xr ( connect 2
など) をノンブロッキングオブジェクトに対し試みました
.Xr ( fcntl 2
を参照)。
.It Er 37 EALREADY Em "Operation already in progress" .
「操作は既に進行中です」
@ -336,7 +339,8 @@
.It Er 48 EADDRINUSE Em "Address already in use" .
「アドレスが既に使用中です」
各アドレスごとに、一度に 1 つだけを利用できます。
.It Er 49 EADDRNOTAVAIL Em "Cannot assing requested address" .
.Pp
.It Er 49 EADDRNOTAVAIL Em "Cannot assign requested address" .
「要求されたアドレスを割り当てできません」
通常は、このマシン上にないアドレスでソケットを作成しようとした結果です。
.It Er 50 ENETDOWN Em "Network is down" .
@ -437,9 +441,9 @@
新しく作成されたファイルのための inode の割り当てに失敗しました。
.It Er 70 ESTALE Em "Stale NFS file handle" .
「失効した NFS ファイルハンドルです」
オープンされている (
.Tn NFS
ファイルシステム上の ) ファイルに対してアクセスしようとしましたが、
オープンされている
.Tn ( NFS
ファイルシステム上の) ファイルに対してアクセスしようとしましたが、
指定したファイル記述子が参照するファイルは現在利用できません。
これは
.Tn NFS
@ -449,7 +453,7 @@
「RPC 構造体が不良です」
.Tn RPC
情報の交換が不成功でした。
.It Er 73 ERPCMISMATCH Em "RPC varsion wrong" .
.It Er 73 ERPCMISMATCH Em "RPC version wrong" .
「RPC バージョンが間違っています」
通信相手の
.Tn RPC
@ -516,8 +520,8 @@ IPC
負でない整数によって一意に識別されます。
この ID の範囲は 0 から 99999 までです。
.It "親プロセス ID (Parent process ID)"
新しいプロセスは、現在のアクティブなプロセスから作成されます (
.Xr fork 2
新しいプロセスは、現在のアクティブなプロセスから作成されます
.Xr ( fork 2
を参照)。
プロセスの親プロセス ID は、
最初はそれを作成したプロセスのプロセス ID となっています。
@ -531,8 +535,8 @@ IPC
負でない整数によって識別されます。
プロセスグループ ID はそのグループのリーダのプロセス ID です。
このグループ化によって、
関連づけられたプロセスの集団にシグナルを送る (
.Xr termios 4
関連づけられたプロセスの集団にシグナルを送る
.Xr ( termios 4
を参照) ことや、
.Xr csh 1
のジョブ制御機構を可能にします。
@ -547,8 +551,8 @@ IPC
.Xr setsid 2
の呼び出しの成功によって、新しいセッションを作成したプロセスは、
セッションリーダとして知られます。
端末を自分が制御する端末 (
.Xr termios 4
端末を自分が制御する端末
.Xr ( termios 4
を参照) として取得できるのは、セッションリーダだけです。
.It "制御プロセス (Controlling process)"
制御端末を持つセッションリーダが制御プロセスです。
@ -562,8 +566,8 @@ IPC
そのセッション内のどのプロセスグループでも、
フォアグラウンドに置くことができるようになります。
この機能は、同じ端末をめぐり競合している複数のジョブの間で
調停を行うために用いられます (
.Xr csh 1
調停を行うために用いられます
.Xr ( csh 1
.Xr tty 4
を参照)。
@ -606,8 +610,8 @@ IPC
実効ユーザ ID と実効グループ ID は、最初はそれぞれ、
プロセスの実ユーザ ID と実グループ ID です。
いずれも (おそらくその先祖のいずれかが) ユーザ ID 設定ファイルまたは
グループ ID 設定ファイルを実行することにより変更することができます (
.Xr execve 2
グループ ID 設定ファイルを実行することにより変更することができます
.Xr ( execve 2
を参照してください)。
慣習で、実効グループ ID
(グループアクセスリストの最初のメンバ) は複製されるので、
@ -619,7 +623,6 @@ IPC
アクセスチェックは、以降の
``ファイルアクセスパーミッション''
で説明するように行われます。
.It "保存されたセットユーザ ID と保存されたセットグループ ID (Saved Set User ID and Saved Set Group ID)"
.It "退避ユーザ ID と退避グループ ID (Saved Set User ID and Saved Set Group ID)"
プロセスが新しいファイルを実行するとき、ファイルがユーザ ID 設定であれば、
実効ユーザ ID はそのファイルの所有者に設定され、
@ -628,8 +631,8 @@ IPC
ファイルのグループに設定されます。
それからプロセスの実効ユーザ ID は退避ユーザ ID として記録され、
プロセスの実効ユーザ ID は退避グループ ID として記録されます。
これらの記録された値は、実 ID (
.Xr setuid 2
これらの記録された値は、実 ID
.Xr ( setuid 2
を参照) に戻った後で、実効ユーザ ID または実効グループ ID をこれらの
値に回復するために利用できます。
(POSIX.1 では、退避ユーザ ID と退避グループ ID はオプションであり、
@ -655,9 +658,10 @@ setuid
文字からなる名前であって、通常ファイル、特殊ファイル、
ディレクトリに名前を付けるのに使用されます。
.Pp
これらの文字は、NUL
.Po Tn ASCII
.No 0 Pc
これらの文字は、
.Dv NUL
.Tn ( ASCII
0)
および
.Ql \&/
文字 (スラッシュ、
@ -674,7 +678,7 @@ setuid
シェルによってこれらの文字には特殊な意味がつけられるからです。
.It "パス名 (Path Name)"
パス名は、
.Tn NUL
.Dv NUL
で終端された文字列です。
スラッシュ
.Ql \&/
@ -685,8 +689,9 @@ setuid
文字未満である必要があります
(あるシステム上では、この制限は無制限かもしれません)。
.Pp
パス名がスラッシュで始まる場合、パス検索はルートディレクトリから
開始します。
パス名がスラッシュで始まる場合、パス検索は
.Em ルート
ディレクトリから開始します。
そうでない場合、検索は現在の作業ディレクトリから開始します。
スラッシュだけの場合、ルートディレクトリを指定します。
空のパス名は現在のディレクトリを指します。

View file

@ -59,7 +59,7 @@
.Pp
.Fn ioctl
への 3 番めの引数は従来から
.Vt "char *argp"
.Va "char *argp"
と名前付けられています。
しかし、
.Fx 3.0

View file

@ -73,13 +73,13 @@
持っているプロセスに、必ず送信できます。
.Bl -tag -width Ds
.\".It \&If Fa pid No \&is greater than zero :
.It Fa pid No 0 より大きい場合:
.It Fa pid No 0 より大きい場合 :
.Fa sig
シグナルは ID が
.Fa pid
に等しいプロセスに送信されます。
.\".It \&If Fa pid No \&is zero :
.It Fa pid No 0 の場合:
.It Fa pid No 0 の場合 :
.Fa sig
シグナルはグループ ID が送信側のプロセスグループ ID と等しく、それについて
プロセスがパーミッションを持っているすべてのプロセスに送信されます。
@ -87,11 +87,12 @@
.Xr killpg 2
の変種です。
.\".It \&If Fa pid No \&is -1 :
.It Fa pid No -1 の場合:
.It Fa pid No -1 の場合 :
ユーザにスーパユーザの特権がある場合、システムプロセス
.Dv ( P_SYSTEM
フラグが設定されている)、ID が 1 のプロセス (通常は
.Xr init 8 )、
.Xr init 8 )
およびシグナルを送信しているプロセスを
除くすべてのプロセスにシグナルが送信されます。
ユーザがスーパユーザでない場合、シグナルを送信しているプロセスを除く、
@ -108,7 +109,7 @@ System V
.Sh 戻り値
.Rv -std kill
.Sh エラー
.Fn Kill
.Fn kill
システムコールは次の場合に処理に失敗し、シグナルは送信されません:
.Bl -tag -width Er
.It Bq Er EINVAL

View file

@ -69,7 +69,7 @@ struct kld_sym_lookup {
メンバは、
.Fn kldsym
を呼ぶコードによって、
.Fn sizeof "struct kld_sym_lookup"
.Fn sizeof "struct kld_sym_lookup"
に設定されるべきです。
次に示す 2 個の引数
.Va version

View file

@ -253,7 +253,7 @@ kqueue
.Va data
は現在位置からファイルの最後 (EOF) までのオフセットが入っています。
この値は負であるかもしれません。
.It FIFO とパイプ
.It "FIFO とパイプ"
読み取るべきデータがあるときに戻ります。
.Va data
には有効なバイト数が入っています。
@ -296,9 +296,10 @@ EVFULT_READ
.Fn aio_*
システムコールが呼び出されたとき、そのイベントは
指定された kqueue に登録されます。
aio_* 関数が返した
.Fa aiocb
構造体を
.Fn aio_*
システムコールによって返された
.Fa struct aiocb
.Va ident
引数にセットします。
このフィルタは aio_error と同様の条件で戻ります。

View file

@ -33,7 +33,7 @@
.\" THE USE OF THIS SOFTWARE, EVEN IF PACKET DESIGN IS ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/sys/kse.2,v 1.13 2003/12/10 02:38:51 marcel Exp %
.\" %FreeBSD: src/lib/libc/sys/kse.2,v 1.13.2.2 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.\"
@ -276,7 +276,6 @@ CPU
.Fn kse_exit
は正常に戻ります。
これはそのプロセスを元に、つまりスレッド化されていない状態に戻します。
(これはまだ実装されていません)
.Pp
.Fn kse_release
システムコールは、必要でなくなったときに、現在実行しているスレッドに
@ -337,37 +336,65 @@ KSE
.\"
.Ss シグナル
.\"
プロセスがメールボックスに関連付けられた少なくとも 1 つの KSE を
持っているときには、シグナルはもはやそのプロセスのスタックには配信されない
かもしれません。
代わりに、シグナルは upcall を介して配信されることができます。
複数のシグナルは 1 つの upcall で配信されることができます。
(この機能はまだコード化されていません)
.Pp
そのプロセスの中に複数の KSE グループが存在する場合には、そのシグナルを
配信するためにどの KSE グループが選ばれるのかは、明確ではありません。
現在の実装は特別のシグナルスレッドを作成します。
プロセス内のカーネルスレッド (KSE) はすべてのシグナルをマスクし、
シグナルスレッドだけがプロセスへ配信されるシグナルを待ちます。
シグナルスレッドはユーザスレッドへのシグナルの
ディスパッチに対して責任があります。
.\" responsible for = 《be ~》~に対して責任がある、~に関与する
.Pp
この弱点は、多重スレッドが
.Fn execve
システムコールを呼び出すなら、そのシグナルマスクとペンディングシグナルは
カーネルで利用可能でないかもしれないことです。
それらはユーザランドで格納され、カーネルはどこでそれらが得られるか知りません。
しかしながら、
.Tn POSIX
ではそれらは復元され、新しいプロセスに渡す必要があります。
.Fn execve
呼び出しの前のスレッドのマスク設定は、
古いプロセスがブロックされている状態かもしれない任意のペンディングシグナルを
カーネルに再配信されないとき、問題に近似しています。
そして、新しいシグナルがマスクの設定と
.Fn execve
の間のプロセスに配信されるかもしれないウィンドウを許可します。
.\" is only a close approximation to the problem の訳はあやしい
.Pp
当分、この問題は特別の組み合わせ
.Fn kse_thr_interrupt Ns / Ns Fn execve
モードを
.Fn kse_thr_interrupt
システムコールに追加することによって解決されています。
.\" For now = 差し当たり、当分は
.Fn kse_thr_interrupt
システムコールはサブコマンド
.Dv KSE_INTR_EXECVE
があり、それは
.Vt kse_execv_args
構造体を受け付けることができ、シグナルを調整して、次に不可分に
.Fn execve()
呼び出しに変換できます。
.\" 原文: .Fn execve() は .Fn execve の誤り。
追加のペンディングシグナルと正しいシグナルマスクは
このようにしてカーネルに渡すことができます。
.\" in this way = かくのごとく、こういう調子に、このような方法で、このように(して)、
スレッドライブラリは、
.Fn execve
スステムコールをくつがえして、それを
.Fn kse_intr_interrupt
呼び出しに変換し、多重スレッドを
.Fn exec
を行なう前にペンディングシグナルと正しいシグナルマスクに
復元できるようにします。
この問題の解決法は変更するかもしれません。
.\"
.Ss KSE メールボックス
.\"
それぞれの KSE はユーザとカーネルの通信のための唯一のメールボックスを
持っています:
.Bd -literal
/* upcall 関数型 */
typedef void kse_func_t(struct kse_mailbox *);
/* KSE メールボックス */
struct kse_mailbox {
int km_version; /* バージョン */
struct kse_thr_mailbox *km_curthread; /* 現在のスレッド */
struct kse_thr_mailbox *km_completed; /* 完了したスレッド */
sigset_t km_sigscaught; /* 捕ったシグナル */
unsigned int km_flags; /* KSE フラグ */
kse_func_t *km_func; /* UTS 関数 */
stack_t km_stack; /* UTS 環境 */
void *km_udata; /* UTS によって使用 */
struct timespec km_timeofday; /* upcall の時間 */
};
.Ed
それぞれの KSE は
.In sys/kse.h
で定義されたユーザとカーネルの通信のための唯一のメールボックスがあります。
そのフィールドのいくつかは次の通りです:
.Pp
.Va km_version
はこの構造体のバージョンを表し、
@ -468,26 +495,34 @@ upcall
.Va km_flags
は以下の全てのビット毎の OR を含むことができます:
.Bl -tag -width indent
.It \&
(まだフラグは全く定義されていません)
.It Dv KMF_NOUPCALL
upcalls が起きないようにブロックします。
スレッドは何らかのクリティカルセクション (危険域) にあります。
.It Dv KMF_NOCOMPLETED , KMF_DONE , KMF_BOUND
このスレッドは、永久に KSE に結びつけられると考えられるべきで、
スレッド化されていないプロセスとそっくりに扱われます。
.\" 原文: considerred は considered の誤り。
.\" considered to be = 《be ~》~であると考えられている[目されている]
.\" much like = そっくりの、酷似の
それはある意味では
.Dv KMF_NOUPCALL
.Dq 長期
バージョンです。
.\" in some ways = ある点[意味]で(は)、いろいろな意味で、いくつかの点で
.It Dv KMF_WAITSIGEVENT
シグナル配信スレッドに必要な特性を実装します。
.\" 原文: charactersitics は # characteristics の誤り。
.El
.\"
.Ss スレッドメールボックス
.\"
それぞれのユーザスレッドはそれに関連付けられた唯一の
それぞれのユーザスレッドはそれに関連付けられた
.In sys/kse.h
で定義された唯一の
.Vt "struct kse_thr_mailbox"
を持たなければなりません:
.Bd -literal
/* スレッドメールボックス */
struct kse_thr_mailbox {
ucontext_t tm_context; /* ユーザスレッド環境 */
unsigned int tm_flags; /* スレッドフラグ */
struct kse_thr_mailbox *tm_next; /* リスト中の次スレッド */
void *tm_udata; /* UTS によって使用 */
unsigned int tm_uticks; /* ユーザ時間カウンタ */
unsigned int tm_sticks; /* カーネル時間カウンタ */
};
.Ed
がなければなりません。
それは次のフィールドを含んでいます:
.Pp
.Va tm_udata
はカーネルによって無視された不明瞭なポインタです。
@ -528,8 +563,12 @@ struct kse_thr_mailbox {
.Va tm_flags
は以下の全てのビット毎の OR を含むことができます:
.Bl -tag -width indent
.It \&
(まだフラグは全く定義されていません)
.It Dv TMF_NOUPCALL
.Dv KMF_NOUPCALL
と同様です。
このフラグはクリティカルセクション (危険域) への upcall を禁止します。
いくつかのアーキテクチャは、ある場所ともう片方でいくつかにあることを
必要とします。
.El
.Sh 戻り値
成功の場合には
@ -658,17 +697,17 @@ KSE
.Sh 作者
KSE は初めに
.An -nosplit
.An "Julian Elischer" Aq julian@FreeBSD.org ,
.An "Julian Elischer" Aq julian@FreeBSD.org
が実装し、
.An "Jonathan Mini" Aq mini@FreeBSD.org ,
.An "Daniel Eischen" Aq deischen@FreeBSD.org ,
.An "Daniel Eischen" Aq deischen@FreeBSD.org
および
.An "David Xu" Aq davidxu@FreeBSD.org
が追加の貢献をしました。
.Pp
このマニュアルページは
.An "Archie Cobbs" Aq archie@FreeBSD.org
が書きました。
によって書かれました。
.Sh バグ
KSE のコードは開発中です。
.\" .Ud .

View file

@ -106,7 +106,7 @@
システムコールは次の場合に処理を失敗し、ファイル位置ポインタは変更されません:
.Bl -tag -width Er
.It Bq Er EBADF
.Em fildes
.Fa fildes
引数がオープンファイル記述子ではありません。
.It Bq Er EINVAL
.Fa whence
@ -117,7 +117,7 @@
.Fa off_t
型のオブジェクトでは正しく表現できない値となりました。
.It Bq Er ESPIPE
.Em fildes
.Fa fildes
引数はパイプ、ソケット、または FIFO と対応づけられています。
.El
.Sh 関連項目

View file

@ -77,7 +77,7 @@ exec
でマップされたメモリブロックを親子間で共有可能です。
これにより、親もしくは子による修正は共有されますが、
元々下層にあるファイルは変更されません。
.Bl -tag -width MAP_HASSEMAPHORE
.Bl -tag -width ".Dv INHERIT_SHARE"
.It Dv INHERIT_SHARE
本オプションは、対象のアドレス空間を親子間で共有させます。
本オプションは、

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,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mkfifo.2 8.1 (Berkeley) 6/4/93
.\" @(#)mkfifo.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/mkfifo.2,v 1.17 2002/12/19 09:40:25 ru Exp %
.\"
.\" $FreeBSD$

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)mlock.2 8.2 (Berkeley) 12/11/93
.\" %FreeBSD: src/lib/libc/sys/mlock.2,v 1.18 2004/08/10 16:38:19 green Exp %
.\" %FreeBSD: src/lib/libc/sys/mlock.2,v 1.18.2.2 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.Dd August 10, 2004
@ -131,12 +131,12 @@
指示されたアドレス範囲の一部が割り当てられていません。
.El
.Sh 関連項目
.Xr mlockall 2 ,
.Xr munlockall 2 ,
.Xr fork 2 ,
.Xr mincore 2 ,
.Xr minherit 2 ,
.Xr mlockall 2 ,
.Xr mmap 2 ,
.Xr munlockall 2 ,
.Xr munmap 2 ,
.Xr setrlimit 2 ,
.Xr getpagesize 3

View file

@ -30,10 +30,10 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)mount.2 8.3 (Berkeley) 5/24/95
.\" %FreeBSD: src/lib/libc/sys/mount.2,v 1.40 2004/08/13 14:33:03 roam Exp %
.\" %FreeBSD: src/lib/libc/sys/mount.2,v 1.40.2.1 2005/02/26 04:44:54 trhodes Exp %
.\"
.\" $FreeBSD$
.Dd August 13, 2004
.Dd February 23, 2005
.Dt MOUNT 2
.Os
.Sh 名称
@ -107,7 +107,7 @@
この制約は
.Xr sysctl 8
.Em vfs.usermount
.Va vfs.usermount
変数を 0 ではない値に設定することで解除することが可能です。
.Pp
次の
@ -200,6 +200,8 @@ vfs
ファイルシステムは
.Xr mount_nfs 8
マニュアルページに記述されています。
UFS と UFS2 として知られているデフォルトのファイルシステムのための
マニュアルページが存在しないことに注意しなくてはなりません。
.Pp
.Fn unmount
システムコールは、ファイルシステムを指定のマウントポイント
@ -271,7 +273,7 @@ vfs
.Bl -tag -width Er
.It Bq Er ENODEV
ufs_args の構成要素
.Ar fspec
.Fa fspec
が存在しません。
.It Bq Er ENOTBLK
.Fa fspec

View file

@ -61,7 +61,7 @@
.Bl -tag -width ".Dv PROT_WRITE" -compact
.It Dv PROT_NONE
全く保護しません。
.It PROT_READ
.It Dv PROT_READ
ページは読取り可能です。
.It Dv PROT_WRITE
ページは書込み可能です。

View file

@ -1,6 +1,6 @@
.\"
.\" $OpenBSD: nanosleep.2,v 1.1 1997/04/20 20:56:20 tholo Exp $
.\" %NetBSD: nanosleep.2,v 1.1 1997/04/17 18:12:02 jtc Exp %
.\" %NetBSD: nanosleep.2,v 1.1 1997/04/17 18:12:02 jtc Exp %
.\"
.\" Copyright (c) 1986, 1991, 1993
.\" The Regents of the University of California. All rights reserved.

View file

@ -112,7 +112,8 @@ struct nfsd_cargs {
ユーティリティは、
.Va errno
==
.Er ENEEDAUTH
.Er ENEEDAUTH
.Fn nfssvc
から戻ります。
.Xr mount_nfs 8
@ -160,13 +161,15 @@ struct nfsd_srvargs {
};
.Ed
.Pp
.\" .Xr nfsd 8 の文は前に移動。
.Xr nfsd 8
ユーティリティは、Kerberos 認証チケットを受信するたびに、
.Fn nfssvc
から
.Va errno
==
.Er ENEEDAUTH で戻ります。
.Er ENEEDAUTH
で戻ります。
.Xr nfsd 8
は、チケットを認証し、フィールド nsd_uid で指定された
``user id'' 用の一連の証書をサーバ上で生成しようとします。
@ -216,6 +219,8 @@ struct nfsd_args {
int namelen;/* 名前の長さ */
};
.Ed
.\" .Pp
.\" .Tn NFS, .Xr nfsd 8 の文は前に移動。
.Sh 戻り値
通常、
.Fn nfssvc

View file

@ -131,7 +131,8 @@ O_NOFOLLOW
ファイルをオープンするときに、
.Xr flock 2
を使ったロックを得るには、共有ロックについては
.Dv O_SHLOCK、
.Dv O_SHLOCK
排他的ロックについては
.Dv O_EXLOCK
を設定します。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/pathconf.2,v 1.17 2004/07/08 20:27:38 wollman Exp %
.\" %FreeBSD: src/lib/libc/sys/pathconf.2,v 1.17.2.1 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.Dd November 4, 2002
@ -95,12 +95,12 @@
は適切な特権を要求しますが、この動作はこの規格の前の版ではオプションでした。
.It Li _PC_NO_TRUNC
構成要素が
.Brq Li NAME_MAX
.Brq Dv NAME_MAX
よりも長いパス名を使用しようとすると
.Bq Er ENAMETOOLONG
エラーを引き起こす場合は、0 より大きい値を返します。
そうでない場合には、このような構成要素は
.Brq Li NAME_MAX
.Brq Dv NAME_MAX
に切り詰められます。
全ての場合において
.St -p1003.1-2001

View file

@ -61,8 +61,8 @@ struct pollfd {
};
.Ed
.Pp
.Fa pollfd
構造体のフィールドは次のとおりです:
.Fa struct pollfd
のフィールドは次のとおりです:
.Bl -tag -width XXXrevents
.It fd
調査するファイル記述子。

View file

@ -116,9 +116,7 @@ setuid
アドレスを指定します。
このアドレスはどのような境界調整制約も満たす必要はありません。
読み取られた値は
.Eo \&
.Fn ptrace
.Ec
からの戻り値として返されます。
.It Dv PT_WRITE_I , Dv PT_WRITE_D
これらの要求は
@ -210,7 +208,7 @@ struct ptrace_io_desc {
.Do
.Vt "struct reg"
.Dc
.Pf ( Aq Pa machine/reg.h
.In ( machine/reg.h
内に定義されています) 内に読み取ります。
.It Dv PT_SETREGS
この要求は
@ -239,7 +237,9 @@ struct ptrace_io_desc {
の反対です。
.Fa addr
が指す
.Dq Li "struct fpreg"
.Do
.Vt "struct fpreg"
.Dc
.In ( machine/reg.h
内に定義されています)
からトレースされるプロセスの浮動小数点レジスタをロードします。

View file

@ -30,10 +30,10 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)read.2 8.4 (Berkeley) 2/26/94
.\" %FreeBSD: src/lib/libc/sys/read.2,v 1.25 2004/07/02 23:52:13 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/read.2,v 1.25.2.1 2004/11/13 11:55:41 yar Exp %
.\"
.\" $FreeBSD$
.Dd February 26, 1994
.Dd October 16, 2004
.Dt READ 2
.Os
.Sh 名称
@ -191,7 +191,8 @@ struct iovec {
システムコールは次のエラーを返すこともあります:
.Bl -tag -width Er
.It Bq Er EINVAL
指定のファイルオフセットが有効ではありません。
.Fa offset
の値が負です。
.It Bq Er ESPIPE
ファイル記述子がパイプ、ソケット、または FIFO に結び付けられています。
.El

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)recv.2 8.3 (Berkeley) 2/21/94
.\" %FreeBSD: src/lib/libc/sys/recv.2,v 1.21 2004/07/16 17:15:37 harti Exp %
.\" %FreeBSD: src/lib/libc/sys/recv.2,v 1.21.2.2 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.Dd February 21, 1994
@ -61,7 +61,7 @@
受信するのに使用できます。
.Pp
.Fa from
nil でなく、ソケットが接続指向でない場合、
NULL ポインタでなく、ソケットが接続指向でない場合、
ここにはメッセージのソースアドレスが保存されます。
.Fa fromlen
引数は値と結果の引数であり、
@ -76,7 +76,7 @@
.Pf ( Xr connect 2
を参照)、
.Fa from
引数に nil を指定した
引数に NULL ポインタを指定した
.Fn recvfrom
と同一です。
これは冗長なので、将来のリリースではサポートされない可能性があります。
@ -110,13 +110,14 @@
.Xr select 2
システムコールを使うことができます。
.Pp
recv 関数への
.Fn recv
関数への
.Fa flags
引数は、次の値の 1 つまたは複数の論理和
.\".Em or Ap ing
.Em ( or )
から成ります:
.Bl -column MSG_DONTWAIT -offset indent
.Bl -column ".Dv MSG_DONTWAIT" -offset indent
.It Dv MSG_OOB Ta プロセス帯域外データ
.It Dv MSG_PEEK Ta 着信メッセージの覗き見 (peek)
.It Dv MSG_WAITALL Ta 要求の完全な実行、またはエラーを待つ
@ -128,21 +129,26 @@ recv
通常のデータストリームからは受信しません。
急送データを通常のデータ待ち行列の先頭に配置するプロトコルもありますが、
このフラグはそのようなプロトコルでは使用できません。
MSG_PEEK フラグは受信待ち行列の先頭からデータを除去することなく、
.Dv MSG_PEEK
フラグは受信待ち行列の先頭からデータを除去することなく、
そのデータを返します。
したがって、後続の受信呼び出しは同じデータを返します。
MSG_WAITALL フラグは要求が完全に満たされるまでブロックするように要求します。
.Dv MSG_WAITALL
フラグは要求が完全に満たされるまでブロックするように要求します。
しかし、シグナルが捕捉された場合、エラーまたは切断が発生した場合、
または受信する次のデータが返されたタイプと異なる
場合、呼び出しは要求されたより少ないデータを返す可能性があります。
MSG_DONTWAIT フラグは、フラグが指定されてなかったらブロックするような時に、
.Dv MSG_DONTWAIT
フラグは、フラグが指定されてなかったらブロックするような時に、
戻ることを要求します。
利用可能なデータが無い場合には、
.Va errno
.Er EAGAIN
に設定されます。
このフラグは、厳格な ANSI または C99 のコンパイルモードでは利用できません。
このフラグは、厳格な
.Tn ANSI
または C99 のコンパイルモードでは利用できません。
.Pp
.Fn recvmsg
システムコールは、直接に指定される引数の数を最小にするために
@ -154,7 +160,7 @@ MSG_DONTWAIT
.Pp
.Bd -literal
struct msghdr {
caddr_t msg_name; /* アドレス(オプション) */
caddr_t msg_name; /* アドレス (オプション) */
u_int msg_namelen; /* アドレスのサイズ */
struct iovec *msg_iov; /* スキャッタ / ギャザー配列 */
u_int msg_iovlen; /* msg_iov の要素数 */
@ -197,7 +203,9 @@ struct cmsghdr {
データストリームの変化を知ることができます。
また、ISO において
.Fn accept
システムコールの直後に、データバッファを伴わずに recvmsg を要求して、
システムコールの直後に、データバッファを伴わずに
.Fn recvmsg
を要求して、
ユーザ接続要求データを得ることができるでしょう。
.Pp
オープンファイル記述子はこれで
@ -275,6 +283,17 @@ struct cmsgcred {
引数
.Fa s
はソケットを参照していません。
.It Bq Er EMSGSIZE
.Fn recvmsg
システムコールは、接続時にデータをやりとりする権利 (ファイル記述子)
を受信するために使用されました。
.\" rights (file descriptors) that were in flight の訳は良くわからない。
しかしながら、受信プログラムには受け付けるための
空きファイル記述子スロットがありませんでした。
この場合、記述子がクローズされ、
.Fn recvmsg
への別の呼び出しによって、
どんなペンディング (未解決) のデータも返すことができます。
.It Bq Er EAGAIN
ソケットが非ブロッキングとマークされているとき、
受信操作でブロックしました。

View file

@ -56,8 +56,7 @@
各操作は
.Vt "struct sembuf"
内にエンコードされており、
.Fa "struct sembuf"
は次のように定義されます:
それは次のように定義されます:
.Bd -literal
.\"
.\" From <sys/sem.h>
@ -81,9 +80,9 @@ struct sembuf {
.Dv SEM_UNDO
.Dv IPC_NOWAIT
の値の論理和 (
.Em OR
) を取って
の値の論理和
.Em ( OR )
を取って
.Va sem_flg
メンバに入れることが可能です。
.Pp

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" From: @(#)send.2 8.2 (Berkeley) 2/21/94
.\" %FreeBSD: src/lib/libc/sys/send.2,v 1.27 2004/07/02 23:52:13 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/send.2,v 1.27.2.1 2005/01/31 00:27:01 keramida Exp %
.\"
.\" $FreeBSD$
.Dd February 15, 1995
@ -171,6 +171,8 @@
それが一時的な輻輳によって起こったことを示します。
.It Bq Er EHOSTUNREACH
リモートホストに到達できませんでした。
.It Bq Er EISCONN
宛先アドレスが指定され、そしてソケットは既に接続されています。
.It Bq Er ECONNREFUSED
ソケットが、ICMP 宛先不到達メッセージを、
最後に送信したメッセージから受信しました。

View file

@ -23,10 +23,10 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/sys/sendfile.2,v 1.23 2004/06/30 20:09:10 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/sendfile.2,v 1.23.2.2 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.Dd November 5, 1998
.Dd October 16, 2004
.Dt SENDFILE 2
.Os
.Sh 名称
@ -39,7 +39,10 @@
.In sys/socket.h
.In sys/uio.h
.Ft int
.Fn sendfile "int fd" "int s" "off_t offset" "size_t nbytes" "struct sf_hdtr *hdtr" "off_t *sbytes" "int flags"
.Fo sendfile
.Fa "int fd" "int s" "off_t offset" "size_t nbytes"
.Fa "struct sf_hdtr *hdtr" "off_t *sbytes" "int flags"
.Fc
.Sh 解説
.Fn sendfile
システムコールは、記述子
@ -50,13 +53,17 @@
.Pp
.Fa offset
引数はファイルのどこから開始すべきかを指定します。
.Fa offset
がファイルの終りを超えていた場合は、システムは
次に説明されるように成功を返して、0 バイトを送信したと報告します。
.Fa nbytes
引数は、ファイルの何バイトを送信する必要があるかを指定します。
0 は、ファイルの終わりまで送信するという特殊な意味を持ちます。
.Pp
オプションのヘッダまたはトレーラ、またはその両方は、構造体 sf_hdtr を
指すポインタを指定することによってファイルの前と後で送信できます。
構造体 sf_hdtr の構造は次のとおりです:
.Vt "struct sf_hdtr"
の構造は次のとおりです:
.Pp
.Bd -literal -offset indent -compact
struct sf_hdtr {
@ -70,7 +77,11 @@ struct sf_hdtr {
.Fa headers
ポインタと
.Fa trailers
ポインタは、NULL でない場合に構造体 iovec 構造の配列を指します。
ポインタは、
.Dv NULL
でない場合に
.Vt "struct iovec"
構造体の配列を指します。
iovec 構造体の詳細については、
.Fn writev
システムコールを参照してください。
@ -80,13 +91,15 @@ iovec
.Fa trl_cnt
によって指定されます。
.Pp
NULL でない場合に、システムは、ソケット上に送信された合計バイト数を、
.Dv NULL
でない場合に、システムは、ソケット上に送信された合計バイト数を、
.Fa sbytes
によって指された変数に書き込みます。
.Pp
.Fa flags
引数として利用できる値は 1 つです:
.Dv SF_NODISKIO
.Dv SF_NODISKIO
このフラグは、ディスク入出力でブロックされるであろうすべての
.Fn sendfile
呼び出しに対して、代わりに
@ -195,7 +208,7 @@ NULL
引数が SOCK_STREAM 型のソケットではありません。
.It Bq Er EINVAL
.Fa offset
引数が負であるか、または範囲外です。
引数が負です。
.It Bq Er ENOTCONN
.Fa s
引数が、未接続のソケットを指しています。

View file

@ -53,7 +53,7 @@
システムコールは、指定されたプロセス
.Fa pid
のプロセスグループを指定された
.Ar pgrp
.Fa pgrp
に設定します。
.Fa pid
が 0 の場合、呼び出しは現在のプロセスに適用されます。

View file

@ -43,11 +43,11 @@
.Ft int
.Fn setresuid "uid_t ruid" "uid_t euid" "uid_t suid"
.Sh 解説
.Nm setresuid
.Fn setresuid
システムコールは、
現在のプロセスのユーザの実 ID、実効 ID、退避 ID をセットします。
同様に
.Nm setresgid
.Fn setresgid
はグループの実 ID、実効 ID、退避 ID をセットします。
.Pp
特権を持つプロセスは、これらの ID を任意の値にセットできます。
@ -55,6 +55,7 @@
いずれかと一致しなければならないという制限を受けます。
.Pp
値を変更したくない場合は、対応する引数に -1 を渡します。
.Pp
.Fn getresgid
呼び出しと
.Fn getresuid
@ -64,7 +65,7 @@
.Rv -std
.Sh エラー
.Bl -tag -width Er
.It Er EPERM
.It Bq Er EPERM
呼び出し元プロセスが特権を持っておらず、1 つ以上の ID を
現在の実 ID、実効 ID、退避 ID 以外の値に変更しようとしました。
.It Bq Er EFAULT

View file

@ -72,11 +72,13 @@ IPC_PRIVATE
.Pp
新しく作成された IPC オブジェクトのモードは、
.Fa flag
引数に渡す以下の定数の論理和で決まります:
引数に渡す以下の定数の論理和
.Em ( OR )
で決まります:
.Bl -tag -width XSHM_WXX6XXX
.It Dv SHM_R
ユーザ用の読取りアクセス
.It SHM_W
.It Dv SHM_W
ユーザ用の書込みアクセス
.It Dv ( SHM_R>>3 )
グループ用の読取りアクセス

View file

@ -92,7 +92,8 @@ struct sigaction {
で実行可能です。
.Pp
通常の場合、シグナルルーチンは、呼び出しの原因となったシグナルが
ブロックされた状態で動作しますが、その他のシグナルが発生する可能性は
.Em ブロックされた
状態で動作しますが、その他のシグナルが発生する可能性は
あります。
グローバルの
.Em シグナルマスク
@ -184,7 +185,7 @@ struct sigaction {
子プロセスが停止したときではなく、子プロセスが終了するときにのみ、
.Dv SIGCHLD
シグナルが生成されます。
.It SA_NOCLDWAIT
.It Dv SA_NOCLDWAIT
.Dv SIGCHLD
シグナルで
.Fn sigaction
@ -305,22 +306,21 @@ struct sigaction {
.It Dv SIGCHLD No " シグナルの破棄" " 子プロセスの状態変化"
.It Dv SIGTTIN No " プロセスの停止" " バックグラウンドプロセスが制御端末から読み取ろうとした"
.It Dv SIGTTOU No " プロセスの停止" " バックグラウンドプロセスが制御端末に書き込もうとした"
.It Dv SIGIO No " シグナルの破棄" " 記述子への "
.Tn I/O
可能 (
.Xr fcntl 2
.It Dv SIGIO No " シグナルの破棄" " 記述子への" Tn "I/O"
可能
.Xr ( fcntl 2
参照)
.It Dv SIGXCPU No " プロセスの終了" " cpu 制限時間の超過 ("
.Xr setrlimit 2
.It Dv SIGXCPU No " プロセスの終了" " cpu 制限時間の超過"
.Xr ( setrlimit 2
参照)
.It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限の超過 ("
.Xr setrlimit 2
.It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限の超過"
.Xr ( setrlimit 2
参照)
.It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム ("
.Xr setitimer 2
.It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム"
.Xr ( setitimer 2
参照)
.It Dv SIGPROF No " プロセスの終了" " プロファイリングタイマアラーム (
.Xr setitimer 2
.It Dv SIGPROF No " プロセスの終了" " プロファイリングタイマアラーム"
.Xr ( setitimer 2
参照)
.It Dv SIGWINCH No " シグナルの破棄" " ウィンドウサイズの変化"
.It Dv SIGINFO No " シグナルの破棄" " キーボードからのステータス要求"
@ -469,13 +469,13 @@ struct sigaction {
.Sh 使用例
ハンドラが一致する可能性のあるプロトタイプは 3 つあります:
.Bl -tag -offset indent -width short
.It Tn ANSI C:
.It Tn ANSI C :
.Ft void
.Fn handler int ;
.It 伝統的な BSD スタイル:
.Ft void
.Fn handler int "int code" "struct sigcontext *scp" ;
.It Tn POSIX Dv SA_SIGINFO:
.It Tn POSIX Dv SA_SIGINFO :
.Ft void
.Fn handler int "siginfo_t *info" "ucontext_t *uap" ;
.El
@ -624,6 +624,8 @@ struct sigaction {
.Dv SA_NOCLDSTOP
フラグと
.Dv SA_NOCLDWAIT
.\" と
.\" SA_SIGINFO
フラグは、その他のオペレーティングシステムで一般的に見られるオプションです。
これらのフラグは
.Dv SIGCHLD

View file

@ -67,14 +67,13 @@
関数は、
.In signal.h
で定義される以下の値を使用して
.Ar how
.Fa how
で指定します。
.Bl -tag -width SIG_UNBLOCK
.It Dv SIG_BLOCK
新しいマスクは、現在のマスクと指定した
.Fa set
の和集合になります。
.Pp
.It Dv SIG_UNBLOCK
新しいマスクは、現在のマスクと指定した
.Fa set
@ -104,7 +103,6 @@
以下が発生すると、
.Fn sigprocmask
システムコールはエラーになり、シグナルマスクは変更されません。
.Pp
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa how

View file

@ -77,7 +77,7 @@
.Xr sigprocmask 2 ,
.Xr sigsetops 3
.Sh 規格
.Fn sigsupend
.Fn sigsuspend
システムコールは、
.St -p1003.1-90
に適合しています。

View file

@ -119,8 +119,9 @@ struct sigvec {
.Xr sigsetmask 2
が呼び出されるまで) 設置されます。
このマスクは、現在のシグナルマスクに、配信されるシグナルを追加し、
呼び出されるハンドラに関連したシグナルマスクとの論理和を
取って形成されます。
呼び出されるハンドラに関連したシグナルマスクとの論理和
.Em ( or )
を取って形成されます。
.Pp
.Fn sigvec
関数は、特定のシグナルにハンドラを割り当てます。
@ -168,22 +169,21 @@ struct sigvec {
.It Dv SIGCHLD No " シグナルの放棄" " 子ステータスの変化"
.It Dv SIGTTIN No " プロセスの停止" " 制御端末からバックグラウンド読み取ろうとした"
.It Dv SIGTTOU No " プロセスの停止" " 制御端末にバックグラウンド書き込もうとした"
.It Dv SIGIO No " シグナルの放棄" " 記述子に"
.Tn I/O
可能 (
.Xr fcntl 2
.It Dv SIGIO No " シグナルの放棄" " 記述子に" Tn "I/O"
可能
.Xr ( fcntl 2
参照)
.It Dv SIGXCPU No " プロセスの終了" " cpu 制限時間の超過 (
.Xr setrlimit 2
.It Dv SIGXCPU No " プロセスの終了" " cpu 制限時間の超過"
.Xr ( setrlimit 2
参照)
.It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限の超過 ("
.Xr setrlimit 2
.It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限の超過"
.Xr ( setrlimit 2
参照)
.It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム ("
.Xr setitimer 2
.It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム"
.Xr ( setitimer 2
参照)
.It Dv SIGPROF No " プロセスの終了" " プロファイリングタイマアラーム ("
.Xr setitimer 2
.It Dv SIGPROF No " プロセスの終了" " プロファイリングタイマアラーム"
.Xr ( setitimer 2
参照)
.It Dv SIGWINCH No " シグナルの放棄" " ウィンドウサイズの変化"
.It Dv SIGINFO No " シグナルの放棄" " キーボードからのステータス要求"
@ -271,7 +271,7 @@ struct sigvec {
.Fa ovec
は、プロセスに割り当てられたアドレス空間の範囲外を指しています。
.It Bq Er EINVAL
.Fa Sig
.Fa sig
引数が、正しいシグナル番号になっていません。
.It Bq Er EINVAL
.Dv SIGKILL
@ -318,8 +318,8 @@ struct sigcontext *scp;
.Fa scp
引数は、
.Fa sigcontext
構造体 (
.In signal.h
構造体
.In ( signal.h
で定義) へのポインタで、シグナル前にコンテキストを復元するために使用されます。
.Sh バグ
このマニュアルページは不明確です。

View file

@ -30,10 +30,10 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)stat.2 8.4 (Berkeley) 5/1/95
.\" %FreeBSD: src/lib/libc/sys/stat.2,v 1.36 2003/12/10 15:08:41 dds Exp %
.\" %FreeBSD: src/lib/libc/sys/stat.2,v 1.36.2.4 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.Dd February 15, 2002
.Dd November 15, 2004
.Dt STAT 2
.Os
.Sh 名称
@ -84,7 +84,24 @@
.In sys/stat.h
で定義され、ファイルに関する情報を保持します。
.Pp
.Fa struct stat
ファイルシステムに関連する
.Vt "struct stat"
のフィールドは以下のとおりです:
.Bl -tag -width ".Va st_nlink"
.It Va st_dev
ファイルを含むデバイスの数値 ID。
.It Va st_ino
ファイルの i ノード番号。
.It Va st_nlink
ファイルへのハードリンクの数。
.El
.Pp
.Va st_dev
.Va st_ino
フィールドはともにシステム中で唯一のファイルを特定します。
.Pp
.Vt "struct stat"
の時刻に関するフィールドは、以下のとおりです:
.Bl -tag -width ".Va st_birthtime"
.It Va st_atime
@ -141,15 +158,28 @@ inode
.Pp
.Vt "struct stat"
のサイズに関するフィールドは、以下のとおりです:
.Bl -tag -width XXXst_blksize
.It st_blksize
.Bl -tag -width ".Va st_blksize"
.It Va st_size
バイトで表されるファイルサイズ。
.It Va st_blksize
ファイルの最適な入出力ブロックサイズ。
.It st_blocks
.It Va st_blocks
ファイルに 512 バイト単位で割り当てられたブロックの実際の数。
短いシンボリックリンクが inode に保持されている場合、この数値が
0 になることがあります。
.El
.Pp
.Vt "struct stat"
のアクセス関連のフィールドは以下のとおりです:
.Bl -tag -width ".Va st_mode"
.It Va st_uid
ファイルの所有者のユーザID。
.It Va st_gid
ファイルのグループID。
.It Va st_mode
ファイルの状態 (下記参照)。
.El
.Pp
ステータス情報ワード
.Fa st_mode
には、以下のようなビットがあります:
@ -170,22 +200,49 @@ inode
#define S_IWUSR 0000200 /* 書込み権限の所有者 */
#define S_IXUSR 0000100 /* 実行 / 検索権限の所有者 */
.Ed
.Pp
アクセスモードのリストについては、
.In sys/stat.h ,
.Xr access 2 ,
.Xr chmod 2
を参照してください。
以下のマクロは
.Fa m
引数で渡された
.Va st_mode
値が指定されたタイプのファイルに対応しているかどうか
テストするために利用可能です:
.Bl -tag -width ".Fn S_ISFIFO m"
.It Fn S_ISBLK m
ブロック特殊ファイルかどうかテストする。
.It Fn S_ISCHR m
キャラクタ特殊ファイルかどうかテストする。
.It Fn S_ISDIR m
ディレクトリかどうかテストする。
.It Fn S_ISFIFO m
パイプか FIFO 特殊ファイルかどうかテストする。
.It Fn S_ISLNK m
シンボリックリンクかどうかテストする。
.It Fn S_ISREG m
通常のファイルかどうかテストする。
.It Fn S_ISSOCK m
ソケットかどうかテストする。
.It Fn S_ISWHT m
ホワイトアウトかどうかテストする。
.El
.Pp
マクロは、テストが真なら 0 以外、またはテストが偽なら 0 に評価します。
.Sh 戻り値
.Rv -std
.Sh 互換性
以前のバージョンのシステムでは、
.Li st_dev ,
.Li st_uid ,
.Li st_gid ,
.Li st_rdev ,
.Li st_size ,
.Li st_blksize ,
.Li st_blocks
.Va st_dev ,
.Va st_uid ,
.Va st_gid ,
.Va st_rdev ,
.Va st_size ,
.Va st_blksize ,
.Va st_blocks
フィールドに別のタイプを使用していました。
.Sh エラー
.Fn stat
@ -198,7 +255,7 @@ inode
.It Bq Er EFAULT
.Fa sb
引数または
.Em name
.Fa path
引数は、プロセスに割り当てられたアドレス空間の範囲外を指しています。
.It Bq Er EIO
ファイルシステムでの読み書き中に入出力エラーが発生しました。
@ -262,4 +319,3 @@ inode
システムコールは
.Bx 4.2
で登場しました。
.\" Amended by N.Kumagai 2000-3-18

View file

@ -193,7 +193,9 @@ Access Control List (ACL)
.Fa path
引数が、不正なアドレスを指しています。
.It Bq Er EIO
ファイルシステムに読み書きしている間に入出力エラーが発生しました。
ファイルシステムに読み書きしている間に
.Tn 入出力
エラーが発生しました。
.El
.Pp
.Fn fstatfs

View file

@ -137,5 +137,5 @@
で登場しました。
.Fn swapoff
システムコールは、
.Bx 5.0
.Fx 5.0
で登場しました。

View file

@ -30,10 +30,10 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)unlink.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/unlink.2,v 1.17 2004/07/02 23:52:13 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/unlink.2,v 1.17.2.1 2005/02/26 06:08:07 trhodes Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
.Dd February 23, 2005
.Dt UNLINK 2
.Os
.Sh 名称
@ -80,6 +80,12 @@
.It Bq Er EPERM
指定されたファイルがディレクトリになっています。
.It Bq Er EPERM
指定されたファイルはそれが変更不可 (immutable) であるか追加専用
(append-only) のフラグが設定されています。
詳しい情報に関しては
.Xr chflags 2
マニュアルページを参照してください。
.It Bq Er EPERM
ファイルを含むディレクトリがスティッキとマークされ、
削除するファイルを含むディレクトリまたはファイルが、
有効なユーザ ID に所有されていません。
@ -96,6 +102,7 @@
引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
.El
.Sh 関連項目
.Xr chflags 2 ,
.Xr close 2 ,
.Xr link 2 ,
.Xr rmdir 2 ,

View file

@ -69,13 +69,14 @@
スーパユーザである必要があります。
.Pp
.Fa times
が NULL 以外である場合、
.Dv NULL
以外である場合、
.Fa times
は 2 つの timeval 構造体の配列を指していることが前提となります。
アクセス時刻は最初の要素に、更新時刻は次の要素に
設定します。
(
.Dv UFS2
.Pf ( Dv UFS2
のように) ファイルの誕生 (生成) 時刻をサポートしている
ファイルシステムでは、2 番目の要素が現在設定されている誕生時刻よりも
前であれば、誕生時刻は 2 番目の要素の値で設定されます。
@ -108,7 +109,9 @@
指定されたパスには、検索が許可されていないディレクトリが含まれています。
あるいは
.Fa times
引数が NULL で、プロセスの実効ユーザ ID がファイルの所有者と一致せず、
引数が
.Dv NULL
で、プロセスの実効ユーザ ID がファイルの所有者と一致せず、
しかもスーパユーザでもなく、書込みアクセスが拒否されました。
.It Bq Er EFAULT
.Fa path
@ -131,7 +134,9 @@
パスの構成要素中にディレクトリ以外のものが含まれています。
.It Bq Er EPERM
.Fa times
引数が NULL ではなく、呼び出し側プロセスの実効ユーザ ID が、
引数が
.Dv NULL
ではなく、呼び出し側プロセスの実効ユーザ ID が、
ファイルの所有者と一致せず、しかもスーパユーザではありません。
.It Bq Er EROFS
そのファイルを含むファイルシステムが、

View file

@ -58,8 +58,8 @@
.Fn vfork
システムコールは、
.Xr execve 2
を呼び出すか、終了する (
.Xr _exit 2
を呼び出すか、終了する
.Pf ( Xr _exit 2
を呼び出すか異常終了する) まで子が親のメモリと制御スレッドを借りるという点で、
.Xr fork 2
と異なります。
@ -89,8 +89,8 @@
を呼び出してください。
.Xr exit 3
は標準入出力チャネルをフラッシュして閉じるため、
親プロセスの標準入出力データ構造体を壊してしまいます (
.Xr fork 2
親プロセスの標準入出力データ構造体を壊してしまいます
.Pf ( Xr fork 2
でも、バッファに入っているデータが 2 回フラッシュされるので、
.Xr exit 3
を呼び出さないでください)。
@ -111,7 +111,7 @@
削除された場合は、
.Xr fork 2
と同義になるので、
.Xr vfork 2
.Fn vfork
のメモリ共有の現実装には依存しないでください。
.Pp
デッドロックを避けるため、

View file

@ -105,14 +105,17 @@
オプションは、ステータスを報告するプロセスがない場合に呼び出しが
ブロックしないことを示すために使用します。
.Dv WUNTRACED
オプションを設定すると、SIGTTIN シグナル、SIGTTOU シグナル、SIGTSTP シグナル、
オプションを設定すると、
.Dv SIGTTIN , SIGTTOU , SIGTSTP ,
.Dv SIGSTOP
シグナルのために停止したカレントプロセスの子にも、
そのステータスを報告させます。
.Pp
.Fa rusage
が 0 以外である場合は、終了したプロセスと
そのすべての子が使用したリソースのサマリが返されます
(現在のところ、この情報は停止したプロセスについては使用できません)。
.Pp
.Dv WNOHANG
オプションが指定され、ステータスを報告するプロセスがない場合、
.Fn wait4
@ -151,11 +154,11 @@
.It Fn WIFSTOPPED status
プロセスが終了していないが、停止していて再開できる場合に真となります。
このマクロは
.Fn wait
wait
呼び出しで
.Dv WUNTRACED
オプションを指定するか、子プロセスがトレースされている (
.Xr ptrace 2
オプションを指定するか、子プロセスがトレースされている
.Pf ( Xr ptrace 2
を参照) 場合のみに真となります。
.El
.Pp

View file

@ -30,10 +30,10 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)write.2 8.5 (Berkeley) 4/2/94
.\" %FreeBSD: src/lib/libc/sys/write.2,v 1.26 2004/07/02 23:52:13 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/write.2,v 1.26.2.1 2004/11/13 11:55:41 yar Exp %
.\"
.\" $FreeBSD$
.Dd April 2, 1994
.Dd October 16, 2004
.Dt WRITE 2
.Os
.Sh 名称
@ -108,7 +108,8 @@ struct iovec {
.Fn write
は、ユーザ ID 設定ビットをファイルでクリアします。
これにより、スーパユーザが所有する書込み可能なユーザ ID 設定ファイルを
「捕えた」ユーザは、システムセキュリティを突破できなくなります。
.Dq 捕えた
ユーザは、システムセキュリティを突破できなくなります。
.Pp
ソケットのように、フロー制御の影響を受けるオブジェクトで
非ブロッキング I/O を使用すると、
@ -124,7 +125,7 @@ struct iovec {
が設定されます。
.Sh エラー
.Fn write ,
.Fn writev ,
.Fn writev
および
.Fn pwrite
システムコールは、以下の場合にエラーとなり、
@ -200,7 +201,8 @@ struct iovec {
システムコールは、以下のエラーを戻すことがあります:
.Bl -tag -width Er
.It Bq Er EINVAL
指定したファイルオフセットが正しくありません。
.Fa offset
の値が負です。
.It Bq Er ESPIPE
ファイル記述子が、パイプ、ソケット、FIFO に関連しています。
.El

View file

@ -46,7 +46,7 @@
.Nm banner
.Nd プリンタ用に大きな見出しを出力する
.Sh 書式
.Nm banner
.Nm
.Op Fl d
.Op Fl t
.Op Fl w Ar width

View file

@ -46,7 +46,7 @@
.Nm caesar , rot13
.Nd シーザー式暗号法の解読
.Sh 書式
.Nm caesar
.Nm
.Op Ar rotation
.Nm rot13
.Sh 解説

View file

@ -176,7 +176,8 @@ fortune \-e funny not-funny
.Bd -literal -offset indent
fortune 50% funny 50% not-funny
.Ed
.Pp
.\" 次の .sp は翻訳で追加、.Pp でもよいが制御文の比較のために .sp とした。
.sp
と指定するのと同等です。
.Sh 関連ファイル
.Bl -tag -width Pa -compact

View file

@ -40,7 +40,7 @@
.Nm number
.Nd アラビア数字を英語に変換する
.Sh 書式
.Nm number
.Nm
.Op Fl l
.Op Ar \&# ...
.Sh 解説

View file

@ -40,7 +40,7 @@
.Nm random
.Nd ファイルからのランダムな行選択、あるいは乱数
.Sh 書式
.Nm random
.Nm
.Op Fl elrUuw
.Op Fl f Ar filename
.Op Ar denominator