diff --git a/ja_JP.eucJP/man/man2/intro.2 b/ja_JP.eucJP/man/man2/intro.2 index 17444ced8c..94863ea991 100644 --- a/ja_JP.eucJP/man/man2/intro.2 +++ b/ja_JP.eucJP/man/man2/intro.2 @@ -1,782 +1,815 @@ .\" Copyright (c) 1980, 1983, 1986, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)intro.2 8.5 (Berkeley) 2/27/95 +.\" %FreeBSD: src/lib/libc/sys/intro.2,v 1.21.2.3 2000/12/29 14:44:52 ru Exp % .\" .Dd February 27, 1995 .Dt INTRO 2 .Os BSD 4 .Sh 名称 .Nm intro .Nd システムコールとエラー番号の紹介 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Sh 解説 このセクションでは、システム コール、エラー戻り、その他の共通な定義およびコンセプト の概要について説明します。 .\".Pp .\".Sy System call restart .\".Pp .\" .Sh 戻り値 ほとんどすべてのシステムコールが外部識別子 errno によって参照されるエラー番号を備えています。 .Aq Pa sys/errno.h 内でこの識別子は次のように定義されています。 .Pp .Dl extern int * __error(); .Dl #define errno (* __error()) .Pp .Va __error() -関数は、初期スレッド以外のスレッドについてスレッドに固有な構造体の -フィールドを指すポインタを返します。初期スレッドと非スレッド -プロセスの場合、 +関数は、初期スレッド以外のスレッドについては、スレッドに固有な構造体の +フィールドを指すポインタを返します。初期スレッドと非スレッドプロセスの +場合、 .Va __error() は、以前の定義と互換性のあるグローバル変数 .Va errno を指すポインタを返します。 .Pp システムコールは、エラーを検出すると、障害を示す整数値 (通常は -1) を返し、それに応じて変数 .Va errno を設定します。 -<これによって -1 を受け取ったときの障害の解釈と、 +<これにより、 -1 を受け取ったときに障害を解釈し、 それに応じた行動をとることを可能にします。> 呼び出しが正常に完了した場合は .Va errno が設定されることはありません。 いったん設定されると、別のエラーが起きるまでそのままです。 これはエラーの後でだけ調べるべきです。 多くのシステムコールが これらのエラー番号の意味を過重にしており、 意味は呼び出しのタイプと状況に従って解釈する必要があることに注意してください。 .Pp 以降に示すのはエラーの完全なリストであり、これらの名前は .Aq Pa sys/errno.h に記載されています。 .Bl -hang -width Ds .It Er 0 Em "Error 0" 未使用。 .It Er 1 EPERM Em "Operation not permitted" 「操作が許されません」 -適当な特権のあるプロセス、またはファイルか他のリソースの所有者に +適切な特権をもつプロセスに限定された操作、 +またはファイルその他のリソースの所有者に 限定された操作を実行しようとしました。 .It Er 2 ENOENT Em "No such file or directory" 「そのようなファイルまたはディレクトリはありません」 指定のパス名の構成要素が存在しないか、 またはパス名が空の文字列でした。 .It Er 3 ESRCH Em "No such process" -「そのようなプロセスがありません」 +「そのようなプロセスはありません」 指定のプロセス ID に対応するプロセスが見つかりませんでした。 .It Er 4 EINTR Em "Interrupted function call" 「関数呼び出しが割り込まれました」 割り込み可能な関数の実行中に、 非同期シグナル (たとえば、 .Dv SIGINT または .Dv SIGQUIT ) がプロセスによって捕らえられました。 シグナルハンドラが正常に戻ると、 割り込みされた関数呼び出しがエラー状態を返したように見えます。 .It Er 5 EIO Em "Input/output error" 「入出力エラーです」 何らかの物理的な入力エラーまたは出力エラーが起きました。 このエラーは、 -同じファイル記述子への後続の操作まで報告されず、後続のエラーによって失われる +同じファイル記述子に対する操作が次に行なわれるまで報告されず、 +後続のエラーによって失われる (上書きされる) 可能性があります。 .It Er 6 ENXIO Em "\&No such device or address" 「そのようなデバイスまたはアドレスがありません」 存在しないデバイスを参照している特殊ファイルへの入出力が行なわれたか、 またはデバイスの制限を越えた要求が行われました。 このエラーは、 -たとえばテープドライブがオンラインでないか、またはディスク -パックがドライブにロードされていない -ときにも発生する可能性があります。 +テープドライブがオンラインでない場合や、またはディスク +パックがドライブにロードされていない場合など +にも発生する可能性があります。 .It Er 7 E2BIG Em "Arg list too long" 「引数のリストが長すぎます」 -新しいプロセスの引数と環境変数のリストに使用される +新しいプロセスの引数リストと環境変数リストに使用される バイト数が、 現在の限界である 65536 バイト .Pf ( Aq Pa sys/param.h 内の .Dv NCARGS ) を越えました。 .It Er 8 ENOEXEC Em "Exec format error" 「実行形式エラーです」 -実行を要求されたファイルは、適切なパーミッションでしたが、 -実行可能ファイルについて要求される形式ではありませんでした。 +実行を要求されたファイルのパーミッションは適切でしたが、 +実行可能ファイルとして要求される形式ではありませんでした。 .It Er 9 EBADF Em "Bad file descripter" 「ファイル記述子が不良です」 ファイル記述子引数が範囲外であったか、 開いていないファイルを参照していたか、 -または書き込み (読み取り) 専用に開かれたファイルに -読み取り (書き込み) 要求が行われました。 +または書込み (読取り) 専用に開かれたファイルに +読取り (書込み) 要求が行われました。 .It Er 10 ECHILD Em "\&No child processes" 「子プロセスがありません」 .Xr wait 2 または .Xr waitpid 2 関数が、 子プロセスが存在しないか、待機されたことのない子プロセスを持たない プロセスによって実行されました。 .It Er 11 EDEADLK Em "Resource deadlock avoided" -「リソースデッドロックが回避されました」 +「リソースデッドロックを回避しました」 デッドロック状況になる可能性のあるシステムリソースをロックしようとしました。 .It Er 12 ENOMEM Em "Cannot allocate memory" 「メモリの割り当てができません」 新しいプロセス イメージが、ハードウェアまたはシステムが課する メモリ管理制約によって許容されるより多くのメモリを要求しました。 スワップ空間の不足は通常、一時的です。 しかし、コアの不足は一時的ではありません。ソフト限界を 対応するハード限界まで増加させることはできます。 .It Er 13 EACCES Em "Permission denied" 「パーミッションが拒絶されました」 ファイルアクセスパーミッションで禁止されている方法で ファイルにアクセスしようとしました。 .It Er 14 EFAULT Em "Bad address" 「不正なアドレスです」 -呼び出しの引数を使おうとしているときに、 +呼び出しで渡された引数を使おうとしているときに、 システムが無効なアドレスを検出しました。 .It Er 15 ENOTBLK Em "Not a block device" 「ブロックデバイスではありません」 ブロックデバイス操作が、非ブロックデバイスまたはファイル について試みられました。 .It Er 16 EBUSY Em "Resource busy" 「リソースがビジー状態です」 その時点で使用されているシステムリソースを、 その要求と干渉するであろう方法で使おうとしました。 .It Er 17 EEXIST Em "File exists" 「ファイルが存在します」 -既存のファイルが不適切なコンテキストで -記述されました。たとえば、 +すでに存在するファイルが不適切なコンテキストで +指定されました。たとえば、 .Xr link 2 -関数内の新しいリンク名としてです。 +関数における新しいリンク名としてです。 .It 18 Er EXDEV Em "Improper link" 「不適切なリンクです」 -別のファイルシステム上のファイルへのハード -リンクが試みられました。 +別のファイルシステム上のファイルへのハードリンクが +試みられました。 .It Er 19 ENODEV Em "Operation not supported" 「操作がデバイスによってサポートされていません」 -不適切な関数をデバイスに適用しようとする -試みが行われました。たとえば、プリンタのような -書き込み専用デバイスを読み込もうとしました。 +あるデバイスに不適切な関数を適用しようしました。 +たとえば、プリンタのような +書込み専用デバイスを読み込もうとしました。 .It Er 20 ENOTDIR Em "Not a directory" 「ディレクトリではありません」 -指定のパス名の構成要素が存在しましたが、 -ディレクトリである必要があるのに、 +指定のパス名の構成要素は確かに存在しましたが、 +ディレクトリが求められているにもかかわらず、 それがディレクトリではありませんでした。 .It Er 21 EISDIR Em "Is a directory" 「ディレクトリです」 -書き込みモードを指定してディレクトリを開こうとしました。 +書込みモードを指定してディレクトリをオープンしようとしました。 .It Er 22 EINVAL Em "Invalid argument" 「無効な引数です」 無効な引数が指定されました (たとえば、 .Xr signal 3 関数または .Xr kill 2 関数に未定義のシグナルを指定する場合)。 .It Er 23 ENFILE Em "Too many open files in system" -「システム内で開かれているファイルが多すぎます」 -システム上で許容できるファイル記述子の +「システム内でオープンされているファイルが多すぎます」 +システムが許容するファイル記述子の数の 最大数に到達しており、少なくとも -1 つが閉じられるまで、開こうとしている要求は満たされません。 +1 つがクローズされるまで、オープンしようとする要求は満たされません。 .It Er 24 EMFILE Em "Too many open files" -「開いているファイルが多すぎます」 +「オープンしているファイルが多すぎます」 <現在のリリースでは、 -プロセス1個につき開いているファイル数の上限は 64 です。> +プロセス1個につきオープンできるファイル数の上限は 64 です。> .Xr getdtablesize 2 で現在の限界を取得できます。 .It Er 25 ENOTTY Em "Inappropriate ioctl for device" 「デバイスに不適切な ioctl です」 -ファイルまたは特殊デバイスについて制御関数 ( +ファイルまたは特殊デバイスに不適切な操作を要求する制御関数 ( .Xr ioctl 2 -を参照) が試みられましたが、操作が不適切でした。 +を参照) を試みました。 .It Er 26 ETXTBSY Em "Text file busy" 「テキストファイルがビジーです」 -新しいプロセスが、別のプロセスによって書き込み用に開かれた純粋な手続き -(共有テキスト) -ファイルであったか、または純粋手続きファイルが実行されている間に、 +別のプロセスによって書込み用にオープンされた純粋プロシジャ (共有テキスト) +ファイルから新しいプロセスを作ろうとしたか、 +または純粋プロシジャファイルが実行されている間に、 +書込みアクセスを要求する .Xr open 2 -呼び出しが書き込みアクセスを要求しました。 +呼び出しが実行されました。 .It Er 27 EFBIG Em "File too large" 「ファイルが大きすぎます」 ファイルのサイズが最大値を超過しました (約 .if t 2\u\s-231\s+2\d .if n 2.1E9 バイト)。 .It Er 28 ENOSPC Em "Device out of space" -「デバイスが空間不足です」 +「デバイスの空き領域不足です」 該当するファイルシステムで -それ以上のディスクブロックが利用できないために、 +新たなディスクブロックが利用できないために、 通常ファイルへの .Xr write 2 -、ディレクトリまたはシンボリックリンクの作成、 +処理、ディレクトリの作成、シンボリックリンクの作成、 ディレクトリエントリの作成が失敗しました。 または、 該当するファイルシステムで -それ以上の inode が利用できないために、 -新しく作成されたファイルについての +新たな inode が利用できないために、 +新しく作成するファイルに対する inode の割り当てが失敗しました。 .It Er 29 ESPIPE Em "Illegal seek" 「不正なシークです」 .Xr lseek 2 関数がソケット、パイプ、または .Tn FIFO -について実行されました。 +に対して実行されました。 .It Er 30 EROFS Em "Read-only file system" -「読み取り専用ファイルシステムです」 +「読取り専用ファイルシステムです」 ファイルまたはディレクトリを -修正しようとする試みが、その時点で -読み取り専用のファイルシステムについて行われました。 +変更しようとする試みが、その時点で +読取り専用であるファイルシステムに対して行われました。 .It Er 31 EMLINK Em "Too many links" 「リンクが多すぎます」 -1 つのファイルへの許容される最大ハードリンクを超過しました -(ファイルごとのハードリンクの限界は 32767 です)。 +1 つのファイルについて許容されるハードリンクの最大数を超過しました +(1 ファイルにつきハードリンク数の限界は 32767 です)。 .It Er 32 EPIPE Em "Broken pipe" 「パイプが破壊されてました」 データを読み取るプロセスのない パイプ、ソケット、または .Tn FIFO -に対しての書き込みです。 +に対しての書込みです。 .It Er 33 EDOM Em "Numerical argument out of domain" 「数値引数が領域外です」 数値入力引数が、数学関数の定義域の外側にありました。 .It Er 34 ERANGE Em "Numerical result out of range" 「数値結果が範囲外です」 関数の数値結果が大きすぎて、利用できる場所に入りません (おそらく精度を超過したのでしょう)。 .It Er 35 EAGAIN Em "Resource temporary unavailable" 「リソースが一時的に利用できません」 これは一時的な状況であり、後で同じルーチンを呼び出した時に 正常に完了する可能性があります。 .It Er 36 EINPROGRESS Em "Operation now in progress" 「操作が現在進行中です」 完了するのに時間のかかる操作 ( .Xr connect 2 -など) がノンブロッキングオブジェクトについて試みられました ( +など) をノンブロッキングオブジェクトに対し試みました ( .Xr fcntl 2 を参照)。 .It Er 37 EALREADY Em "Operation already in progress" 「操作は既に進行中です」 既に操作が進行中のノンブロッキング -オブジェクトについて操作が試みられた。 +オブジェクトに対してさらに操作を試みました。 .It Er 38 ENOTSOCK Em "Socket operation on non-socket" 「ソケットでないものについてソケット操作を行ないました」 -自明です。 +ここに書いてある通りです。 .It Er 39 EDESTADDRREQ Em "Destination address required" 「宛先アドレスが要求されています」 -ソケット上の操作で必要なアドレスが抜けています。 +ソケットに関する操作に際し、必要なアドレスが抜けています。 .It Er 40 EMSGSIZE Em "Message too long" 「メッセージが長すぎます」 -ソケット上で送信されたメッセージが、 -内部メッセージバッファまたは何らかの -他のネットワーク制限より大きくなりました。 +内部メッセージバッファ、または何らかの +ネットワーク上の制限より大きなメッセージが +ソケットで送信されました。 .It Er 41 EPROTOTYPE Em "Protocol wrong type for socket" -「ソケットに対する間違ったタイプのプロトコルです」 -要求されたソケットタイプをサポート -しないプロトコルが指定されました。たとえば、タイプ +「ソケットに対するプロトコルのタイプが間違っています」 +要求されたソケットタイプではサポート +されないプロトコルが指定されました。たとえば、タイプ .Dv SOCK_STREAM では、 .Tn ARPA インターネット .Tn UDP プロトコルを使用できません。 .It Er 42 ENOPROTOOPT Em "Protocol not available" 「プロトコルが利用できません」 .Xr getsockopt 2 呼び出しまたは .Xr setsockopt 2 呼び出しで、 間違ったオプションまたはレベルが指定されました。 .It Er 43 EPROTONOSUPPORT Em "Protocol not supported" 「プロトコルがサポートされていません」 -プロトコルがシステム内に構成されていないか、 -またはプロトコルについての実装が存在しません。 +指定したプロトコルがシステム内に組み込まれていないか、 +またはそのプロトコルの実装が存在しません。 .It Er 44 ESOCKTNOSUPPORT Em "Socket type not supported" 「ソケットタイプがサポートされていません」 -ソケットタイプのサポートがシステム内に -構成されていないか、またはそれの実装が存在しません。 +指定したソケットタイプがシステム内に組み込まれてないか、 +またはそのソケットタイプの実装が存在しません。 .It Er 45 EOPNOTSUPP Em "Operation not supported" 「操作がサポートされていません」 -試みられた操作が、 -参照されたオブジェクトのタイプについてサポートされていません。 -通常、これが起きるのは、ファイル記述子が +引数が指すオブジェクトのタイプは、指定した操作をサポートしていません。 +このエラーが起きるのは、通常は、ファイル記述子が この操作をサポートできないファイルまたは -ソケットを参照するときです。たとえば、データグラム +ソケットを参照しているときです。たとえば、データグラム ソケット上で接続を .Em accept しようしたときです。 .It Er 46 EPFNOSUPPORT Em "Protocol family not supported" 「プロトコルファミリがサポートされていません」 -プロトコルファミリがシステム内に構成されていないか、 -またはそれの実装が存在していません。 +指定したプロトコルファミリがシステムに組み込まれていないか、 +またはそのプロトコルファミリの実装が存在していません。 .It Er 47 EAFNOSUPPORT Em "Address family not supported by protocol family" 「アドレスファミリがプロトコルファミリによってサポートされていません」 -要求されたプロトコルと互換性のないアドレスが使用されました。たとえば、 +要求したプロトコルと互換性のないアドレスが使用されました。たとえば、 .Tn ARPA -インターネット -プロトコルで +インターネットプロトコルで .Tn NS アドレスを使用できるとは必ずしも期待すべきではないでしょう。 .It Er 48 EADDRINUSE Em "Address already in use" 「アドレスが既に使用中です」 -各アドレス毎に、利用は 1 つだけが通常許容されます。 +各アドレスごとに、一度に 1 つだけを利用できます。 .It Er 49 EADDRNOTAVAIL Em "Cannot assing requested address" 「要求されたアドレスを割り当てできません」 通常は、このマシン上にないアドレスで ソケットを作成しようとした結果です。 .It Er 50 ENETDOWN Em "Network is down" 「ネットワークがダウンしています」 -ソケット操作で動いていないネットワークに遭遇しました。 +ソケット操作の結果、動作していないネットワークに遭遇しました。 .It Er 51 ENETUNREACH Em "Network is unreachable" 「ネットワークに到達できません」 -ソケット操作が到達できないネットワークに試みられました。 +到達できないネットワークに向けてソケット操作を試みました。 .It Er 52 ENETRESET Em "Network dropped connection on reset" -「ネットワークのリセット時に接続が廃棄されました」 -接続されていたホストがクラッシュして再起動されました。 +「リセットによりネットワークの接続が失われました」 +接続していたホストがクラッシュして再起動されました。 .It Er 53 ECONNABORTED Em "Software caused connection abort" -「ソフトウェアが接続中止を引き起こしました」 -接続中止がホストマシンに内部的に発生しました。 +「ソフトウェアによる接続中断が生じました」 +自マシン側の原因により接続中断が発生しました。 .It Er 54 ECONNRESET Em "Connection reset by peer" -「接続が対等な相手によってリセットされました」 -接続が対等な相手 (peer) によって強制的に閉じられました。 -これは時間切れまたは再起動によって、 +「接続が通信相手によってリセットされました」 +接続が通信相手 (peer) によって強制的にクローズされました。 +これはタイムアウトまたは再起動によって、 リモート側のソケットで接続が失われた結果であるのが普通です。 .It Er 55 ENOBUFS Em "\&No buffer space available" -「バッファ空間の空きがありません」 -システムに十分なバッファ空間がないか、待ち行列が一杯になったために、 +「バッファの空きがありません」 +システムに十分なバッファがないか、待ち行列が一杯になったために、 ソケットまたはパイプについての操作が行われませんでした。 .It Er 56 EISCONN Em "Socket is already connected" 「ソケットは既に接続されています」 -既に接続されたソケットについて +既に接続されたソケットに対して .Xr connect 2 -要求が行なわれました。 -または、接続済みのソケットに関する +要求を行ないました。 +または、接続済みのソケットに対する .Xr sendto 2 や .Xr sendmsg 2 -要求で、既に接続されているのに宛先を指定しました。 +要求に際し、既に接続されているのに宛先を指定しました。 .It Er 57 ENOTCONN Em "Socket is not connected" 「ソケットは接続されていません」 ソケットが接続されておらず、 しかも (データグラムソケットを送信するときに) アドレスが指定されていなかったために、データを送信または 受信する要求が許可されませんでした。 .It Er 58 ESHUTDOWN Em "Cannot send after socket shutdown" 「ソケットのシャットダウンの後で送信ができません」 -ソケットが以前の +以前に .Xr shutdown 2 -呼び出しで既にシャットダウンさせられているために、 -データを送信する要求が許可されませんでした。 +を呼び出して既にシャットダウンさせてしまったために、 +ソケットに対しデータを送信する要求が許可されませんでした。 .It Er 60 ETIMEDOUT Em "Operation timed out" 「操作がタイムアウトしました」 -ある時間間隔の後、接続された一方が適切に応答しなかったために、 +ある時間が経過するまでに接続相手が適切に応答しなかったために、 .Xr connect 2 要求または .Xr send 2 -要求が処理に失敗しました +要求の処理に失敗しました (タイムアウトの期間は通信プロトコルに左右されます)。 .It Er 61 ECONNREFUSED Em "Connection refused" 「接続が拒絶されました」 -ターゲットマシンが明示的に接続を拒絶したので、 -接続を確立できませんでした。これは、通常、外部のホストで +接続相手のマシンが接続を自ら拒否したので、 +接続を確立できませんでした。これは、通常、相手ホストで 有効でないサービスに接続しようとした結果です。 .It Er 62 ELOOP Em "Too many levels of symbolic links" 「シンボリックリンクのレベルが多すぎます」 パス名の探索に、32 .Pq Dv MAXSYMLINKS を越えるシンボリックリンクが含まれていました。 .It Er 63 ENAMETOOLONG Em "File name too long" 「ファイル名が長すぎます」 パス名の構成要素が 255 .Pq Dv MAXNAMELEN 文字を越えているか、またはパス名全体が 1023 .Pq Dv MAXPATHLEN Ns -1 文字を越えています。 .It Er 64 EHOSTDOWN Em "Host is down" 「ホストがダウンしています」 宛先ホストがダウンしているために -ソケット操作が処理失敗しました。 +ソケット操作が失敗しました。 .It Er 65 EHOSTUNREACH Em "No route to host" 「ホストへの経路はありません」 到達不可能なホストにソケット操作をしようとしました。 .It Er 66 ENOTEMPTY Em "Directory not empty" 「ディレクトリが空ではありません」 -.Ql \&. +ディレクトリ削除または名前変更の呼び出しに対し、 +.Ql .\& と -.Ql \&.. -以外を含むディレクトリの -ディレクトリ削除または名前変更の呼び出しに +.Ql ..\& +以外のエントリを含むディレクトリが 指定されました。 .It Er 67 EPROCLIM Em "Too many processes" 「プロセスが多すぎます」 .It Er 68 EUSERS Em "Too many users" 「ユーザが多すぎます」 -クォータシステムでテーブルエントリが不足しました。 +クォータシステムがテーブルエントリを使い切りました。 .It Er 69 EDQUOT Em "Disc quota exceeded" 「ディスククォータが超過しました」 -ディスクブロックのユーザのクォータを使い尽くしたために、 +ユーザのディスクブロッククォータを使い尽くしたために、 通常のファイルへの .Xr write 2 -、ディレクトリまたはシンボリックリンクの作成、 -またはディレクトリエントリの作成が失敗しました。 -もしくは、inode のユーザのクォータを使い尽くしたために、 +、ディレクトリの作成、シンボリックリンクの作成、 +ディレクトリエントリの作成が失敗しました。 +もしくは、ユーザの inode クォータを使い尽くしたために、 新しく作成されたファイルのための inode の割り当てに失敗しました。 -.ne 1i .It Er 70 ESTALE Em "Stale NFS file handle" 「腐りかけた NFS ファイルハンドルです」 オープンされている ( .Tn NFS ファイルシステム上の ) ファイルに対してアクセスしようとしましたが、 指定したファイル記述子が参照するファイルは現在利用できません。 これは .Tn NFS サーバ上でファイルが削除されたか、 -または他の破壊的なイベントが起きたことを示していると思われます。 +または他の破滅的な何かが起きたことを示していると思われます。 .It Er 72 EBADRPC Em "RPC struct is bad" 「RPC 構造体が不良です」 .Tn RPC 情報の交換が不成功でした。 .It Er 73 ERPCMISMATCH Em "RPC varsion wrong" 「RPC バージョンが間違っています」 -遠隔の相手の +通信相手の .Tn RPC のバージョンが、こちらのバージョンと 互換性がありません。 .It Er 74 EPROGUNAVAIL Em "RPC prog. not avail" 「RPC プログラムが利用できません」 -要求されたプログラムが +要求したプログラムが リモートホストに登録されていません。 .It Er 75 EPROGMISMATCH Em "Program version wrong" 「プログラムバージョンが間違っています」 -プログラムの要求したバージョンが、リモートホスト +要求したバージョンのプログラムが、リモートホスト .Pq Tn RPC 上で利用できません。 .It Er 76 EPROCUNAVAIL Em "Bad procedure for program" 「プログラムにとって間違った手続きです」 -リモートプログラム内に存在しない手続きについて +リモートプログラム内に存在しない手続きに対し .Tn RPC 呼び出しが試みられました。 .It Er 77 ENOLCK Em "No locks available" 「ロックが利用できません」 システムが課した、同時ファイルロック数の制限に達しました。 .It Er 78 ENOSYS Em "Function not implemented" 「関数が実装されていません」 -このシステムで利用できないシステムコールをしようとしました。 +このシステムで利用できないシステムコールを実行しようとしました。 +.It Er 79 EFTYPE Em "Inappropriate file type or format" +「ファイルの型または形式が不適切です」 +操作が誤った型のファイルに行われたか、またはデータファイルの +形式が誤っています。 +.It Er 80 EAUTH Em "Authentication error" +「認証エラーです」 +.Tn NFS +ファイルシステムをマウントするために不正な +認証チケットを使おうとしました。 +.It Er 81 ENEEDAUTH Em "Need authenticator" +「認証物が必要です」 +指定した +.Tn NFS +ファイルシステムをマウントするために認証チケットが必要です。 +.It Er 82 EIDRM Em "Identifier removed" +「識別子は削除されました」 +IPC の識別子は、現在のプロセスがそれで待っている間に削除されました。 +.It Er 83 ENOMSG Em "No message of desired type" +「要求された型のメッセージがありません」 +要求した型のメッセージが IPC メッセージキューにありません。 +または、メッセージカタログは要求したメッセージを含んでいません。 +.It Er 84 EOVERFLOW Em "Value too large to be stored in data type" +「データタイプに格納するには大きすぎる値です」 +関数からの数値の戻り値が、呼び出し側で用意した場所に格納するには大きすぎます。 +.It Er 85 ECANCELED Em "Operation canceled" +「処理はキャンセルされました」 +予定されていた処理はキャンセルされました。 +.It Er 86 EILSEQ Em "Illegal byte sequence" +「不正なバイト列です」 +多バイト文字をデコードしている際に、関数は不正または不完全なバイト列 +もしくは不正なワイド文字に遭遇しました。 +.El .Sh 定義 .Bl -tag -width Ds .It "プロセス ID (Process ID)" システム内のアクティブな各プロセスは、プロセス ID と呼ばれる負でない整数によって一意に識別されます。この ID の範囲は 0 から 99999 までです。 .It "親プロセス ID (Parent process ID)" 新しいプロセスは、現在のアクティブなプロセスから作成されます ( .Xr fork 2 を参照)。 プロセスの親プロセス ID は、 最初はそれを作成したプロセスのプロセス ID となっています。 そのプロセスを作成したプロセスが exit した場合、 それぞれの子プロセスの親プロセス ID は、システムプロセス .Xr init 8 の ID に設定されます。 .It "プロセスグループ (Process Group)" -アクティブなプロセスはそれぞれがプロセスグループのメンバであり、 +アクティブなプロセスはそれぞれがあるプロセスグループのメンバであり、 プロセスグループはプロセスグループ ID と呼ばれる 負でない整数によって識別されます。 -プロセスグループ ID はそのグループのリーダーのプロセス ID です。 +プロセスグループ ID はそのグループのリーダのプロセス ID です。 このグループ化によって、 関連づけられたプロセスの集団にシグナルを送る ( .Xr termios 4 を参照) ことや、 .Xr csh 1 のジョブ制御機構を可能にします。 .It "セッション (Session)" -セッションは 1 つまたは複数のプロセスグループのセットです。 +セッションは 1 つ以上のプロセスグループの集合です。 セッションは .Xr setsid 2 の呼び出しが成功すると作成されます。これによって、 -呼び出したプロセスは、新規のセッションにおける、 -ただ一つしかないプロセスグループのただ一つのメンバになります。 +呼び出したプロセスは、新規のセッションが +1 つだけ持つプロセスグループの唯一のメンバになります。 .It "セッションリーダ (Session leader)" .Xr setsid 2 の呼び出しの成功によって、新しいセッションを作成したプロセスは、 -セッションリーダーとして知られます。セッション -リーダーだけが、端末を制御端末 ( +セッションリーダとして知られます。 +端末を自分が制御する端末 ( .Xr termios 4 -を参照) として取得できます 。 +を参照) として取得できるのは、セッションリーダだけです。 .It "制御プロセス (Controlling process)" -制御端末を持つセッションリーダーが制御プロセスです。 +制御端末を持つセッションリーダが制御プロセスです。 .It "制御端末 (Controlling terminal)" セッションに関連づけられている端末は、そのセッションとそのメンバに対する 制御端末として知られます。 -.ne 1i .It "端末プロセスグループ ID (Terminal Process Group ID)" -端末は、セッションリーダーによって制御端末として取得されます。 -一旦、端末がセッションに関連づけられると、 -そのセッション内のどのプロセスグループをも、 +端末は、セッションリーダによって制御端末として取得されます。 +ひとたび端末がセッションに関連づけられると、 端末プロセスグループ ID をプロセスグループの ID に設定することによって、 -フォアグラウンドに配置できるようになります。 -この機能は、同じ端末について競合する複数のジョブの間で +そのセッション内のどのプロセスグループでも、 +フォアグラウンドに置くことができるようになります。 +この機能は、同じ端末をめぐり競合している複数のジョブの間で 調停を行なうために用いられます ( .Xr csh 1 と .Xr tty 4 を参照)。 -.It "孤児になったプロセスグループ (Orphaned Process Group)" +.It "孤児プロセスグループ (Orphaned Process Group)" プロセスグループは、ジョブ制御を行なうシェルの制御下にない場合、 -孤児になったとみなされます。 -もっと正確に言うと、 -そのグループと同じセッションに属しているがプロセスグループは異なる、 -というような親プロセスを、 -プロセスグループのメンバのどれもが持たないような場合、 +.Em 孤児になった +とみなされます。 +より正確に言うと、 +そのプロセスグループのメンバはどれも、 +そのグループと同じセッションに属す親プロセスを持たず、かつ、 +親プロセスが別のプロセスグループに属す場合、 そのプロセスグループは孤児になります。 なお、プロセスが終了するとき、その子プロセスの親プロセスは .Xr init 8 となるように変更されます。そしてこれは別個のセッションになります。 孤児になったプロセスグループのメンバの全てが、必ずしも 孤児になったプロセス (プロセスを作成したプロセスが終了した) というわけではありません。 -セッションリーダーのプロセスグループは定義によって孤児になります。 +この定義により、セッションリーダのプロセスグループは孤児になります。 .It "実ユーザ ID と実グループID (Real User ID and Real Group ID) " システム上の各ユーザは、実ユーザ ID と呼ばれる 正の整数によって識別されます。 .Pp 各ユーザは、1 つまたは複数のグループのメンバでもあります。 これらのグループの 1 つは他のものから 区別され、アカウンティング機能を実現するのに使用されます。 この区別されたグループに対応する正の整数は、実グループ ID と 呼ばれます。 .Pp すべてのプロセスは実ユーザ ID と実グループ ID を持っています。 -これらは、そのプロセスを作成したプロセスの -同等の属性から初期化されます。 +これらは、そのプロセスを作成したプロセスと等価な属性値を +使って初期化されます。 .It "実効ユーザ ID、実効グループ ID、グループアクセスリスト (Effective User Id, Effective Group Id, and Group Access List)" システムリソースへのアクセスは、 実効ユーザ ID とグループアクセスリストという 2 つの値を使って決定されます。 グループアクセスリストの最初のメンバは、実効グループ ID としても知られています (POSIX.1 では、グループアクセスリストは、補助グループ ID の セットとして知られ、実効グループ ID がリストのメンバで -あるかどうかを指定しません)。 +あるかどうかは未規定です)。 .Pp 実効ユーザ ID と実効グループ ID は、最初は それぞれ、プロセスの実ユーザ ID と実グループ ID です。 -いずれも (おそらくその先祖の 1 つによる) set-user-ID ファイルまたは -set-group-ID ファイルを実行を通じて変更することができます ( +いずれも (おそらくその先祖のいずれかが) set-user-ID ファイルまたは +set-group-ID ファイルを実行することにより変更することができます ( .Xr execve 2 を参照してください)。 慣習で、実効グループ ID (グループアクセスリストの最初のメンバ) は複製されるので、 set-group-ID プログラムの実行の結果、もともと持っていた (実) グループ ID が失われることはありません。 .Pp -グループアクセスリストは、リソースへのアクセス可能性を決定する -ためにだけ使用されるグループ ID のセットです。 +グループアクセスリストは、リソースへのアクセスが可能かどうかを決定する +ためにだけ使用されるグループ ID の集合です。 アクセスチェックは、以降の ``ファイルアクセスパーミッション'' で説明するように行われます。 .It "保存されたセットユーザ ID と保存されたセットグループ ID (Saved Set User ID and Saved Set Group ID)" プロセスが新しいファイルを実行するとき、 ファイルが set-user-ID であれば、 実効ユーザ ID はそのファイルの所有者に設定され、 ファイルが set-group-ID であれば、 実効グループ ID (グループアクセスリストの最初の要素) は ファイルのグループに設定されます。 それからプロセスの実効ユーザ ID は saved set-user-ID として記録され、 プロセスの実効ユーザ ID は saved set-group-ID として記録されます。 これらの記録された値は、実 ID ( .Xr setuid 2 を参照) に戻った後で、実効ユーザ ID または実効グループ ID をこれらの 値に回復するために利用できます。 (POSIX.1 では saved set-user-ID と saved set-group-ID はオプションであり、 setuid および setgid の内部で使用されますが、 これはスーパーユーザについて意図どおりには機能しません)。 .It "スーパーユーザ (super-user)" 実効ユーザ ID が 0 の場合、そのプロセスは .Em スーパーユーザ プロセスとして認識され、特別な権利が認められます。 -.ne 1i .It "特殊プロセス (Special Processes)" プロセス ID が 0, 1, 2 のプロセスは特殊です。 プロセス 0 はスケジューラです。 プロセス 1 は初期化プロセス .Xr init 8 であり、システム内の他の各プロセスの祖先です。 これはプロセス構造を制御するために使用されます。 プロセス 2 はページングデーモンです。 .It "記述子 (Descriptor)" .Xr open 2 , .Xr dup 2 によってファイルが参照されるとき、または .Xr pipe 2 , .Xr socket 2 , .Xr socketpair 2 によってソケットが作成されるときに システムによって割り当てられる整数です。 この整数は、 指定のプロセスやその子プロセスから、 そのファイルやソケットへのアクセスパスを一意に識別します。 .It "ファイル名 (File Name)" 最高 255 .Pq Dv MAXNAMELEN -文字で構成される名前であって、通常ファイル、特殊ファイル、 +文字からなる名前であって、通常ファイル、特殊ファイル、 ディレクトリに名前を付けるのに使用されます。 .Pp これらの文字は、0 (NUL) および .Ql \&/ (スラッシュ) の .Tn ASCII コードを除きすべての .Tn ASCII -文字のセットから選択できます。 +文字の集合から選択できます。 .Pp -なお、ファイル名の一部として +なお、一般に、ファイル名の一部として .Ql \&* , .Ql \&? , .Ql \&[ , .Ql \&] -を使用するのは一般に賢明ではありません。シェルによって +を使用するのは賢明ではありません。シェルによって これらの文字には特殊な意味がつけられるからです。 .It "パス名 (Path Name)" パス名は、 .Tn NUL で終端された文字列です。 -オプショナルなスラッシュ +スラッシュ .Ql \&/ -で開始し、スラッシュで区切られたゼロ個以上のディレクトリ名が続き、 -オプションでファイル名が続きます。パス名の長さの合計は 1024 +(省略可能) で始まり、スラッシュで区切られたゼロ個以上のディレクトリ名が続き、 +ファイル名 (省略可能) が続きます。パス名の長さの合計は 1024 .Pq Dv MAXPATHLEN 文字未満である必要があります。 .Pp -パス名がスラッシュで開始する場合、パス検索はルートディレクトリから -始まります。そうでない場合、検索は現在の作業ディレクトリから始まります。 -スラッシュそれ自体はルートディレクトリを指定します。 +パス名がスラッシュで始まる場合、パス検索はルートディレクトリから +開始します。そうでない場合、検索は現在の作業ディレクトリから開始します。 +スラッシュだけの場合、ルートディレクトリを指定します。 空のパス名は現在のディレクトリを指します。 .It "ディレクトリ (Directory)" ディレクトリは特殊なタイプのファイルであり、他のファイルを参照する -エントリが含まれています。ディレクトリエントリはリンクと呼ばれます。 -慣習で、ディレクトリには少なくとも 2 つのリンク、 -.Ql \&. +エントリを含んでいます。ディレクトリエントリをリンクと呼びます。 +伝統的に、ディレクトリには少なくとも 2 つのリンク、 +.Ql .\& と .Ql \&.. -が含まれています。これらはそれぞれ +を含みます。これらはそれぞれ .Em ドット および .Em ドット-ドット と呼ばれます。ドットは、そのディレクトリ自体を指し、 ドット-ドットはその親ディレクトリを指します。 .It "ルートディレクトリと現在の作業ディレクトリ (Root Directory and Current Working Directory)" 各プロセスは、ルートディレクトリと現在の作業ディレクトリという -概念に関連付けられています。これらはパス名検索を解決する際に +概念を持つとされてきました。これらの概念はパス名検索を解決する際に 用いられます。プロセスのルートディレクトリは、 ルートファイルシステムのルートディレクトリである必要はありません。 .It "ファイルアクセスパーミッション (File Access Permission)" ファイルシステム内の各ファイルはアクセスパーミッションの 集合を持っています。これらのパーミッションは、プロセスがファイルに -ついて要求された操作 (たとえば、書き込み用にファイルを開く) +ついて要求された操作 (たとえば、書込み用にファイルをオープンする) を行なってもよいかどうかを判定するのに使用されます。 アクセスパーミッションはファイルが作成されたときに設定されます。 アクセスパーミッションは .Xr chmod 2 呼び出しを用いて後から変更することもできます。 .Pp ファイルアクセスでは、ファイルが -読み取りが許されているかどうか、書き込みが許されているかどうか、 +読取りが許されているかどうか、書込みが許されているかどうか、 実行が許されているかどうか、 によって分類されます。 ディレクトリファイルでは、 ディレクトリを検索してもよいかどうかを制御するのに 実行パーミッションを使用します。 .Pp -ファイルアクセスパーミッションは、 -それをユーザの 3 つの異なるクラス、 -ファイルの所有者、ファイルのグループ内のユーザ、その他、 -に適用するものとしてシステムにより解釈されます。 +システムがファイルアクセスパーミッションを解釈するにあたり、 +ユーザの 3 つの異なるクラス (ファイルの所有者、 +ファイルのグループ内のユーザ、その他) のどれに適用するかによって +解釈します。 各ファイルは、これらの各クラスについて、 -独立したアクセスパーミッションのセットを持っています。 +独立したアクセスパーミッションの集合を持っています。 アクセスチェックが行なわれると、システムは、 呼び出し側に適用できるアクセス情報をチェックすることによって、 パーミッションが認可されるかどうかを判定します。 .Pp -ファイルについての読み取り、書き込み、実行/検索の +ファイルについての読取り、書込み、実行/検索の 各パーミッションは、次の場合にプロセスに認可されます。 .Pp プロセスの実効ユーザ ID がスーパーユーザである場合 (注: スーパーユーザであっても、実行可能でないファイルを実行する ことはできません)。 .Pp プロセスの実効ユーザ ID がファイルの所有者のユーザ ID に一致し、所有者のパーミッションがアクセスを許可している場合。 .Pp プロセスの実効ユーザ ID がファイルの所有者のユーザ ID と一致せずに、プロセスの実効グループ ID がファイルのグループ ID と一致するかまたはファイルのグループ ID がプロセスの グループアクセスリスト内にあるかのどちらかであり、 グループパーミッションがアクセスを許容している場合。 .Pp プロセスの実効ユーザ ID も実効グループ ID もグループアクセスリストも、 ファイルの対応するユーザ ID およびグループ ID と 一致しないが、``その他のユーザ'' のパーミッションが アクセスを許容する場合。 .Pp 上記のいずれにも該当しない場合、パーミッションは拒絶されます。 .It "ソケットとアドレスファミリ (Sockets and Address Families)" -.Pp ソケットはプロセス間の通信の端点です。 各ソケットには、データ送信用および受信用の待ち行列があります。 .Pp ソケットには、通信の性質によったタイプがあります。 これらの性質には、ソケットで送受信されるメッセージに 相手の名前が必要かどうか、通信に信頼性があるかどうか、 メッセージ受信者を名付ける際に使用される形式などが含まれます。 .Pp 実際のシステムはそれぞれ、いくつかのソケット タイプの集合をサポートしています。 利用できるタイプおよびそれらのプロパティの詳細については、 .Xr socket 2 を参照してください。 .Pp 実際のシステムはそれぞれ、いくつかの通信プロトコルの集合を サポートしています。プロトコルの集合はそれぞれある特定の形式の アドレスをサポートします。アドレスファミリは、 あるプロトコルのグループに対応するアドレスの集合です。 ソケットはそれぞれ、ソケットが作成されたアドレス ファミリから選択したアドレスを持ちます。 +.El .Sh 関連項目 .Xr intro 3 , .Xr perror 3 -.\" Amended by N.Kumagai 2000-3-18 diff --git a/ja_JP.eucJP/man/man2/madvise.2 b/ja_JP.eucJP/man/man2/madvise.2 index 582692e009..8379fa8a08 100644 --- a/ja_JP.eucJP/man/man2/madvise.2 +++ b/ja_JP.eucJP/man/man2/madvise.2 @@ -1,120 +1,176 @@ .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)madvise.2 8.1 (Berkeley) 6/9/93 -.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.14.2.1 1999/08/29 14:49:11 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.17.2.2 2000/12/12 09:55:46 ru Exp % +.\" WORD: revert 書き戻す(dirty なページをファイルシステムに書き込む)[madvise.2] +.\" WORD: physically backing store 物理的バッキングストア(仮想記憶の裏にあるディスク領域、swap やファイルシステム?!) .\" -.Dd Jul 19, 1996 +.Dd July 19, 1996 .Dt MADVISE 2 .Os .Sh 名称 .Nm madvise .Nd メモリの使用法について助言を与える +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn madvise "void *addr" "size_t len" "int behav" .Sh 解説 .Fn madvise システムコールによって、自身のメモリ利用の習性の知識があるプロセスは、それを システムに説明できます。 +これまで知られている習性は、 .Aq Pa sys/mman.h -で定義される既知の習性は次のとおりです。 +で定義されており、次のとおりです。 +.\" 6 から訳追加 .Bd -literal #define MADV_NORMAL 0 /* これ以降、特殊な処理は必要ない */ #define MADV_RANDOM 1 /* ランダムなページ参照が予測される */ #define MADV_SEQUENTIAL 2 /* シーケンシャルな参照が予測される */ #define MADV_WILLNEED 3 /* これらのページを必要とする */ #define MADV_DONTNEED 4 /* これらのページを必要としない */ #define MADV_FREE 5 /* データは今や重要ではない */ +#define MADV_NOSYNC 6 /* 明示的に物理的バッキングストアがコミットされない場合 */ +#define MADV_AUTOSYNC 7 /* デフォルトは物理的バッキングストアにコミットされる */ +#define MADV_NOCORE 8 /* コアファイルにページを含まないこと */ +#define MADV_CORE 9 /* コアファイルにページを復帰させる */ .Ed .Pp .Bl -tag -width MADV_SEQUENTIAL .It Dv MADV_NORMAL デフォルトのページング動作に戻るようにシステムに指示します。 .It Dv MADV_RANDOM ページがランダムにアクセスされ、プリフェッチが有利ではないと考えられるという ヒントです。 .It Dv MADV_SEQUENTIAL 指定のページがフォルトで読み込まれたとき、そのページの直前のページの 優先順位を VM システムが下げるようにします。 .It Dv MADV_WILLNEED 指定の仮想アドレス範囲内にあるページが一時的に高い優先順位を持つようにし、 それらがメモリ内にある場合、解放される可能性を減少させます。 さらに既にメモリ内に あるページはただちにプロセスにマップされ、それによって プロセス全体にわたるフォルトによる読み込みによる 不要なオーバーヘッドを除去します。 -これはフォルトによるページのバッキングストアからの読み込みを起こさず、 -メモリ内に既にあるページを呼び出し側のプロセスに素早くマップします。 +これは、フォルトによるページのバッキングストアからの読み込み +を生じさせるのではなく、 +メモリ内に既にあるページを呼び出し側のプロセスに素早くマップさせます。 .It Dv MADV_DONTNEED VM システムに、指定の範囲内のページのメモリ内優先順位の減少を許可します。 -さらに、このアドレス範囲への将来の参照はページフォルトを発生させるでしょう。 +今後、このアドレス範囲への参照はページフォルトを発生させるでしょう。 .It Dv MADV_FREE VM システムにページを解放する自由を与え、指定ページ範囲内の情報がもはや 重要でないことをシステムに通知します。これは、アドレス空間を有効にしたままで .Xr malloc 3 がアドレス空間内の任意の位置のページを解放できるようにする効率的な方法です。 ページが次に参照される時には、そのページは要求時ゼロクリアの対象に なっている可能性もありますし、または .Dv MADV_FREE 呼び出しの前にそこにあったデータが残っているかもしれません。 ページが再び修正されるまで、そのアドレス空間範囲に対する参照だけでは、 VM システムはバッキングストアから情報をページに読み込む動作を行わなくなります。 +.\" 訳追加 +.It Dv MADV_NOSYNC +このマップに関連づけられているデータを +物理的バッキングストアにフラッシュしないようにシステムに要求します。 +通常、これにより、ファイルシステムアップデートデーモンが +VM システムが汚したページを特に理由もないのに +物理ディスクに書込む不要な動作を防止します。 +VM とファイルシステムの一貫性は常に維持されることに注意して +下さい。 +この機能は、 +マップされたデータが必要なときだけ、 +(通常、システムページャにより)フラッシュされることを +保証しているに過ぎません。 +.Pp +この機能を使用する典型的な場合とは、 +ファイルを裏に持つ共有メモリ領域をプロセス (IPC) 間通信で使いたいとき、 +とくに、その領域に格納されるデータを物理的ディスクに書き込む必要が +ない場合です。 +この機能は、 +SysV 共有メモリ呼び出しで得られる mmap 性能と +同等の性能を与えてくれますし、かつ、 +SysV 共有メモリ呼び出しを使うより、きめ細かい制御が可能で +より制約が少ない方法でもあります。 +しかしこの機能は UNIX プラットホーム間で +移植性がないことに注意してください +(いくつかのプラットホームではデフォルトで +正しく振る舞うかも知れませんが)。 +詳しい情報に関しては、 +.Xr mmap 2 +の +MAP_NOSYNC セクションを参照してください。 +.It Dv MADV_AUTOSYNC +将来、アドレス範囲内のページが汚された場合のために +MADV_NOSYNC の効果を元に戻します。 +既に汚されているページについての効果は不定です。 +書き戻しするかもしれませんし、しないかもしれません。 +書き戻しを確実に行なうには、 +.Xr msync 2 +または +.Xr fsync 2 +システムコールを使用します。 +.It Dv MADV_NOCORE +領域は、コアファイルに含まれません。 +.It Dv MADV_CORE +コアファイルの領域を含みます。 .El .Sh 戻り値 正常に完了すると .Fn madvise は 0 を返します。そうでない場合は値 -1 を 返し、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn madvise 関数は次の場合に失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa addr 引数と .Fa len 引数で指定された仮想アドレス範囲が有効ではありません。 .El .Sh 関連項目 .Xr mincore 2 , .Xr mprotect 2 , .Xr msync 2 , -.Xr munmap 2 . +.Xr munmap 2 .Sh 歴史 .Fn madvise 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/mincore.2 b/ja_JP.eucJP/man/man2/mincore.2 index 6a1ae751ec..cc9aab9ad3 100644 --- a/ja_JP.eucJP/man/man2/mincore.2 +++ b/ja_JP.eucJP/man/man2/mincore.2 @@ -1,82 +1,84 @@ .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mincore.2 8.1 (Berkeley) 6/9/93 -.\" %FreeBSD: src/lib/libc/sys/mincore.2,v 1.12.2.1 1999/08/29 14:49:11 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/mincore.2,v 1.13.2.2 2000/08/23 00:48:01 jhb Exp % .\" .Dd June 9, 1993 .Dt MINCORE 2 .Os .Sh 名称 .Nm mincore -.Nd メモリの使用法について助言を得る +.Nd メモリの使用状況について報告を得る +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn mincore "const void *addr" "size_t len" "char *vec" .Sh 解説 .Fn mincore システムコールによって、プロセスは、ページがコアに存在しているかどうかに ついての情報を得られます。 ページが現時点でコアに常駐しているかどうかが文字配列 .Fa vec 内に返され、値 1 はページがコア内にあるという意味です。 .Sh 戻り値 処理が正常に完了すると .Fn mincore は値 0 を返し、 .Fa vec -はページの状態を反映するように更新 -されます。そうでない場合は -1 が返され、エラーを示すために +はページの状態を反映するように更新されます。 +そうでない場合は -1 を返し、エラーを示すために .Va errno が設定されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EINVAL .Fa addr 引数と .Fa len 引数によって指定された仮想アドレス範囲が有効ではありません。 .It Bq Er EFAULT .Fa vec 引数が正しくないアドレスを指しています。 .El .Sh 関連項目 .Xr madvise 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munmap 2 .Sh 歴史 .Fn mincore 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/minherit.2 b/ja_JP.eucJP/man/man2/minherit.2 index c77e1a0b25..3ef7ce657f 100644 --- a/ja_JP.eucJP/man/man2/minherit.2 +++ b/ja_JP.eucJP/man/man2/minherit.2 @@ -1,92 +1,93 @@ -.\" %FreeBSD: src/lib/libc/sys/minherit.2,v 1.5.2.1 1999/08/29 14:49:12 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/minherit.2,v 1.7.2.2 2000/12/12 09:55:46 ru Exp % .\" .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)minherit.2 8.1 (Berkeley) 6/9/93 .\" -.Dd Feb 17, 1996 +.Dd February 17, 1996 .Dt MINHERIT 2 .Os .Sh 名称 .Nm minherit .Nd ページの継承を制御する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn minherit "void *addr" "size_t len" "int inherit" .Sh 解説 .Fn minherit システムコールは、指定のページが継承の際の特性として .Fa inherit を持つように変更します。 -すべての場合において、継承の際の特性がページ単位で設定できることが +すべての実装において、継承の際の特性がページ単位で設定できることが 保証されるているわけではありません。 変更の単位はリージョン全体かもしれません。 .Sh 戻り値 正常に完了すると .Fn minherit は 0 を返します。そうでない場合は 値 -1 が返され、 エラーを示すように .Va errno が設定されます。 .Sh エラー .Fn minherit 関数は次の場合に処理を失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa addr 引数と .Fa len 引数によって指定される仮想アドレス範囲が有効ではありません。 -.It Bq Er EACESS +.It Bq Er EACCES .Fa inherit 引数によって指定されるフラグが、 .Fa addr 引数と .Fa len -引数によって指定された -ページに対して適切ではありませんでした。 +引数によって指定されたページに対して適切ではありませんでした。 .El .Sh 関連項目 .Xr fork 2 , .Xr madvise 2 , .Xr mincore 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munmap 2 , .Xr rfork 2 .Sh 歴史 .Fn minherit 関数は OpenBSD ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/mkdir.2 b/ja_JP.eucJP/man/man2/mkdir.2 index cf6bf02a3c..0860d33419 100644 --- a/ja_JP.eucJP/man/man2/mkdir.2 +++ b/ja_JP.eucJP/man/man2/mkdir.2 @@ -1,111 +1,113 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mkdir.2 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/lib/libc/sys/mkdir.2,v 1.7.2.2 1999/08/29 14:49:12 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/mkdir.2,v 1.9.2.2 2000/05/06 13:34:14 phantom Exp % .\" .Dd December 11, 1993 .Dt MKDIR 2 .Os BSD 4.2 .Sh 名称 .Nm mkdir .Nd ディレクトリファイルを作成する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn mkdir "const char *path" "mode_t mode" .Sh 解説 ディレクトリ .Fa path が、 .Fa mode による指定に呼び出しプロセスの .Xr umask 2 で制約を加えたアクセス許可で作成されます。 .Pp ディレクトリの所有者 ID は、プロセスの実効ユーザ ID に設定されます。 ディレクトリのグループ ID は、そのディレクトリが作成された親ディレクトリの グループ ID に設定されます。 .Sh 戻り値 戻り値 0 は処理が正常に完了したことを示します。 戻り値 -1 はエラーを示し、エラーコードは .Va errno に保存されます。 .Sh エラー .Fn mkdir は次の場合、処理に失敗してディレクトリは作成されません。 -.Bl -tag -width ENAMETOOLO +.Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT -前置パス名の構成要素が存在しません。 +パスの構成要素が存在しません。 .It Bq Er EACCES -前置パス名の構成要素について検索許可が拒否されています。 +指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EEXIST -指定のファイルが存在します。 +指定のファイルがすでに存在します。 .It Bq Er ENOSPC -新しいディレクトリが作成できません。そのディレクトリを作る空間が -ファイルシステム上に残っていません。 +新しいディレクトリが作成できません。 +そのディレクトリを作る容量がファイルシステムに残っていません。 .It Bq Er ENOSPC ディレクトリを作成するファイルシステム上に未使用の -inode がありません。 +i ノードがありません。 .It Bq Er EDQUOT 新しいディレクトリが作成できません。ディレクトリを作るファイルシステム上の ディスクブロックのユーザのクォータが枯渇しました。 .It Bq Er EDQUOT -ディレクトリを作成中のファイルシステム上のユーザの inode のクォータが +ディレクトリを作成中のファイルシステム上のユーザの i ノードのクォータが 枯渇しました。 .It Bq Er EIO -ディレクトリエントリの作成中、または inode を割当て中に入出力エラーが +ディレクトリエントリの作成中、あるいは i ノードを割り当て中に入出力エラーが 発生しました。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr chmod 2 , .Xr stat 2 , .Xr umask 2 .Sh 規格 .Fn mkdir 関数は .St -p1003.1-90 に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/mkfifo.2 b/ja_JP.eucJP/man/man2/mkfifo.2 index f99cb98434..59d3047fda 100644 --- a/ja_JP.eucJP/man/man2/mkfifo.2 +++ b/ja_JP.eucJP/man/man2/mkfifo.2 @@ -1,118 +1,120 @@ .\" Copyright (c) 1990, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mkfifo.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/mkfifo.2,v 1.7.2.2 1999/08/29 14:49:13 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/mkfifo.2,v 1.9.2.3 2000/12/08 13:49:31 ru Exp % .\" .Dd June 4, 1993 .Dt MKFIFO 2 .Os .Sh 名称 .Nm mkfifo .Nd fifo ファイルを作成する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn mkfifo "const char *path" "mode_t mode" .Sh 解説 .Fn mkfifo は、 .Fa path という名前の新しい fifo ファイルを作成します。アクセス許可は .Fa mode によって指定され、呼び出しプロセスの .Xr umask 2 の制約を受けます。 .Pp fifo の所有者 ID は、プロセスの実効ユーザ ID に設定されます。 fifo のグループ ID は、それが作成される親ディレクトリの ID に設定されます。 .Sh 戻り値 戻り値 0 は正常に完了したことを示します。戻り値 -1 はエラーを示し、 エラーコードは .Va errno に保存されます。 .Sh エラー .Fn mkfifo は、次の場合に処理を失敗し、fifo は作成されません。 -.Bl -tag -width ENAMETOOLO -.It Bq Er ENOTSUPP +.Bl -tag -width Er +.It Bq Er ENOTSUP カーネルが fifo をサポートするように構成されていません。 .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT -前置パス名の構成要素が存在しません。 +パスの構成要素が存在しません。 .It Bq Er EACCES -前置パス名の構成要素について検索許可が拒否されています。 +指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EEXIST -指定のファイルが存在します。 +指定のファイルがすでに存在します。 .It Bq Er ENOSPC 新しい fifo 用のエントリを配置するディレクトリが拡張できません。 -ディレクトリが入っているファイルシステム上に空間が残っていません。 +ディレクトリが入っているファイルシステムに空き容量が残っていません。 .It Bq Er ENOSPC -fifo を作成するファイルシステム上に未使用の inode がありません。 +fifo を作成するファイルシステム上に未使用の i ノードがありません。 .It Bq Er EDQUOT 新しい fifo 用のエントリを配置するディレクトリが拡張できません。 ディレクトリが入っているファイルシステム上のディスクブロックのユーザの クォータが枯渇しました。 .It Bq Er EDQUOT -fifo を作成中のファイルシステム上のユーザの inode のクォータが +fifo を作成中のファイルシステム上のユーザの i ノードのクォータが 枯渇しました。 .It Bq Er EIO -ディレクトリエントリの作成中、または inode を割当て中に +ディレクトリエントリの作成中、あるいは i ノードを割り当て中に .Tn I/O (入出力) エラーが発生しました。 .It Bq Er EIO -ファイルシステムに読み書きしている間に入出力エラーが発生しました。 +ファイルシステムに読み書きしている間に .Tn I/O (入出力) エラーが発生しました。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr chmod 2 , -.Xr mknod 2 , +.Xr mknod 2 , .Xr stat 2 , .Xr umask 2 .Sh 規格 .Fn mkfifo 関数は .St -p1003.1-90 に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/mknod.2 b/ja_JP.eucJP/man/man2/mknod.2 index abc5739bc6..b18d4bb6aa 100644 --- a/ja_JP.eucJP/man/man2/mknod.2 +++ b/ja_JP.eucJP/man/man2/mknod.2 @@ -1,122 +1,124 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mknod.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/mknod.2,v 1.5.2.3 1999/08/29 14:49:14 peter Exp % +.\" $FreeBSD: src/lib/libc/sys/mknod.2,v 1.9.2.1 2000/04/22 17:06:59 phantom Exp .\" .Dd June 4, 1993 .Dt MKNOD 2 .Os BSD 4 .Sh 名称 .Nm mknod .Nd 特殊なファイルノードを作成する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn mknod "const char *path" "mode_t mode" "dev_t dev" .Sh 解説 ファイルシステムノード .Fa path が、 .Fa mode で指定されたファイルタイプとアクセス許可で 作成されます。アクセス許可はプロセスの umask 値による修正を受けます。 .Pp .Fa mode がブロックまたはキャラクタ型特殊ファイルを示す場合、 .Fa dev はシステム上の特定のデバイスを示す 構成に依存する指示です。そうでない場合 .Fa dev は無視されます。 .Pp .Fn mknod にはスーパユーザ権限が必要です。 .Sh 戻り値 処理が正常に完了すると値 0 が返されます。そうでない場合は 値 -1 が返され、 エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn mknod は次の場合に処理に失敗し、ファイルは作成されません。 .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT -前置パス名の構成要素が存在しません。 +パスの構成要素が存在しません。 .It Bq Er EACCES -前置パス名の構成要素について検索許可が拒否されています。 +指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EPERM プロセスの実効ユーザ ID がスーパユーザではありません。 .It Bq Er EIO -ディレクトリエントリの作成中、または inode を割当て中に +ディレクトリエントリの作成中、あるいは i ノードを割り当て中に 入出力エラーが発生しました。 .It Bq Er ENOSPC 新しいノード用のエントリを配置するディレクトリが拡張できません。 -ディレクトリが入っているファイルシステム上に空間が残っていません。 +ディレクトリが入っているファイルシステム上に空き容量が残っていません。 .It Bq Er ENOSPC -ノードを作成するファイルシステム上に未使用の inode がありません。 +ノードを作成するファイルシステム上に未使用の i ノードがありません。 .It Bq Er EDQUOT 新しいノードのエントリを配置するディレクトリが拡張できません。 ディレクトリが入っているファイルシステム上のディスクブロックのユーザの クォータが枯渇しました。 .It Bq Er EDQUOT -ノードを作成中のファイルシステム上の inode のユーザのクォータが +ノードを作成中のファイルシステム上の i ノードのユーザのクォータが 枯渇しました。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EEXIST -指定のファイルが存在しています。 +指定のファイルがすでに存在しています。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL ブロックまたはキャラクタ型特殊ファイル (または .Em whiteout ) 以外の作成は行われません。 .El .Sh 関連項目 .Xr chmod 2 , .Xr mkfifo 2 , .Xr stat 2 , .Xr umask 2 .Sh 歴史 .Fn mknod 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/mlock.2 b/ja_JP.eucJP/man/man2/mlock.2 index 15b0f70071..ae5b2eaa3b 100644 --- a/ja_JP.eucJP/man/man2/mlock.2 +++ b/ja_JP.eucJP/man/man2/mlock.2 @@ -1,169 +1,170 @@ .\" Copyright (c) 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mlock.2 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/lib/libc/sys/mlock.2,v 1.4.2.2 1999/08/29 14:49:15 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/mlock.2,v 1.6.2.2 2000/08/23 00:49:04 jhb Exp % .\" .Dd June 2, 1993 .Dt MLOCK 2 .Os .Sh 名称 .Nm mlock , .Nm munlock .Nd 物理ページをメモリ内でロック (アンロック) する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn mlock "const void *addr" "size_t len" .Ft int .Fn munlock "const void *addr" "size_t len" .Sh 解説 .Fn mlock システムコールは、 .Fa addr から開始する .Fa len バイトの仮想アドレス範囲に対応する物理ページを メモリにロックします。 .Fn munlock 呼び出しは、1 つ以上の .Fn mlock 呼び出しによってロックされていた ページをアンロックします。これらの両方において、 .Fa addr パラメータはページサイズの整数倍でなければいけません。 .Fa len パラメータがページサイズの整数倍でない場合、切り上げられます。 範囲全体が確保されている必要があります。 .Pp .Fn mlock 呼び出しの後、指示されたページは、アンロックされるまで -非常駐ページフォルともアドレス変換フォルトも起こしません。 +非常駐ページフォルトもアドレス変換フォルトも起こしません。 しかし、TLB の管理をソフトウェアで実装しているアーキテクチャでは、 -保護違反フォルト -または TLB ミスフォルトを起こす可能性はあります。 -ページに関するすべてのロックされたマッピングが削除 -されるまで物理ページはメモリに留まります。複数のプロセスが、 +保護違反フォルト、または TLB ミスフォルトを起こす可能性はあります。 +ページに関するすべてのロックされたマッピングが削除されるまで +物理ページはメモリに留まります。複数のプロセスが、 それぞれの仮想アドレスマッピングから同じ物理ページをロックする 可能性があります。同様に、1 つのプロセスが 同じページに対する異なる複数の仮想マッピングによって、 または同じアドレス範囲へのネストした .Fn mlock 呼び出しによって、ページを多重にロックする 可能性があります。アンロックは、 .Fn munlock によって明示的に、または .Fn munmap によって暗黙的に行われます。 .Fn munmap はマップされていないアドレス範囲の割り当てを解除します。 ロックされたマッピングは .Xr fork 2 による子プロセスには継承されません。 .Pp 物理メモリは潜在的に乏しいリソースなので、プロセスは どのくらいロックできるかの制限を受けます。 1 つのプロセスは、システム全体に共通の ``固定されたぺージ'' 限界、 またはプロセスごとの .Li RLIMIT_MEMLOCK リソース限界のいずれか小さい方の値まで .Fn mlock できます。 .Pp これらの呼び出しが利用できるのはスーパユーザだけです。 .Sh 戻り値 戻り値 0 は呼び出しが完了し、範囲内のすべてのページがロック、 -またはアンロックされてたことを示します。戻り値 -1 はエラーが起きて、 +またはアンロックされたことを示します。戻り値 -1 はエラーが起きて、 そして範囲内のすべてのページのロックされた ステータスが変更されないことを示します。この場合、エラーを示すために -グローバル位置 +グローバル変数 .Va errno が設定されます。 .Sh エラー .Fn mlock は次の場合に処理を失敗します。 .Bl -tag -width Er .It Bq Er EPERM 呼び出し側がスーパユーザではありません。 .It Bq Er EINVAL 指定されたアドレスがページ境界に整列されていないか、または長さが負です。 .It Bq Er EAGAIN 指示された範囲のロックによって、ロックされたメモリについての システム限界またはプロセスごとの限界を超過してしまいます。 .It Bq Er ENOMEM -指示されたアドレス範囲の一部が割当てられていません。 -ページのフォルト/マッピングでエラーがありました。 +指示されたアドレス範囲の一部が割り当てられていません。 +ページのフォルト / マッピングでエラーがありました。 .El .Fn munlock は次の場合に失敗します。 .Bl -tag -width Er .It Bq Er EPERM 呼び出し側がスーパユーザではありません。 .It Bq Er EINVAL 指定されたアドレスがページ境界に整列していないか、または長さが負です。 .It Bq Er ENOMEM -指示されたアドレス範囲の一部が割当てられていません。 +指示されたアドレス範囲の一部が割り当てられていません。 指示されたアドレス範囲の一部がロックされていません。 .El .Sh 関連項目 .Xr fork 2 , .Xr mincore 2 , .Xr minherit 2 , .Xr mmap 2 , .Xr munmap 2 , .Xr setrlimit 2 , .Xr getpagesize 3 .Sh バグ Sun の実装と異なり、同じアドレス範囲に関する複数の .Fn mlock 呼び出しに対して、実際にページをアンロック するために対応する数の .Fn munlock 呼び出しが必要です。つまり .Fn mlock -のネストです。これは実装上の結果 -であって仕様ではないと考える必要があります。 +のネストです。これは実装上の結果であって +仕様ではないと考える必要があります。 .Pp プロセスごとのリソースの限界はロックされた仮想メモリの量への制限で、 システム全体に共通の制限はロックされた物理ページの数についてのものです。 このように、2 つの別々のマッピングから同じ物理ページを ロックするとプロセスごとの制限に対しては 2 ページとしてカウントされ、 システム制限では 1 ページだけとしてカウントされます。 - +.Pp プロセスごとのリソース制限は現時点ではサポートされていません。 .Sh 歴史 .Fn mlock 関数と .Fn munlock 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/mmap.2 b/ja_JP.eucJP/man/man2/mmap.2 index 764fb3023b..22019bbb23 100644 --- a/ja_JP.eucJP/man/man2/mmap.2 +++ b/ja_JP.eucJP/man/man2/mmap.2 @@ -1,253 +1,290 @@ .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 +.\" %FreeBSD: src/lib/libc/sys/mmap.2,v 1.22.2.5 2000/12/29 14:44:52 ru Exp % .\" .Dd May 11, 1995 .Dt MMAP 2 .Os BSD 4 .Sh 名称 .Nm mmap .Nd ファイルまたはデバイスをメモリにマップする +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft void * .Fn mmap "void * addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset" .Sh 解説 .Fn mmap 関数は、 .Fa addr を始点として最大で .Fa len バイトの連続するページに、 .Fa fd によって記述されるオブジェクトの バイトオフセット .Fa offset の位置からマップされるようにします。 .Fa len がページサイズの倍数でない場合、 マップされた領域は指定の範囲を越えて拡張されるかもしれません。 -このような拡張によってマップされたオブジェクトの末端を越えた -部分は 0 で埋められます。 +このような拡張によってマップされたオブジェクトの末端を越えた部分は +0 で埋められます。 .Pp .Fa addr が 0 でない場合、これはシステムへのヒントとして使用されます (システムの便宜のために、領域の実際のアドレスは 指定されたアドレスとは違う可能性があります)。 .Fa addr が 0 の場合、アドレスはシステムによって選択されます。 領域の実際の開始アドレスが返されます。 .Fa mmap が処理に成功すると、確保されたアドレス範囲の以前のマッピングは 削除されます。 .Pp 保護 (領域へのアクセス許可) は .Fa prot 引数で、以下の値の論理和 .\".Em or Ns 'ing .Em ( or ) を取った値で指定します。 .Pp .Bl -tag -width MAP_FIXEDX .It Dv PROT_EXEC ページは実行できます。 .It Dv PROT_READ ページは読取りできます。 .It Dv PROT_WRITE ページは書込みできます。 .El .Pp .Fa flags パラメータは、マップされたオブジェクトのタイプ、マッピングオプション、 およびマップされたページのコピーに対して行なわれた修正が、プロセスに 固有であるかまたは他からの参照と共有されるかを指定します。 共有、マッピングタイプ、およびオプションは、以下の値の論理和 .\".Em or Ns 'ing .Em ( or ) を取った値で .Fa flags 引数に指定します。 .Pp .Bl -tag -width MAP_FIXEDX .It Dv MAP_ANON どの特定のファイルとも対応していない匿名メモリをマップします。 .Dv MAP_ANON を作成するのに使用される ファイル記述子は \-1 である必要があります。 .Fa offset パラメータは無視されます。 .\".It Dv MAP_FILE .\"Mapped from a regular file or character-special device memory. .It Dv MAP_FIXED システムが、指定されたアドレスと異なるアドレスを選択することを許容しません。 指定されたアドレスが使用できない場合、 .Fn mmap は処理に失敗します。MAP_FIXED が指定されている場合、 .Fa addr はページサイズの倍数である必要があります。 このオプションの使用はお勧めできません。 .It Dv MAP_HASSEMAPHORE 領域にセマフォが含まれている可能性があること、特殊な処理が必要な可能性が あることをカーネルに通知します。 .It Dv MAP_INHERIT .Xr execve 2 システムコールを通じて領域が継承できるようにします。 .It Dv MAP_PRIVATE 修正は固有になります。 .It Dv MAP_SHARED 修正は共有されます。 .It Dv MAP_STACK このオプションが利用できるのは、システムのカーネルをコンパイルするときに VM_STACK を定義してコンパイルした場合だけです。 これは i386 についてだけデフォルトです。他のアーキテクチャで このオプションを有効にしたい場合は、/etc/make.conf 内で -DVM_STACK を COPTFLAGS に追加する方法を検討してください。 MAP_STACK は MAP_ANON および 0 の .Fa offset 指定を含みます。 .Fa fd は -1 でなければならず、 .Fa prot には少なくとも PROT_READ と PROT_WRITE が入っている必要があります。 このオプションは、スタックの 先頭を開始点とし下方に伸びる、サイズが最大で .Fa len -バイトまで伸びるメモリ領域を作成します。スタックの -先頭は、呼び出しから返された開始アドレスに +バイトまで伸びるメモリ領域を作成します。 +.It Dv MAP_NOSYNC +はこの VM マップを経由して汚されたデータを、無闇にではなく +(通常はページャによって) 必要な時のみ物理的なメディアに +フラッシュするようにします。 +このオプションがないと、汚された VM ページは頻繁 (通常 30-60 秒毎) に +ディスクにフラッシュされるかも知れず、そのような動作を必要としない場合 +(例えば IPC のためにファイルを用いた共有 mmap 領域を用いている場合) +パフォーマンスに問題が出ることがあります。 +MAP_NOSYNC を使っているかにかかわらず、 +VM/ ファイルシステムの一貫性は保たれることに注意してください。 +このオプションは UNIX プラットフォーム間で (まだ) 移植性はありませんが、 +いくつかのプラットフォームではデフォルトで同じ動作をするように +実装されているかも知れません。 +.Pp +.Xr fsync2 +関数はすべての汚染されたデータと、ファイルに関連づけられたメタデータを +フラッシュします。NOSYNC の汚れた VM データ物理的媒体にフラッシュします。 +.Xr sync 8 +コマンドと +.Xr sync2 +システムコールは、汚染された NOSYNC VM のデータを通常フラッシュしません。 +.Xr msync 2 +システムコールは +.Bx +で整合性のあるファイルシステムのバッファキャッシュが実装されたので +廃止されました。しかしながら、汚れた VM ページとファイルシステムを +結びつけ、物理的媒体にすぐに(後程ではなく)フラッシュさせる用途に +使われることもあります。 +.It Dv MAP_NOCORE +領域はコアファイルには含まれません。 +.Pp +スタックの先頭は、呼び出しから返された開始アドレスに .Fa len バイトを加えたものになります。最も伸びた場合のスタックの下端は、 呼び出しによって返される開始アドレスになります。 .El .Pp .Xr close 2 関数はページをアンマップしません。詳細については .Xr munmap 2 を参照してください。 .Pp 現在の設計ではプロセスはスワップ空間の位置を指定できません。 将来は、追加のマッピングタイプ .Dv MAP_SWAP を定義するかもしれません。この場合、ファイル記述子引数には スワップを行なうべきファイルまたはデバイスを指定します。 .Sh 戻り値 正常に完了すると、 .Fn mmap は、マップされた領域を指すポインタを返します。そうでない場合は 値 MAP_FAILED が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn mmap は次の場合に失敗します。 .Bl -tag -width Er .It Bq Er EACCES フラグ .Dv PROT_READ が .Fa prot -パラメータの一部として指定され、 +パラメータの一部として指定されましたが、 .Fa fd -が読取り用に開いていませんでした。フラグ +が読取り用に開かれていませんでした。 +フラグ .Dv MAP_SHARED と .Dv PROT_WRITE が .Fa flags と .Fa prot -パラメータの一部として指定され、 +パラメータの一部として指定されましたが、 .Fa fd -は書込み用に開いていませんでした。 +は書込み用に開かれていませんでした。 .It Bq Er EBADF .Fa fd が有効な開かれたファイルの記述子ではありません。 .It Bq Er EINVAL .Dv MAP_FIXED が指定されて .Fa addr パラメータがページ境界に整列されていないか、または指定の アドレスの一部がユーザプロセスの有効なアドレス空間の外になります。 .It Bq Er EINVAL .Fa len が負でした。 .It Bq Er EINVAL .Dv MAP_ANON が指定されて .Fa fd パラメータが -1 ではありませんでした。 .It Bq Er EINVAL .Dv MAP_ANON が指定されておらず、 .Fa fd が通常のファイルまたはキャラクタ型特殊ファイルを参照していませんでした。 .It Bq Er EINVAL .Fa offset -がページ境界に整列していませんでした (後述する「バグ」を参照)。 +がページ境界に整列していませんでした (後述する「バグの章」を参照)。 .It Bq Er ENOMEM .Dv MAP_FIXED が指定されて .Fa addr -パラメータが与えられませんでした。 +パラメータが与えられない、もしくは vm.nax_proc_mmap で指定された +プロセス毎の mmap に達しました。 .Dv MAP_ANON が指定されて利用できるメモリが不充分でした。 .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr mlock 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munlock 2 , .Xr munmap 2 , .Xr getpagesize 3 .Sh バグ -.Ar len -は 2GB に限定されます。2GB をわずかに上回るマッピングは機能しませんが、2GB、 -4GB、6GB、および 8GB よりわずかに少ないファイルサイズについて +.Fa len +は 2GB に限定されます。2GB をわずかに上回るマッピングは機能しませんが、 +2GB, 4GB, 6GB, および 8GB よりわずかに少ないファイルサイズについて (ファイルサイズ % 2GB) のサイズのウィンドウをマップできます。 .Pp -制約は多彩なな理由から生じています。そのほとんどは、極端に性能が低下するために -.Tn FreeBSD -の VM システム内で64 ビットのオフセットを使用したくないというものです。 +制約は多彩な理由から生じています。 +そのほとんどは、 +.Fx +の VM システム内で 64 ビットのオフセットを使用したくないというものです。 したがって -.Tn FreeBSD +.Fx は 32 ビットのページインデックスを使用しており、これによって -.Tn FreeBSD +.Fx では最高で 8TB までのファイルサイズを利用できます。実際には ファイルシステムコード内のバグによってさらに制約が課されて、 1TB までが利用できます。 (ブロック番号計算を行なっているときの桁落ち)。 .Pp -2GB 制限のもう一つの理由は、ファイルシステムメタデータが負のオフセットに +2GB 制限のもうひとつの理由は、ファイルシステムメタデータが負のオフセットに 存在できるということです。 .Pp 現在われわれはページ境界に整列したファイルオフセットのみを処理できます。 diff --git a/ja_JP.eucJP/man/man2/mount.2 b/ja_JP.eucJP/man/man2/mount.2 index 72c326812e..6afa9acc79 100644 --- a/ja_JP.eucJP/man/man2/mount.2 +++ b/ja_JP.eucJP/man/man2/mount.2 @@ -1,309 +1,311 @@ .\" Copyright (c) 1980, 1989, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mount.2 8.3 (Berkeley) 5/24/95 +.\" $FreeBSD: src/lib/libc/sys/mount.2,v 1.20.2.3 2000/12/08 13:49:32 ru Exp .\" .Dd May 24, 1995 .Dt MOUNT 2 .Os BSD 4 .Sh 名称 .Nm mount , .Nm unmount .Nd ファイルシステムをマウントまたはマウント解除する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn mount "const char *type" "const char *dir" "int flags" "void *data" .Ft int .Fn unmount "const char *dir" "int flags" .Sh 解説 .Fn mount -関数は、ファイルシステムオブジェクトをシステムファイルツリーのポイント +関数は、ファイルシステムオブジェクトをシステムファイルツリーのマウントポイント .Ar dir に付けます。引数 .Ar data はマウントされるファイルシステムオブジェクトを記述します。引数 .Ar type は .Ar data をどのように解釈するかをカーネルに通知します (後述の .Ar type を参照)。ファイルシステムの内容は、 新しいマウントポイント .Ar dir を通して利用できるようになります。マウントが成功すると .Ar dir -にあるどのファイルも覆い隠された状態になり、 +にあるすべてのファイルが覆い隠された状態になり、 ファイルシステムがマウント解除されるまで利用できなくなります。 .Pp 次の .Ar flags は、ファイルシステムアクセスに影響のあるデフォルト値を抑制するように 指定できます。 .Bl -tag -width MNT_SYNCHRONOUS .It Dv MNT_RDONLY ファイルシステムを読取り専用として取り扱います。 スーパユーザでさえこれに書込むことはできません。このオプションなしに MNT_UPDATE を指定すると、 -読取り専用ファイルシステムが読取り/書込みにアップグレードされます。 +読取り専用ファイルシステムが読取り / 書込みにアップグレードされます。 .It Dv MNT_NOEXEC そのファイルシステムからファイルを実行できないようにします。 .It Dv MNT_NOSUID 実行するときに、ファイルについての setuid ビットまたは setgid ビットを 尊重しません。 .It Dv MNT_NOATIME ファイルアクセス時刻の更新を行いません。 .It Dv MNT_NODEV ファイルシステム上の特殊ファイルを解釈しません。 .It Dv MNT_SUIDDIR SUID ビットが設定されたディレクトリは、新しいファイルの所有者を ディレクトリと同じに設定します。 .It Dv MNT_SYNCHRONOUS ファイルシステムへの入出力はすべて同期的に行なわれます。 .It Dv MNT_ASYNC ファイルシステムへの入出力はすべて非同期的に行なわれます。 .It Dv MNT_FORCE ファイルシステムがクリーンでないように見えても、読み書き可でマウントを 強行します。危険です。 .It Dv MNT_NOCLUSTERR クラスタ読取りを無効にします。 .It Dv MNT_NOCLUSTERW クラスタ書込みを無効にします。 .El .Pp フラグ .Dv MNT_UPDATE -は、マウントコマンドが既にマウントされたファイルシステムに適用されて -いることを示します。これによって、ファイルシステムをマウント解除および -再マウントする必要なしに、マウントフラグを +は、マウントコマンドがすでにマウントされたファイルシステムに +適用されていることを示します。これによって、ファイルシステムを +マウント解除および再マウントする必要なしに、マウントフラグを 変更できます。ファイルシステムによっては、すべてのフラグの変更を -許容しない場合もあります。たとえば -多くのファイルシステムが、読み書き可から読取り専用への変更を -許容しません。 +許容しない場合もあります。たとえば多くのファイルシステムが、 +読み書き可から読取り専用への変更を許容しません。 .Pp vfs サブシステムは、フラグ .Dv MNT_RELOAD -によって既にマウントされているファイルシステムに +によってすでにマウントされているファイルシステムに 関係するデータ構造体を更新します。 .Pp .Fa type 引数でファイルシステムを指定します。システム上で既知なファイルシステムの タイプは .Xr lsvfs 1 で得ることができます。 .Pp .Fa data は、マウントするタイプに固有の引数が入った構造体を指すポインタです。 これらの引数構造体についての形式は各ファイルシステムに ついてのマニュアルページに記載されています。 慣習によりファイルシステムのマニュアルページは、 .Xr lsvfs 1 -によって返されたファイルシステム名に ``mount_' 'の接頭辞を付けて +によって返されたファイルシステム名に ``mount_'' の接頭辞を付けて 命名されます。それゆえ、 .Nm NFS ファイルシステムは .Xr mount_nfs 8 マニュアルページに記述されています。 .Pp -.Fn umount +.Fn unmount 関数呼び出しは、ファイルシステムを指定のマウントポイント .Fa dir から対応付け解除します。 .Pp .Fa flags 引数で .Dv MNT_FORCE を指定することで、ファイルがアクティブであっても、 ファイルシステムが強制的にマウント解除または 読取り専用 (MNT_UPDATE と MNT_RDONLY も指定されている場合) に される必要があることを示します。 アクティブな特殊デバイスは機能し続けますが、 他のアクティブなファイルへのそれ以降のアクセスは、 たとえファイルシステムが後に再マウントされたとしてもエラーを引き起こします。 .Pp .Dv MNT_SUIDDIR オプションを機能させるためには、SUIDDIR オプションがカーネル内に 組み込まれていることが必要です。 詳細については .Xr mount 8 ページと .Xr chmod 2 ページを参照してください。 .Sh 戻り値 .Fn mount はマウントが正常に完了すると値 0 を返します。 そうでない場合は -1 が返され、エラーを示すために変数 .Va errno が設定されます。 .Pp -.Fn umount +.Fn unmount 関数はマウント解除が正常に完了すると値 0 を返します。 そうでない場合は -1 が返され、エラーを示すために変数 .Va errno が設定されます。 .Sh エラー .Fn mount 関数は、次のうちの 1 つでも起きたときには処理を失敗します。 -.Bl -tag -width [ENOTBLK] +.Bl -tag -width Er .It Bq Er EPERM 呼び出し側がスーパユーザではありません。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENOENT .Fa dir の構成要素が存在しません。 .It Bq Er ENOTDIR .Ar name の構成要素がディレクトリでないか、または .Ar special のパスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er EBUSY 別のプロセスが現時点で .Fa dir への参照を保持しています。 .It Bq Er EFAULT .Fa dir はプロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp 次のエラーは、 .Em ufs ファイルシステムのマウントについて発生する可能性があります。 -.Bl -tag -width [ENOTBLK] +.Bl -tag -width Er .It Bq Er ENODEV ufs_args の構成要素 .Ar fspec が存在しません。 .It Bq Er ENOTBLK .Ar fspec はブロックデバイスではありません。 .It Bq Er ENXIO .Ar fspec のメジャーデバイス番号が範囲外です (これはハードウェアに 対応するデバイスドライバが存在しないことを示します)。 .It Bq Er EBUSY .Ar fspec は既にマウントされています。 .It Bq Er EMFILE マウントテーブル空間が枯渇しました。 .It Bq Er EINVAL ファイルシステムのスーパーブロックに 不都合なマジック番号または範囲外のブロックサイズがありました。 .It Bq Er ENOMEM ファイルシステムについてのシリンダーグループ情報を読取るのに十分な メモリがありませんでした。 .It Bq Er EIO スーパーブロックまたはシリンダーグループの情報を読取る間に 入出力エラーが発生しました。 .It Bq Er EFAULT .Ar fspec がプロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp 次のエラーは .Em nfs ファイルシステムマウントについて起きる可能性があります。 -.Bl -tag -width [ENOTBLK] +.Bl -tag -width Er .It Bq Er ETIMEDOUT .Em nfs がサーバと接触しようとして時間切れになりました。 .It Bq Er EFAULT nfs_args によって記述された情報の一部が、 プロセスに割り当てられたアドレス空間の範囲外を指しています .El .Pp 次のエラーは .Em mfs ファイルシステムについて起きる可能性があります。 .Bl -tag -width [ENOTBLK] .It Bq Er EMFILE マウントテーブル空間が枯渇しました。 .It Bq Er EINVAL ファイルシステムのスーパーブロックに 不都合なマジック番号または範囲外のブロックサイズがありました。 .It Bq Er ENOMEM ファイルシステムについてのシリンダーグループ情報を読取るのに十分な メモリがありませんでした。 .It Bq Er EIO スーパーブロックまたはシリンダーグループの情報を読取る間に ページングエラーが発生しました。 .It Bq Er EFAULT .Em name はプロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp -.Fn umount +.Fn unmount 関数は、次のエラーの 1 つでも起きたときには処理を失敗します。 -.Bl -tag -width [ENOTBLK] +.Bl -tag -width Er .It Bq Er EPERM 呼び出し側がスーパユーザではありません。 .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EINVAL 指定されたディレクトリがマウントテーブル内にありません。 .It Bq Er EBUSY プロセスがファイルシステム上にあるファイルへの参照を保持しています。 .It Bq Er EIO キャッシュされたファイルシステム情報を書込みしている間に 入出力エラーが起きました。 .It Bq Er EFAULT .Fa dir がプロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp .Em ufs マウントまたは .Em mfs マウントは、最大数のファイルシステムが現時点でマウントされている場合にも 処理を失敗します。 .Sh 関連項目 .Xr lsvfs 1 , .Xr mfs 8 , .Xr mount 8 , .Xr umount 8 .Sh バグ エラーコードには、明瞭なメッセージにするために変更が必要なものがあります。 .Sh 歴史 .Fn mount 関数と -.Fn umount +.Fn unmount 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/mprotect.2 b/ja_JP.eucJP/man/man2/mprotect.2 index 4e05e404f0..d7605a4418 100644 --- a/ja_JP.eucJP/man/man2/mprotect.2 +++ b/ja_JP.eucJP/man/man2/mprotect.2 @@ -1,82 +1,85 @@ .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)mprotect.2 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/sys/msync.2,v 1.16.2.2 2000/12/29 14:44:53 ru Exp % .\" .Dd June 9, 1993 .Dt MPROTECT 2 .Os .Sh 名称 .Nm mprotect .Nd ページの保護属性を制御する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn mprotect "const void *addr" "size_t len" "int prot" .Sh 解説 .Fn mprotect システムコールは指定のページが保護属性 .Fa prot を持つように変更します。すべての場合において ページ単位での保護属性を保証するわけではありません。 保護属性変更の細かさはリージョン全体と同じ大きさかもしれません。 .Sh 戻り値 処理が正常に完了すると .Fn mprotect は 0 を返します。そうでない場合は値 -1 が返され、 エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn mprotect 関数は次の場合に処理を失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa addr 引数と .Fa len 引数で指定している仮想アドレス範囲は有効ではありません。 .It Bq Er EACCES 呼び出しプロセスは .Fa prot 引数によって指定される値に保護属性を変更することを許可されていません。 .El .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr msync 2 , .Xr munmap 2 .Sh 歴史 .Fn mprotect 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/msync.2 b/ja_JP.eucJP/man/man2/msync.2 index bb635839b1..607482c912 100644 --- a/ja_JP.eucJP/man/man2/msync.2 +++ b/ja_JP.eucJP/man/man2/msync.2 @@ -1,95 +1,99 @@ .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)msync.2 8.2 (Berkeley) 6/21/94 +.\" %FreeBSD: src/lib/libc/sys/msync.2,v 1.16.2.2 2000/12/29 14:44:53 ru Exp% .\" .Dd June 21, 1994 .Dt MSYNC 2 .Os .Sh 名称 .Nm msync .Nd マップされた領域を同期化する +.Sh 関数 +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn msync "void *addr" "size_t len" "int flags" .Sh 解説 .Fn msync システムコールは、修正されたページをファイルシステムに書き込んで ファイル修正時刻を更新します。 .Fa len が 0 の場合、 .Fa addr を含むリージョン内のすべての修正済みページがフラッシュされます。 .Fa len が 0 でない場合、 .Fa addr から .Fa len-1 の範囲を含むページだけが調べられます。 .Fa flags 引数は次のように指定できます。 .Bd -literal -MS_ASYNC ただちに戻ります (現時点では実装されていません) +MS_ASYNC ただちに戻ります MS_SYNC 同期書込みを実行します MS_INVALIDATE キャッシュされたデータをすべて無効にします .Ed .Sh 戻り値 エラーが起きた場合 -1 が返され、エラーを示すために -errno が設定されます。そうでない場合は -値として 0 が返されます。 +errno が設定されます。 +そうでないときは 0 が返されます。 .Sh エラー .Fn msync は次の場合に失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa addr はハードウェアページサイズの倍数ではありません。 .It Bq Er EINVAL .Fa len が大きすぎるか、または負です。 .It Bq Er EINVAL .Fa flags に MS_ASYNC と MS_INVALIDATE の両方が指定されました。 これらのフラグは同時に指定することはできません。 .It Bq Er EIO ファイルシステムに書込む間に入出力エラーが発生しました。 +.El. .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr mprotect 2 , .Xr munmap 2 .Sh 歴史 .Fn msync 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/munmap.2 b/ja_JP.eucJP/man/man2/munmap.2 index f7394887a6..d0209674ed 100644 --- a/ja_JP.eucJP/man/man2/munmap.2 +++ b/ja_JP.eucJP/man/man2/munmap.2 @@ -1,79 +1,83 @@ .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)munmap.2 8.3 (Berkeley) 5/27/94 +.\" %FreeBSD: src/lib/libc/sys/munmap.2,v 1.10.2.2 2000/12/29 14:44:53 ru Exp % .\" .Dd May 27, 1994 .Dt MUNMAP 2 .Os .Sh 名称 .Nm munmap .Nd マッピングを除去する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn munmap "void *addr" "size_t len" .Sh 解説 .Fn munmap -システムコールは指定アドレス範囲についてマッピングを除去し、 +システムコールは指定アドレス範囲についてマッピングを除去します。 これにより、以降のこのアドレス範囲内への参照は 無効なメモリ参照を引き起こすようになります。 .Sh 戻り値 処理が正常に完了すると .Fn munmap は 0 を返します。そうでない場合は値 -1 が返され、 エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn munmap は次の場合に失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa addr パラメータがページ境界に整列していなかったか、 .Fa len パラメータが負であったか、 -またはアンマップする領域の一部がプロセスにとって有効な範囲の外側に -あります。 +またはアンマップする領域の一部が +プロセスにとって有効な範囲外にあります。 +.El .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munmap 2 , .Xr getpagesize 3 .Sh 歴史 .Fn munmap 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/nanosleep.2 b/ja_JP.eucJP/man/man2/nanosleep.2 index d12e52856e..ce24ffbe71 100644 --- a/ja_JP.eucJP/man/man2/nanosleep.2 +++ b/ja_JP.eucJP/man/man2/nanosleep.2 @@ -1,100 +1,103 @@ -.\" %FreeBSD: src/lib/libc/sys/nanosleep.2,v 1.6.2.2 1999/09/18 16:19:00 phantom Exp % +.\" %FreeBSD: src/lib/libc/sys/nanosleep.2,v 1.8.2.1 2000/04/22 17:07:00 phantom Exp % +.\" .\" $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. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)sleep.3 8.1 (Berkeley) 6/4/93 .\" .Dd April 17, 1997 .Dt NANOSLEEP 2 -.Os +.Os .Sh 名称 .Nm nanosleep .Nd ナノ秒単位の間隔でプロセス実行を中断する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn nanosleep "const struct timespec *rqtp" "struct timespec *rmtp" .Sh 解説 .Fn nanosleep によってプロセスは指定の時間だけ休眠状態になります。シグナルによる 割り込み時の .Dv SA_RESTART 値に無関係に、マスクされていないシグナルがあると プロセスの休眠状態は早めに終了します。 .Sh 戻り値 要求された時間が経過したために .Fn nanosleep 関数が戻った場合、返される値は 0 になります。 .Pp シグナルが配信されたために .Fn nanosleep 関数から戻った場合に返される値は -1 になり、割り込みを示すために グローバル変数 .Va errno が設定されます。 .Fa rmtp が NULL でない場合、それが参照する timespec 構造体は非休眠時間で更新されます (要求時間から、実際に休眠状態にあった時間を減算したものです)。 .Pp 次の状態のうちのいずれかが発生した場合、 -.Fn nanosleep +.Fn nanosleep 関数は -1 を返して .Va errno を対応する値に設定します。 .Bl -tag -width Er .It Bq Er EFAULT .Fa rqtp または .Fa rmtp のどちらかが、 プロセスに割り当てられたアドレス空間の範囲外のメモリを指しています。 .It Bq Er EINTR .Fn nanosleep はシグナルの配信によって割り込まれました。 .It Bq Er EINVAL .Fa rqtp -にゼロより小さいか、または 10 億以上のナノ秒値を指定しました。 +に 0 未満か、10 億ナノ秒以上の値を指定しました。 .It Bq Er ENOSYS .Fn nanosleep はこのシステムではサポートされていません。 .El .Sh 関連項目 .Xr sigsuspend 2 , .Xr sleep 3 .Sh 規格 .Fn nanosleep 関数は .St -p1003.1b-93 に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/nfssvc.2 b/ja_JP.eucJP/man/man2/nfssvc.2 index 81fe18c089..9a4acfc0d9 100644 --- a/ja_JP.eucJP/man/man2/nfssvc.2 +++ b/ja_JP.eucJP/man/man2/nfssvc.2 @@ -1,250 +1,261 @@ .\" Copyright (c) 1989, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)nfssvc.2 8.1 (Berkeley) 6/9/93 -.\" %FreeBSD: src/lib/libc/sys/nfssvc.2,v 1.6.2.1 1999/08/29 14:49:16 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/nfssvc.2,v 1.8.2.3 2000/12/08 13:49:32 ru Exp % .\" .\" WORD: principal 主体名 .Dd June 9, 1993 .Dt NFSSVC 2 .Os .Sh 名称 .Nm nfssvc .Nd NFS nfssvc - NFS サービス +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn nfssvc "int flags" "void *argstructp" .Sh 解説 .Fn nfssvc 関数は、NFS デーモンが、情報をカーネルの中に渡したり カーネルから外に渡したりするのに使用され、また、 NFS デーモンがサーバデーモンとしてカーネルに入るのにも 使用されます。 .Fa flags 引数は、カーネル内でどのような処理を実行するかを示す いくつかのビットで構成されており、 .Fa argstructp は、flags 引数でどのビットが設定されたかに従って 3 つある構造体のうちの 1 つを指します。 .Pp クライアント側では、 .Xr nfsiod 8 は .Fa flags 引数を .Dv NFSSVC_BIOD に設定し、 .Fa argstructp を .Dv NULL に設定して .Fn nfssvc を呼び出し、ブロック入出力サーバデーモンとしてカーネルに入ります。 .Nm NQNFS の場合、 .Xr mount_nfs 8 は .Dv NFSSVC_MNTD フラグを、また、オプションで .Dv NFSSVC_GOTAUTH と .Dv NFSSVC_AUTHINFAIL の論理和 (or) を取ったものを設定し、 次の構造体を指すポインタとともに .Fn nfssvc を呼び出します。 .Bd -literal struct nfsd_cargs { char *ncd_dirp; /* マウントディレクトリパス */ uid_t ncd_authuid; /* 実効 uid */ int ncd_authtype; /* 認証のタイプ */ int ncd_authlen; /* 認証文字列の長さ */ u_char *ncd_authstr; /* 認証文字列 */ int ncd_verflen; /* および検証機能 */ u_char *ncd_verfstr; NFSKERBKEY_T ncd_key; /* セッションキー */ }; .Ed .Pp 最初の呼び出しでは、マウントポイントに対するサービスを指定する .Dv NFSSVC_MNTD フラグだけが設定されています。 マウントポイントが Kerberos を使用している場合、 クライアント側がユーザ用の ``rcmd'' 認証チケットを要求するたびに、 .Xr mount_nfs 8 -デーモンは、errno == ENEEDAUTH で +デーモンは、 +.Va errno +== +.Er ENEEDAUTH で .Fn nfssvc から戻ります。 .Xr mount_nfs 8 は、Kerberos チケットを取得しようとし、成功すると、 nfsd_cargs 構造体の ncd_authstr フィールドにチケットを入れ、 ncd_authlen フィールドと ncd_authtype フィールドを 設定した後で、フラグ .Dv NFSSVC_MNTD および .Dv NFSSVC_GOTAUTH を指定して .Fn nfssvc を呼び出します。 .Xr mount_nfs 8 がチケットを取得するのに失敗した場合、 .Fn nfssvc は、フラグ .Dv NFSSVC_MNTD , .Dv NFSSVC_GOTAUTH および .Dv NFSSVC_AUTHINFAIL を指定して呼び出されて、認証の試みが 失敗したことを示します。 .Pp サーバ側では、 .Fn nfssvc がフラグ .Dv NFSSVC_NFSD と次の構造体を指すポインタとともに呼び出されて、 .Xr nfsd 8 デーモンとしてカーネルに入ります。 .Bd -literal struct nfsd_srvargs { - struct nfsd *nsd_nfsd; /* カーネル内の nfsd struct を指すポインタ */ + struct nfsd *nsd_nfsd; /* + * カーネル内の nfsd struct を + * 指すポインタ + */ uid_t nsd_uid; /* cred にマップされる実効 uid*/ - u_long nsd_haddr; /* クライアントの IP アドレス */ + u_int32t nsd_haddr; /* クライアントの IP アドレス */ struct ucred nsd_cr; /* Cred. uid のマップ宛先 */ int nsd_authlen; /* 認証文字列の長さ (戻り) */ u_char *nsd_authstr; /* 認証文字列 (戻り) */ int nsd_verflen; /* および検証機能 */ u_char *nsd_verfstr; struct timeval nsd_timestamp; /* 検証機能からのタイムスタンプ */ - u_long nsd_ttl; /* 証書の持続時間 (秒) */ + u_int32t nsd_ttl; /* 証書の持続時間 (秒) */ NFSKERBKEY_T nsd_key; /* セッションキー */ }; .Ed .Pp .Xr nfsd 8 デーモンは、Kerberos 認証チケットを受信するたびに、 .Fn nfssvc -から errno == ENEEDAUTH で戻ります。 +から +.Va errno +== +.Er ENEEDAUTH で戻ります。 .Xr nfsd 8 は、チケットを認証し、フィールド nsd_uid で指定された ``user id'' 用の一連の証書をサーバ上で生成しようとします。 これを行うには、最初に Kerberos チケットを認証してから、 Kerberos の主体名 (principal) を ローカル名にマップし、 .Xr getpwnam 3 と .Xr getgrouplist 3 経由でそのユーザについての一連の証書を得ます。 正常に完了すると、 .Xr nfsd 8 は、 .Dv NFSSVC_NFSD フラグと .Dv NFSSVC_AUTHIN フラグを設定して .Fn nfssvc を呼び出し、 nsd_cr 内の証書のマッピングをカーネルに渡し、 そのクライアント用のサーバソケット上でマップが キャッシュされるようにします。認証が失敗した場合、 .Xr nfsd 8 はフラグ .Dv NFSSVC_NFSD および .Dv NFSSVC_AUTHINFAIL を設定して .Fn nfssvc を呼び出し、認証が失敗したことを示します。 .Pp .Xr nfsd 8 マスタサーバデーモンは、フラグ .Dv NFSSVC_ADDSOCK および次の構造体を指すポインタを設定して .Fn nfssvc を呼び出し、 .Xr nfsd 8 デーモンがサービスを行えるようにサーバ側の .Tn NFS ソケットをカーネルに渡します。 .Bd -literal struct nfsd_args { int sock; /* サービスを行うソケット */ - caddr_t name; /* 接続をベースとしたソケットのクライアントアドレス */ + caddr_t name; /* 接続指向のソケットのクライアントアドレス */ int namelen;/* 名前の長さ */ }; .Ed .Sh 戻り値 通常、 .Fn nfssvc は、サーバがシグナルによって終了されるときを除いて戻りません。 このときには、値 0 が返されます。 そうでない場合は、-1 が返され、エラーを指定するためにグローバル変数 .Va errno が設定されます。 .Sh エラー -.Bl -tag -width [ENEEDAUTH] +.Bl -tag -width Er .It Bq Er ENEEDAUTH この特殊なエラー値は、実際には認証サポート用、 特に、前述した Kerberos 用に使用されます。 .It Bq Er EPERM 呼び出し側がスーパユーザではありません。 .El .Sh 関連項目 .Xr mount_nfs 8 , .Xr nfsd 8 , .Xr nfsiod 8 .Sh 歴史 .Fn nfssvc 関数は .Bx 4.4 ではじめて登場しました。 .Sh バグ .Fn nfssvc システムコールは .Tn NFS サポート用に特別に設計されています。 そのようなものですから、NFS の要求定義に特に従ったものに なっています。 本来ならば、認証サポートが必要であることを示す値を返す必要があります。 なぜなら、 -.Dv ENEEDAUTH +.Er ENEEDAUTH は本来ならエラーではないからです。 引数である構造体のいくつかのフィールドは 正当なものであると仮定されており、直前の呼び出しから 変更されないことが時々あります。 このようであるので、 .Fn nfssvc はとりわけ注意を払って使用しなくてはなりません。 diff --git a/ja_JP.eucJP/man/man2/open.2 b/ja_JP.eucJP/man/man2/open.2 index 6f85bdada4..a23cd9ce9d 100644 --- a/ja_JP.eucJP/man/man2/open.2 +++ b/ja_JP.eucJP/man/man2/open.2 @@ -1,277 +1,290 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)open.2 8.2 (Berkeley) 11/16/93 .\" .Dd November 16, 1993 .Dt OPEN 2 .Os BSD 4 .Sh 名称 .Nm open .Nd 読取りまたは書込み用にファイルを開くかまたは作成する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn open "const char *path" "int flags" "..." .Sh 解説 .Fa path によって指定されるファイルは、引数 .Fa flags によって指定されたように読取りまたは書込み (またはその両方) 用に開かれ、 そのファイル記述子は呼び出し元プロセスに返されます。 .Fa flags 引数で、 .Dv ( O_CREAT フラグを指定することによって) ファイルが存在しない場合にファイルを 作成するように指示できます。 この場合、 .Nm は 3 番目の引数 .Fa "mode_t mode" が必要であり、ファイルは .Xr chmod 2 で説明されているようにモード .Fa mode で作成され、プロセスの umask 値によって修正されます .Pf ( Xr umask 2 を参照)。 .Pp 指定されたフラグは次の値の論理和 .\".Em or Ns 'ing .Em ( or ) で作成されます。 .Pp .Bd -literal -offset indent -compact O_RDONLY 読取り専用で開く O_WRONLY 書込み専用で開く O_RDWR 読取りと書込み用に開く O_NONBLOCK 開くときにブロックしない O_APPEND 書込みのたびに末尾に追加する O_CREAT ファイルが存在しない場合、作成する O_TRUNC サイズを 0 に切り捨てる O_EXCL ファイルを作成し、存在する場合はエラー O_SHLOCK 共有ロックを自動的に取得する O_EXLOCK 排他的ロックを自動的に取得する .Ed .Pp .Dv O_APPEND を設定してファイルを開くと、ファイルへ書込むごとに末尾に追加されます。 .Dv O_TRUNC が指定されていてファイルが存在する場合、ファイルは長さ 0 に 切り捨てられます。 .Dv O_EXCL が .Dv O_CREAT とともに設定されていてファイルが既に存在する場合、 .Fn open はエラーを返します。これを使用して、 簡単な排他的アクセスロッキングメカニズムを 実現できます。 .Dv O_EXCL が設定されていてパス名の最後の構成要素がシンボリックリンクの場合、 シンボリックリンクが存在しない名前を指していても .Fn open は処理に失敗します。 .Dv O_NONBLOCK フラグが指定されていて .Fn open 呼び出しの結果が何らかの理由でプロセスがブロックされると (たとえば、 ダイアルアップ回線でのキャリアの待機)、 .Fn open は即座に戻ります。プロセスが開いたファイルに 最初に入出力しようとしたとき、プロセスはブロックします (現時点では実装されていません)。 .Pp ファイルを開くときに、共有ロックについては .Dv O_SHLOCK 、 排他的ロックについては .Dv O_EXLOCK を 設定することによって .Xr flock 2 によってロックが得られます。 .Dv O_CREAT でファイルを作成する場合、ロックについての要求は処理に失敗すること はありません (ただし、下層にあるファイルシステムが ロックをサポートしている場合に限ります)。 .Pp 正常に完了すると、 .Fn open は、ファイル記述子を示す負でない整数を返します。 処理に失敗すると -1 を返します。ファイル内の現在の位置をマークする ファイルポインタはファイルの先頭に設定されます。 .Pp 新しいファイルが作成されるとき、そのファイルにはそれが含まれている ディレクトリのグループが与えられます。 .Pp 新しい記述子は .Xr execve 2 システムコールを通じて開いたままに設定されます。 .Xr close 2 と .Xr fcntl 2 を参照してください。 .Pp システムには、1 つのプロセスによって同時に開けるファイル記述子数に 制限があります。 .Xr getdtablesize 2 は現在のシステム制限を返します。 .Pp .Sh システムの注意事項 非スレッドライブラリでは、 .Fn open は .Va open システムコールとして実装されています。 .Pp スレッドライブラリでは、 .Va open システムコールは .Fn _thread_sys_open にアセンブルされ、 .Fn open は、スレッドの再スケジュールを無効にし .Fn _thread_sys_open を呼び出す関数として実装されています。 戻る前に、 .Fn open はスレッドの再スケジュールを有効にします。 .Sh 戻り値 正常に完了すると、 .Fn open はファイル記述子である負でない整数を返します。 処理に失敗すると -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー 指定のファイルは次の場合を除いて開かれます。 .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT .Dv O_CREAT が設定されてなく、指定されたファイルが存在しません。 .It Bq Er ENOENT 存在しなければならないパス名の構成要素が存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 要求されたパーミッション (読取りまたは書込み用、または両方) が 指定のフラグに拒否されています。 .It Bq Er EACCES .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルを作成する ディレクトリに書込み許可がありません。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EISDIR 指定のファイルがディレクトリであり、引数が書込み用に開くことを 指定しています。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあり、 そのファイルを修正しようとしています。 .It Bq Er EMFILE プロセスは、開いたファイル記述子に関する制限に達しています。 .It Bq Er ENFILE システムファイルテーブルが満杯です。 .It Bq Er ENXIO 指定のファイルはキャラクタ型特殊ファイルまたはブロック型特殊 ファイルであり、この特殊ファイルに対応するデバイスは存在していません。 +.It Bq Er ENXIO +指定されたファイルは FIFO パイプで、どのプロセスからも +読取り用にオープンされていないにも関らず、 +書込み用にオープンしようとしました。 .It Bq Er EINTR .Fn open 操作がシグナルによって割り込みされました。 .It Bq Er EOPNOTSUPP .Dv O_SHLOCK または .Dv O_EXLOCK が指定されましたが、下層となっているファイルシステムは ロックをサポートしていません。 +.It Bq Er EWOULDBLOCK +.Dv O_NONBLOCK +と、 +.Dv O_SHLOCK +か +.Dv O_EXLOCK +のどちらかが指定されましたが、ファイルはロックされています。 .It Bq Er ENOSPC .Dv O_CREAT が指定されていて、ファイルが存在せず、新しいファイル用のエントリを 配置中のディレクトリは、そのディレクトリを含むファイルシステムに 空間が残っていないため拡張できません。 .It Bq Er ENOSPC .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルが作成中の ファイルシステム上に未使用の inode がありません。 .It Bq Er EDQUOT .Dv O_CREAT が指定されていて、ファイルが存在せず、かつ新しいファイル用の エントリを配置中のディレクトリは、そのディレクトリを含む ファイルシステム上でディスクブロックの ユーザのクォータが枯渇したために拡張できません。 .It Bq Er EDQUOT .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルを作成中の ファイルシステム上で inode のユーザのクォータが枯渇しています。 .It Bq Er EIO ディレクトリエントリを作成中、または .Dv O_CREAT 用の inode を割当て中に入出力エラーが発生しました。 .It Bq Er ETXTBSY ファイルは実行中の純粋な手続き (共有テキスト) ファイルであり、 .Fn open 呼び出しは書込みアクセスを要求しています。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EEXIST .Dv O_CREAT と .Dv O_EXCL が指定されていて、ファイルが存在します。 .It Bq Er EOPNOTSUPP ソケットを開こうとしました (現時点では実装されていません)。 .It Bq Er EINVAL .Dv O_RDONLY , .Dv O_WRONLY および .Dv O_RDWR の不正な組合わせで記述子を開こうとしました。 .El .Sh 関連項目 .Xr chmod 2 , .Xr close 2 , .Xr dup 2 , .Xr getdtablesize 2 , .Xr lseek 2 , .Xr read 2 , .Xr umask 2 , .Xr write 2 .Sh 歴史 .Fn open 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/pathconf.2 b/ja_JP.eucJP/man/man2/pathconf.2 index ca3530100f..8ecd1caaac 100644 --- a/ja_JP.eucJP/man/man2/pathconf.2 +++ b/ja_JP.eucJP/man/man2/pathconf.2 @@ -1,157 +1,160 @@ .\" Copyright (c) 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93 .\" .Dd June 4, 1993 .Dt PATHCONF 2 .Os BSD 4 .Sh 名称 .Nm pathconf , .Nm fpathconf .Nd 構成可能なパス名変数を取得する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft long .Fn pathconf "const char *path" "int name" .Ft long .Fn fpathconf "int fd" "int name" .Sh 解説 .Pp .Fn pathconf 関数と .Fn fpathconf 関数は、構成可能なシステム限界の現在値、またはパス名または ファイル記述子に対応するオプション変数を アプリケーションが判定する方法を提供します。 .Pp .Fn pathconf の場合、 .Fa path 引数はファイルまたはディレクトリの名前です。 .Fn fpathconf の場合、 .Fa fd 引数はオープンファイルの記述子です。 .Fa name 引数は、照会するシステム変数を指定します。 それぞれの名前に関するシンボリック定数はインクルードファイル .Li にあります。 .Pp 利用可能な値は次のとおりです。 .Pp -.Bl -tag -width "123456" +.Bl -tag -width 6n .Pp .It Li _PC_LINK_MAX 最大のファイルリンクカウント。 .It Li _PC_MAX_CANON 端末標準入力回線の最大バイト数。 .It Li _PC_MAX_INPUT 端末入力待ち行列内空間で利用できる最小の最大バイト数。 .It Li _PC_NAME_MAX ファイル名の最大バイト数。 .It Li _PC_PATH_MAX パス名の最大バイト数。 .It Li _PC_PIPE_BUF パイプに自動的に書込まれる最大バイト数。 .It Li _PC_CHOWN_RESTRICTED 該当する特権が .Xr chown 2 システムコールについて要求される場合は 1 を 返し、そうでない場合は 0 を返します。 .It Li _PC_NO_TRUNC KERN_NAME_MAX より長いファイル名で切り捨てられる場合は 1 を返します。 .It Li _PC_VDISABLE 値を無効にする終了文字を返します。 .El .Sh 戻り値 .Fn pathconf または .Fn fpathconf の呼び出しが正常に完了しない場合は -1 が返され、 .Va errno が適宜設定されます。 変数がシステム内に限界のない機能に対応していると、-1 が返され、 .Va errno は修正されません。 それ以外の場合、現在の変数値が返されます。 .Sh エラー 次の条件のどれかが起きた場合、 .Fn pathconf 関数と .Fn fpathconf 関数は -1 を返し、 .Va errno に対応する値を設定します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa name 引数の値が無効です。 .It Bq Er EINVAL 対応するファイルと変数名の対応付けは実装されていません。 .El +.Pp .Fn pathconf は次の場合に失敗します。 -.Bl -tag -width ENAMETOOLONGAA +.Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .El .Pp -.Bl -tag -width [EFAULT] +.Bl -tag -width Er .Fn fpathconf は次の場合に失敗します。 .It Bq Er EBADF .Fa fd は有効なオープンファイル記述子ではありません。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .El .Sh 関連項目 .Xr sysctl 3 .Sh 歴史 .Fn pathconf 関数と .Fn fpathconf 関数は .Bx 4.4 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/pipe.2 b/ja_JP.eucJP/man/man2/pipe.2 index b11966d873..39bbe3235c 100644 --- a/ja_JP.eucJP/man/man2/pipe.2 +++ b/ja_JP.eucJP/man/man2/pipe.2 @@ -1,112 +1,114 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)pipe.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/pipe.2,v 1.7.2.4 1999/08/29 14:49:16 peter Exp % .\" .Dd June 4, 1993 .Dt PIPE 2 .Os BSD 4 .Sh 名称 .Nm pipe .Nd プロセス間通信について記述子のペアを作成する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn pipe "int *fildes" .Sh 解説 .Fn pipe 関数は 双方向のデータフローを可能とするオブジェクトである .Em pipe を作成し、ペアのファイル記述子を割り当てます。 .Pp 慣習により 1 番めの記述子が通常、パイプの .Em read end として使用され、2 番めの記述子が通常、 .Em write end なので、 .Fa fildes[1] に書込まれたデータが .Fa fildes[0] に現れます (すなわち、 .Fa fildes[0] から読取れます)。 これによって 1 つのプログラムの出力が別のプログラムに送信できます。 ソースの標準出力はパイプの書込み終端であるようにセットアップされ、 シンクの標準入力はパイプの読取り終端であるようにセットアップされます。 パイプ自体は、すべての対応する記述子が閉じるまで持続します。 .Pp 1 端が閉じているパイプは .Em widowed (相手を失った) と見なされます。このようなパイプに書込みをすると、 書込みプロセスは .Dv SIGPIPE 信号を受信します。読取り側にファイルの終了を伝える方法は、 書込み側のパイプを閉じてしまうしかありません。 読取り側がバッファに入っているデータを使用した後、相手を失ったパイプを 読取ると 0 カウントが返されます。 .Pp 実装したパイプのこの双方向という性質は古いシステムには移植できないので、 一方向にパイプを使用する ときは、従来の方法で端点を使用する慣習を使用することをお勧めします。 .Sh 戻り値 パイプの作成が正常に完了すると、0 を返します。そうでない場合は -1 が返され、 エラーを示すために変数 .Va errno が設定されます。 .Sh エラー .Fn pipe 呼び出しは次の場合に失敗します。 -.Bl -tag -width [EMFILE] +.Bl -tag -width Er .It Bq Er EMFILE アクティブな記述子が多すぎます。 .It Bq Er ENFILE システムファイルテーブルが満杯です。 .It Bq Er EFAULT .Fa fildes バッファがプロセスのアドレス空間の不正な領域にあります。 .El .Sh 関連項目 .Xr sh 1 , .Xr fork 2 , .Xr read 2 , .Xr socketpair 2 , .Xr write 2 .Sh 歴史 .Fn pipe 関数は .At v3 で登場しました。 .Pp 双方向パイプははじめて .At V.4 で使用されました。 diff --git a/ja_JP.eucJP/man/man2/poll.2 b/ja_JP.eucJP/man/man2/poll.2 index 7865f1e2ab..e314f0010c 100644 --- a/ja_JP.eucJP/man/man2/poll.2 +++ b/ja_JP.eucJP/man/man2/poll.2 @@ -1,187 +1,191 @@ .\" %NetBSD: poll.2,v 1.3 1996/09/07 21:53:08 mycroft Exp % .\" %FreeBSD: src/lib/libc/sys/poll.2,v 1.2.2.1 1999/08/29 14:49:17 peter Exp % .\" .\" Copyright (c) 1996 Charles M. Hannum. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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 Charles M. Hannum. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" 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. .\" .Dd September 7, 1996 .Dt POLL 2 .Os .Sh 名称 .Nm poll .Nd 同期的な入出力の多重化 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn poll "struct pollfd *fds" "unsigned int nfds" "int timeout" .Sh 解説 .Fn poll はファイル記述子の集合を調査して、 それらのいずれかが入出力の準備ができているか否かを調べます。 .Fa fds 引数は .Aq Pa poll.h に定義された pollfd 配列を指す ポインタ (後述) です。 .Fa nfds 引数は .Fa fds 配列のサイズを決定します。 .Bd -literal struct pollfd { int fd; /* ファイル記述子 */ short events; /* 検索するイベント */ short revents; /* 返されたイベント */ }; .Ed .Pp .Fa pollfd 構造体のフィールドは次のとおりです: .Bl -tag -width XXXrevents .It fd -ポールするファイル記述子。 +ポールするファイル記述子。もし fd が -1 なら +.Fa revents +はクリアされ (0 に設定)、pollfd はチェックされません。 .It events ポールするイベント (後述)。 .It revents 発生したイベント (後述)。 .El .Pp .Fa events と .Fa revents 内のビットマスクには次のビットがあります。 .Bl -tag -width XXXPOLLWRNORM .It POLLIN 高優先データ以外のデータはブロックせずに読取りできます。 .It POLLRDNORM 通常データはブロックせずに読取りできます。 .It POLLRDBAND 優先順位が 0 でないデータはブロックせずに読取りできます。 .It POLLPRI 高優先データはブロックせずに読取りできます。 .It POLLOUT .It POLLWRNORM 通常データはブロックせずに書込みできます。 .It POLLWRBAND 優先順位が 0 でないデータはブロックせずに書込みできます。 .It POLLERR デバイスまたはソケット上に例外状態が起きました。このフラグは、 .Fa events ビットマスクに存在していなくても必ずチェックされます。 .It POLLHUP デバイスまたはソケットが切断されています。このフラグは、 .Fa events ビットマスク内に 存在しなくても必ずチェックされます。 POLLHUP と POLLOUT は、 .Fa revents ビットマスク内に同時に存在する ことが決してないことに注意してください。 .It POLLNVAL ファイル記述子がオープンされていません。このフラグは、 .Fa events ビットマスク内に存在しな くても必ずチェックされます。 .El .Pp .Fa timeout が 0 でも INFTIM (-1) でもない場合、 いずれかのファイル記述子が準備完了になるのを 待機する最大インターバル (ミリ秒単位) を指定します。 .Fa timeout が INFTIM (-1) の場合、ポールは永久にブロックします。 .Fa timeout が 0 の場合 .Fn poll はブロックせずに戻ります。 .Sh 戻り値 .Fn poll は入出力の準備が完了した記述子の番号を返します。 エラーが起きた場合は -1 を返します。 時間切れになると .Fn poll は 0 を返します。割り込み呼び出しによるエラーも含めて .Fn poll がエラーで戻った場合、 .Fa fds 配列は変更されません。 .Sh 互換性 この実装は、ある指定のファイル記述子においては .Fn poll がエラー付きで戻らない場合があるという点で、 過去のものと異なっています。 過去の実装ではこのようなエラー付きで戻るであろう場合 (たとえば .Xr revoke 2 された記述子を検査しようとした場合)では、この実装は代わりに .Fa events ビットマスクを .Fa revents ビットマスクにコピーします。 この記述子上で入出力を実行しようとするとエラーが返されます。 この動作はより便利であると考えられています。 .Sh エラー .Fn poll は次のエラーで戻ります。 .Bl -tag -width Er .It Bq Er EFAULT .Fa fds は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINTR 時間切れになる前に、そして選択されたイベントが発生する前に シグナルが配信されました。 .It Bq Er EINVAL 指定の時間制限が負です。 .El .Sh 関連項目 .Xr accept 2 , .Xr connect 2 , .Xr read 2 , .Xr recv 2 , .Xr select 2 , .Xr send 2 , .Xr write 2 .Sh バグ .Fa events ビットマスクと .Fa revents ビットマスクのいくつかのフィールド間の違いは、 STREAMS 以外では実用的ではありません。 それらのフィールドは、既存のソフトウェアとの互換性を 保つために定義されています。 .Sh 歴史 .Fn poll 関数は .At V で登場しました。 このマニュアルページと実装の主要な部分は .Nx から得たものです。 diff --git a/ja_JP.eucJP/man/man2/profil.2 b/ja_JP.eucJP/man/man2/profil.2 index 9891b624c7..cc1cdae37a 100644 --- a/ja_JP.eucJP/man/man2/profil.2 +++ b/ja_JP.eucJP/man/man2/profil.2 @@ -1,127 +1,129 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley of BSDI. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)profil.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/profil.2,v 1.7.2.1 1999/08/29 14:49:17 peter Exp % .\" .Dd June 4, 1993 .Dt PROFIL 2 .Os .Sh 名称 .Nm profil .Nd プロセスのプロファイルを制御する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int -.Fn profil "char *samples" "int size" "int offset" "int scale" +.Fn profil "char *samples" "size_t size" "vm_offset_t offset" "int scale" .Sh 解説 .Fn profil 関数は、現在のプロセスのカウンタプロファイルを有効化または無効化します。 プロファイルが有効な場合、プロファイルクロックチックごとに、カーネルは .Fa samples バッファ内の適切なカウントを更新します。プロファイルクロックの周波数は、 プロファイル出力ファイル内のヘッダ内に記録されます。 .Pp バッファ .Fa samples には .Fa size バイトが含まれており、一連の 16 ビットの塊に分割されます。 各塊は、プロファイルが有効時にプロファイルクロックチックが 発生したときに、 プログラムカウンタがプロセス内の特別なアドレス範囲内にあった回数を カウントします。 指定のプログラムカウンタアドレスについて、対応する塊の数が 次の関係によって与えられます。 .Bd -literal -offset indent [(pc - offset) / 2] * scale / 65536 .Ed .Pp .Fa offset パラメータは、カーネルがプログラムカウンタサンプルを 取る最も低いアドレスです。 .Fa scale パラメータの範囲は 1 から 65536 であり、 塊の広がりを変更するのに使用できます。 スケール 65536 は、各塊をアドレス範囲の 2 バイトに割り当てます。 スケール 32768 は 4 バイト、 16384 は 8 バイト、後は同様です。中間の値はおおよそ中間の範囲を与えます。 .Fa scale 値が 0 の場合、 プロファイルは無効になります。 .Sh 戻り値 値 .Fa scale が 0 ではなく、バッファ .Fa samples に不正なアドレスが入っている場合、 .Fn profil は -1 を返し、プロファイルは終了し、 .Va errno は適宜設定されます。そうでない場合、 .Fn profil は 0 を返します。 .Sh ファイル .Bl -tag -width /usr/lib/gcrt0.o -compact .It Pa /usr/lib/gcrt0.o プロファイル C ランタイムスタートアップファイル .It Pa gmon.out プロファイル出力ファイルの従来の名前 .El .Sh エラー 次のエラーが報告される可能性があります。 .Bl -tag -width Er .It Bq Er EFAULT バッファ .Fa samples に無効なアドレスが入っています。 .El .Sh 関連項目 .Xr gprof 1 .Sh 歴史 .Fn profil 関数は .At v7 で登場しました。 .Sh バグ このルーチンの名前は .Fn profile にすべきです。 .Pp .Fa samples 引数は本当はベクトル .Fa "unsigned short" のベクトルである必要があります。 .Pp gmon.out ファイルの形式は記述されていません。 diff --git a/ja_JP.eucJP/man/man2/ptrace.2 b/ja_JP.eucJP/man/man2/ptrace.2 index efd3e8500a..1f77343688 100644 --- a/ja_JP.eucJP/man/man2/ptrace.2 +++ b/ja_JP.eucJP/man/man2/ptrace.2 @@ -1,307 +1,338 @@ .\" %FreeBSD: src/lib/libc/sys/ptrace.2,v 1.10.2.1 1999/08/29 14:49:17 peter Exp % .\" %NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp % .\" .\" This file is in the public domain. .Dd January 20, 1996 .Dt PTRACE 2 -.Os FreeBSD 2 +.Os FreeBSD .Sh 名称 .Nm ptrace .Nd プロセスのトレースとデバッグ +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn ptrace "int request" "pid_t pid" "caddr_t addr" "int data" .Sh 解説 .Fn ptrace はトレースとデバッグの機能を提供します。これによって 1 つのプロセス .\".Em tracing (トレース するプロセス) が 他のプロセス .\".Em traced (トレース されるプロセス)を制御できます。 ほとんどの場合、トレースされるプロセスは正常に実行されますが、 シグナルを受信すると .Po .Xr sigaction 2 を参照 .Pc 、 停止します。トレースのプロセスは、 .Xr wait 2 または .Dv SIGCHLD シグナルの配信によって認識し、停止されたプロセスの状態を調査し、 適宜それが終了するかまたは継続するようにします。 .Fn ptrace は、これらすべてが行なわれるメカニズムです。 .Pp .Fa request 引数は、どの操作が実行中であるかを指定します。 残りの引数の意味は操作で決まりますが、 後述する 1 つの特殊なケースを除いて、 .Fn ptrace 呼び出しはすべてトレースするプロセスによって行われ、 .Fa pid 引数がトレースされるプロセスのプロセス ID を指定します。 .Fa request は次のものにできます。 .Bl -tag -width 12n .It Dv PT_TRACE_ME この要求は、トレースされているプロセスが使用する唯一の要求です。 この要求は、 プロセスがその親によってトレースされると予想されることを宣言します。 他の引数はすべて無視され ます (親プロセスが子プロセスをトレースすると予想できない場合は、 それはおそらく結果によって 混乱されています。トレースされているプロセスが停止すると、このプロセスは、 .Eo \& .Fn ptrace .Ec \& によってしか継続するようにできません)。プロセスがこの要求を使用し、 .Xr execve 2 またはそれに組み込まれているルーチン .Po たとえば、 .Xr execv 3 .Pc を呼び出した場合、 そのプロセスは新しいイメージの最初の指示を実行する前に停止します。 また、実行中の実行可能モジュールについて setuid または setgid ビットは無視されます。 .It Dv PT_READ_I , Dv PT_READ_D これらの要求は、トレースされたプロセスのアドレス空間から 1 つの .Li int データを読み取ります。従来、 .Fn ptrace は命令とデータについて区別されたアドレス空間のある マシンを許容していました。これが 2 つの要求がある理由です。概念的には、 .Dv PT_READ_I が命令空間から読み取り、 .Dv PT_READ_D がデータ空間から読み取ります。現在の -.Tn FreeBSD +.Fx システムでは、これらの 2 つの要求は完全に同一です。 .Fa addr 引数が、読み取りが行われる (トレースされたプロセスの仮想アドレス空間内の) アドレスを指定します。 このアドレスはどのような整列制約を満たす必要はありません。読み取られた値は .Eo \& .Fn ptrace .Ec からの戻り値として 返されます。 .It Dv PT_WRITE_I , Dv PT_WRITE_D これらの要求は .Dv PT_READ_I および .Dv PT_READ_D と平行しますが、読取るのでは なく書き込むところが異なります。 .Fa data 引数が書き込まれる値を指定します。 .It Dv PT_READ_U この要求は、トレースされるプロセスのユーザ構造体から 1 つの .Li int を読み取ります。 .Fa addr 引数は、 ユーザ構造体のベースに相対的に int の位置を指定します。この引数は、通常、明示的にまたは .Eo \& .Fn ptrace .Ec のプロトタイプの存在のどちらかによって .Li caddr_t にキャストされる整数値です。 .Dv PT_READ_I および .Dv PT_READ_D と異なり、 .Fa addr は .Li int 境界に整列されている必要があります。読取られた値は .Eo \& .Fn ptrace .Ec からの戻り値として返されます。 .It Dv PT_WRITE_U この要求はトレースされるプロセスのユーザ構造体に 1 つの .Li int を書き込みます。 .Fa addr は .Dv PT_READ_U についてとまったく同じようにオフセットを指定し、 .Fa data は .Dv PT_WRITE_I および .Dv PT_WRITE_D とまったく同じように書き込まれる値を指定します。 .It Dv PT_CONTINUE トレースされるプロセスは実行を継続します。 .Fa addr は、実行が再開される場所 (プログラムカウンタには新しい値)、 または実行が停止されたところで再開されることを示す .Li (caddr_t)1 を指定します。 .Fa data は、実行を再開するときにトレースされるプロセスに配信されるシグナル番号、 またはシグナルが送信されない場合は 0 を提供します。 +.It Dv PT_STEP +トレースされるプロセスは 1 命令ずつステップ実行されます。 +.Fa addr +と +.Fa data +フィールドは使用されません。 .It Dv PT_KILL トレースされるプロセスは、 .Dv PT_CONTINUE が、配信されるシグナルとして与えられた .Dv SIGKILL とともに使用されたかのように終了します。 .It Dv PT_ATTACH この要求は、さもなければ無関係のプロセスの制御を取得し、 それをトレース開始するように します。トレースされるプロセスからの協力は必要としません。このケースでは、 .Fa pid がトレースされるプロセスのプロセス ID を指定し、 他の 2 つの引数は無視されます。 この要求では、ターゲットプロセスにトレースする プロセスと同じリアル UID があること、 それが setuid または setgid 実行可能モジュールを実行している必要が あることが要求されます (トレースしているプロセスがルートとして実行されている 場合、これらの制約は該当しません)。 トレースしているプロセスは、新たにトレースされるプロセスが停止させ、 次に、これがずっとトレースされているかのように制御できます。 .It Dv PT_DETACH この要求は PT_CONTINUE と類似していますが、実行を継続する別の場所を 指定できないこと、 およびそれが継続した後、トレースされたプロセスがトレースされなくなり、 通常どおり実行を継続することが異なります。 .El .Pp さらにマシンに固有の要求が存在することがあります。i386 では、これらは次のとおりです。 .Bl -tag -width 12n .It Dv PT_GETREGS この要求は、トレースされたプロセスのマシンレジスタを、 .Fa addr が指す .Dq Li "struct reg" .Pf ( Aq Pa machine/reg.h 内に定義されています) 内に読み取ります。 .It Dv PT_SETREGS この要求は .Dv PT_GETREGS の逆です。 .Fa addr が指す .Dq Li "struct reg" .Pf ( Aq Pa machine/reg.h 内に定義されています) からトレースされたプロセスのマシンレジスタをロードします。 .It Dv PT_GETFPREGS この要求はトレースされるプロセスの浮動小数点レジスタを .Fa addr が指す .Dq Li "struct fpreg" .Pf ( Aq Pa machine/reg.h に定義されています) に読み取ります。 .It Dv PT_SETFPREGS この要求は .Dv PT_GETFPREGS の反対です。 .Fa addr が指す .Dq Li "struct fpreg" .Pf ( Aq Pa machine/reg.h 内に定義されています) からトレースされたプロセスの浮動小数点レジスタをロードします。 +.It Dv PT_GETDBREGS +この要求はトレースされるプロセスのデバッグレジスタを +.Fa addr +が指す +.Dq Li "struct dbreg" +.Pf ( Aq Pa machine/reg.h +内に定義されています) +に読みとります。 +.It Dv PT_SETDBREGS +この要求は +.Dv PT_GETDBREGS +の反対です。 +.Fa addr +の指す +.Dq Li "struct dbreg" +.Pf ( Aq Pa machine/reg.h +内に定義されています) +からトレースされたプロセスのデバッグレジスタにロードします。 .El .Sh 戻り値 要求にはエラーでない値として .Li -1 を .Fn ptrace に返させるものもあります。 曖昧さをなくすために、呼び出しの前に .Va errno を 0 に設定し、後でチェックできます。 .Sh エラー .Fn ptrace 関数は次の場合に処理に失敗することがあります。 -.Bl -tag -width 4n +.Bl -tag -width Er .It Bq Er ESRCH .Bl -bullet -compact .It 指定のプロセス ID があるプロセスが存在しません。 .El .It Bq Er EINVAL .Bl -bullet -compact .It プロセスが自身の上に .Dv PT_ATTACH を使おうとしました。 .It .Fa request は正しい要求の 1 つではありませんでした。 .It .Dv PT_READ_U または .Dv PT_WRITE_U への .Fa addr が .\".Li int Ns \&-aligned. .Li int で整列していませんでした。 .It .Dv PT_CONTINUE へのシグナル番号 .Fa ( data 内) が、0 ではないか、または正しいシグナル番号ではありませんでした。 .It .Dv PT_GETREGS , .Dv PT_SETREGS , -.Dv PT_GETFPREGS +.Dv PT_GETFPREGS , +.Dv PT_SETFPREGS , +.Dv PT_GETDBREGS または -.Dv PT_SETFPREGS +.Dv PT_SETDBREGS が、有効なレジスタを設定せずに プロセスについて試みられました (これは通常、システムプロセスについてだけ真です)。 .El .It Bq Er EBUSY .Bl -bullet -compact .It .Dv PT_ATTACH が既にトレース中のプロセスについて試みられました。 .It 要求をしているプロセス以外のプロセスによってトレースされているプロセスを 操作しようとする要求が試みられました。 .It 要求 .Dv ( PT_ATTACH 以外の) が停止されていないプロセスを指定しました。 .El .It Bq Er EPERM .Bl -bullet -compact .It 要求 .Dv ( PT_ATTACH 以外の) が、まったくトレースされていないプロセスを操作しようとしました。 .It 前述の .Dv PT_ATTACH でリストした要求を侵犯してプロセスについて .Dv PT_ATTACH を使おうとしました。 .El +.El .Sh 関連項目 .Xr execve 2 , .Xr sigaction 2 , .Xr wait 2 , -.Xr execv 3 +.Xr execv 3 , +.Xr i386_clr_watch 3 , +.Xr i386_set_watch 3 .Sh 歴史 .Fn ptrace 関数は .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/quotactl.2 b/ja_JP.eucJP/man/man2/quotactl.2 index d72626ef2a..ec4ac24bb2 100644 --- a/ja_JP.eucJP/man/man2/quotactl.2 +++ b/ja_JP.eucJP/man/man2/quotactl.2 @@ -1,227 +1,229 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)quotactl.2 8.2 (Berkeley) 3/10/95 .\" %FreeBSD: src/lib/libc/sys/quotactl.2,v 1.8.2.1 1999/09/18 16:19:00 phantom Exp % .\" .\" WORD: quota 割り当て制限 .\" WORD: quota file 割り当て制限情報ファイル .\" WORD: quota file 割り当て制限を記録したファイル .\" WORD: usage 使用状況 .\" -.Dd March 10, 1995 +.Dd March 5, 1999 .Dt QUOTACTL 2 .Os .Sh 名称 .Nm quotactl .Nd ファイルシステム割り当て制限を操作する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int -.Fn quotactl "const char *path" "int cmd" "int id" "char *addr" +.Fn quotactl "const char *path" "int cmd" "int id" "void *addr" .Sh 解説 .Fn quotactl システムコールは、 ファイルシステムの割り当て制限を有効や無効にしたり、操作します。 .Fa cmd で与えられた割り当て制限制御コマンドは、指定のユーザ .Fa id に対して .Fa path で指定されたファイルを操作します (注釈: .Fa cmd の値を明確に表すために、 .Ao Pa ufs/ufs/quota.h Ac で定義されている QCMD マクロを使用すべきです)。 オプションとして各コマンド固有のデータ構造体のアドレスを .Fa addr に指定できます。 これがどう解釈されるかは各コマンド毎に後述します。 .Pp 現時点で、割り当て制限は .Dq ufs ファイルシステムについてのみサポートされています。 .Dq ufs の場合、コマンドは、主たるコマンド (後述) および .Fa id 引数の解釈方法を指示するコマンドタイプで構成されます。 コマンドタイプは、ユーザ識別子 (USRQUOTA) と グループ識別子 (GRPQUOTA) を解釈するものがサポートされています。 .Dq ufs 固有のコマンドは次のとおりです。 .Bl -tag -width Q_QUOTAOFFxx .It Dv Q_QUOTAON .Fa path で指定されるファイルシステム用のディスク割り当て制限を有効にします。 コマンドタイプには有効になっている割り当て制限の種類を指定します。 .Fa addr 引数には、割り当て制限情報を取り出すファイルを指定します。 割り当て制限を記録したファイルが存在している必要があります。 このファイルは通常、 .Xr quotacheck 8 プログラムで作成されます。 .Fa id 引数は使用されません。 スーパユーザだけが割り当て制限をオンにできます。 .It Dv Q_QUOTAOFF .Fa path で指定されるファイルシステムに対する、ディスク割り当て制限を無効にします。 コマンドタイプには、無効にする割り当て制限の種類を指定します。 .Fa addr 引数と .Fa id 引数は使用されません。 スーパユーザだけが割り当て制限をオフにできます。 .It Dv Q_GETQUOTA 識別子 .Fa id で指定されるユーザまたはグループ (どちらであるかはコマンドタイプによって決定されます) の、ディスク割り当て制限と現在の使用状況を取得します。 .Fa addr は、 .Fa struct dqblk 構造体 .Pf ( Ao Pa ufs/ufs/quota.h Ac で定義されています) を指すポインタです。 .It Dv Q_SETQUOTA 識別子 .Fa id で指定されるユーザまたはグループ (どちらであるかはコマンドタイプによって決定されます) のディスク割り当て制限を設定します。 .Fa addr は、 .Fa struct dqblk 構造体 .Pf ( Ao Pa ufs/ufs/quota.h Ac で定義されています) を指すポインタです。 .Fa dqblk 構造体の使用状況を示すフィールドは無視されます。 この呼び出しはスーパユーザだけに制限されています。 .It Dv Q_SETUSE 識別子 .Fa id で指定されるユーザまたはグループ (どちらであるかはコマンドタイプによって決定されます) のディスク使用制限を設定します。 .Fa addr は、 .Fa struct dqblk 構造体 .Pf ( Ao Pa ufs/ufs/quota.h Ac で定義されています) を指すポインタで、 使用状況を示すフィールドだけが使われます。 この呼び出しはスーパユーザだけに制限されています。 .It Dv Q_SYNC 割り当て使用状況の、ディスク上のコピーを更新します。 コマンドタイプには、どのタイプの割り当て制限を更新するかを指定します。 .Fa id パラメータと .Fa addr パラメータは無視されます。 .El .Sh 戻り値 処理が正常に完了すると 0 を返します。 そうでない場合は、値 -1 が返され、グローバル変数 .Va errno が失敗の理由を示します。 .Sh エラー .Fn quotactl 呼び出しは次の場合に失敗します。 -.Bl -tag -width ENAMETOOLONGAA +.Bl -tag -width Er .It Bq Er EOPNOTSUPP カーネルが .Dv QUOTA オプションを指定してコンパイルされていません。 .It Bq Er EUSERS 割り当て制限のテーブルを拡張できません。 .It Bq Er EINVAL .Fa cmd またはコマンドタイプが無効です。 .It Bq Er EACCES .Dv Q_QUOTAON において、割り当て制限情報ファイルがプレーンファイルではありません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er ENOTDIR 前置パス名の構成要素がディレクトリではありません。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT ファイル名が存在しません。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EROFS .Dv Q_QUOTAON で、割り当て制限を記録したファイルが 読取り専用ファイルシステム上にあります。 .It Bq Er EIO 割り当て制限を記録したファイルに読み書きしている間に .Tn I/O (入出力) エラーが発生しました。 .It Bq Er EFAULT 無効な .Fa addr が指定されました。 対応する構造体を、カーネル内またはカーネル外にコピーできませんでした。 .It Bq Er EFAULT .Fa path が、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EPERM 特権が必要な呼び出しであったにも関わらず、 スーパユーザでないユーザによって呼ばれました。 .El .Sh 関連項目 .Xr quota 1 , .Xr fstab 5 , .Xr edquota 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr repquota 8 .Sh バグ このシステムコールを .Xr setrlimit 2 および .Xr getrlimit 2 で提供されるリソース制限に関するインタフェースと統合する、 何らかの方法があるはずです。 .Sh 歴史 .Fn quotactl 関数は .Bx 4.3 Reno で登場しました。 diff --git a/ja_JP.eucJP/man/man2/read.2 b/ja_JP.eucJP/man/man2/read.2 index c63698b621..02091ce71a 100644 --- a/ja_JP.eucJP/man/man2/read.2 +++ b/ja_JP.eucJP/man/man2/read.2 @@ -1,261 +1,264 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)read.2 8.4 (Berkeley) 2/26/94 .\" .Dd February 26, 1994 .Dt READ 2 .Os BSD 4 .Sh 名称 .Nm read , .Nm readv , .Nm pread .Nd 入力を読取る +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft ssize_t .Fn read "int d" "void *buf" "size_t nbytes" .Ft ssize_t .Fn readv "int d" "const struct iovec *iov" "int iovcnt" .Ft ssize_t .Fn pread "int d" "void *buf" "size_t nbytes" "off_t offset" .Sh 解説 .Fn read は、記述子 .Fa d で参照されたオブジェクトから .Fa buf が指すバッファへ .Fa nbytes のデータを読取ろうとします。 .Fn readv は同様の処理を実行しようとしますが、配列 .Fa iov : iov[0], iov[1], ..., iov[iovcnt\|\-\|1] のメンバで指定される .Fa iovcnt 個のバッファに入力データを分散 させます。 .Fn pread は同様の機能を果たしますが、ファイルポインタを変更せずに ファイル内の指定の位置から読取ります。 .Pp .Fn readv に対する .Fa iovec 構造体は次のように定義されます。 .Pp .Bd -literal -offset indent -compact struct iovec { char *iov_base; /* ベースアドレス */ size_t iov_len; /* 長さ */ }; .Ed .Pp .Fa iovec の各エントリは、データを配置するべきメモリ領域のベースアドレスと 長さを指定しています。 .Fn readv は、次のエントリに進む前に必ず領域を完全に満たします。 .Pp シーク可能なオブジェクト上では .Fn read は .Fa d に対応するポインタが指定する位置から開始 します .Pf ( Xr lseek 2 を参照)。 .Fn read からの戻り時に、ポインタは、実際に読取られたバイト数 だけ増加させられます。 .Pp シークできないオブジェクトは必ず現在の位置から読取られます。 そのようなオブジェクトに対応するポインタの値は未定義です。 .Pp 処理が成功すると、 .Fn read , .Fn readv および .Fn pread は、実際に読取られバッファ内に配置されたバイト 数を返します。記述子が通常ファイルを参照しており、 ファイルの終端までに十分な量のバイトがあれば、 システムは要求されたバイト数を読取ることを保証しますが、 他のケースではそうではありません。 .Pp .Sh システムの注意事項 .Pp 非スレッドライブラリ .Fn read は .Va read システムコールとして実装されています。 .Pp スレッドライブラリの場合、 .Va read システムコールは .Fn _thread_sys_read にアセンブルされ、 .Fn read は読取り用に -.Va d +.Fa d をロックしてから .Fn _thread_sys_read を呼び出す関数として実装されています。 .Fn _thread_sys_read -の呼び出しがブロックする場合は、コンテキストスイッチが実行されます。戻る前に +の呼び出しがブロックする場合は、コンテキストスイッチが実行されます。 +戻る前に .Fn read は -.Va d +.Fa d をアンロックします。 .Pp 非スレッドライブラリ .Fn readv は .Va readv システムコールとして実装されています。 .Pp スレッドライブラリの場合、 .Va readv システムコールは .Fn _thread_sys_readv システムコールにアセンブルされ、 .Fn readv は、読取り用に -.Va d +.Fa d をロックしてから .Fn _thread_sys_readv を呼び出す関数として実装されています。 .Fn _thread_sys_readv の呼び出しがブロックする場合、コンテキストスイッチが実行されます。 戻る前に .Fn readv は -.Va d +.Fa d をアンロックします。 .Sh 戻り値 正常に完了すると、実際に読取られたバイト数が返されます。 ファイル終了 (EOF) が読取られると 0 が返されます。そうでない場合は -1 が返され、 エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn read , .Fn readv および .Fn pread は次の場合を除いて正常に完了します。 .Bl -tag -width Er .It Bq Er EBADF .Fa d は読取り用にオープンされた有効なファイルまたはソケットの記述子ではありません。 .It Bq Er EFAULT .Fa buf は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EIO ファイルシステムから読取っている間に入出力エラーが発生しました。 .It Bq Er EINTR データが到着する前に、シグナルの配送により低速デバイスからの読取りが 割り込まれました。 .It Bq Er EINVAL .Fa d に対応するポインタが負でした。 .It Bq Er EAGAIN ファイルは非ブロッキング入出力とマークされており、 読取りの準備ができたデータがありません。 .El .Pp さらに、 .Fn readv は次のエラーのうちの 1 つを返すことがあります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa iovcnt が 0 に等しいかまたは 0 未満であるか、または 16 より大きくなっています。 .It Bq Er EINVAL .Fa iov 配列の中の .Fa iov_len 値の 1 つが負でした。 .It Bq Er EINVAL .Fa iov 配列の中の .Fa iov_len 値の合計が 32 ビット整数をオーバーフローしました。 .It Bq Er EFAULT .Fa iov の一部が、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp .Fn pread 呼び出しも次のエラーを返すことがあります。 .Bl -tag -width Er .It Bq Er EINVAL 指定のファイルオフセットが有効ではありません。 .It Bq Er ESPIPE ファイル記述子がパイプ、ソケット、または FIFO に対応しています。 .El .Sh 関連項目 .Xr dup 2 , .Xr fcntl 2 , .Xr open 2 , .Xr pipe 2 , .Xr select 2 , .Xr socket 2 , .Xr socketpair 2 .Sh 規格 .Fn read 関数は .St -p1003.1-90 に準拠しています。 .Fn readv 関数と .Fn pread 関数は .St -xpg4.2 に準拠しています。 .Sh 歴史 .Fn pread 関数は .At V.4 で登場しました。 .Fn readv 関数は .Bx 4.2 で登場しました。 .Fn read 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/readlink.2 b/ja_JP.eucJP/man/man2/readlink.2 index c8c49a089b..ab6309b109 100644 --- a/ja_JP.eucJP/man/man2/readlink.2 +++ b/ja_JP.eucJP/man/man2/readlink.2 @@ -1,97 +1,99 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)readlink.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/readlink.2,v 1.6.2.1 1999/08/29 14:49:18 peter Exp % .\" .Dd June 4, 1993 .Dt READLINK 2 .Os BSD 4.2 .Sh 名称 .Nm readlink .Nd シンボリックリンクの値を読取る +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn readlink "const char *path" "char *buf" "int bufsiz" .Sh 解説 .Fn readlink は、 .Fa bufsiz サイズであるバッファ .Fa buf 内にシンボリックリンク .Fa path の内容を配置します。 .Fn readlink 関数は .Fa buf の末尾に .Dv NUL 文字を追加しません。 .Sh 戻り値 呼び出しは正常に完了すると文字のカウントをバッファ内に配置して戻ります。 エラーが起きた場合は -1 を返し、エラーコードがグローバル変数 .Va errno に設定されます。 .Sh エラー .Fn readlink は次の場合に失敗します。 -.Bl -tag -width ENAMETOOLONG +.Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EINVAL 指定のファイルがシンボリックリンクではありません。 .It Bq Er EIO ファイルシステムから読取る間に入出力エラーが発生しました。 .It Bq Er EFAULT .Fa buf は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr lstat 2 , .Xr stat 2 , .Xr symlink 2 , .Xr symlink 7 .Sh 歴史 .Fn readlink 関数は .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/reboot.2 b/ja_JP.eucJP/man/man2/reboot.2 index ad712ed725..69ee1c985b 100644 --- a/ja_JP.eucJP/man/man2/reboot.2 +++ b/ja_JP.eucJP/man/man2/reboot.2 @@ -1,163 +1,165 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)reboot.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/reboot.2,v 1.5.4.1 1999/09/18 16:19:00 phantom Exp % .\" .Dd June 4, 1993 .Dt REBOOT 2 .Os BSD 4 .Sh 名称 .Nm reboot .Nd システムをリブートするかまたはプロセッサを停止する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn reboot "int howto" .Sh 解説 .Fn reboot は、システムをリブートします。スーパユーザだけが必要に応じてマシンを リブートできます。しかし、回復不可能なシステム障害の場合は、 リブートは自動的に起動されます。 .Pp .Fa howto はオプションのマスクです。システムコールインタフェースは インクルードファイル .Aq Pa sys/reboot.h 内に定義された次のオプションを受付け、 新しいカーネルまたは新しいブートストラップと init プログラムに渡されるようにします。 .Bl -tag -width RB_INITNAMEA .It Dv RB_AUTOBOOT デフォルト。システムが通常の方法でリブートするようにします。 .It Dv RB_ASKNAME ブートストラッププログラム自体によって解釈され、 どのファイルをブートすべきかに ついて、コンソールにプロンプトを表示するようにします。 通常、システムはファイル .Dq Em xx Ns No (0,0)kernel からブートされます。ここで、 .Em xx はファイル名を入力するようにプロンプトを出さない場合の、 デフォルトのディスク名です。 .It Dv RB_DFLTROOT コンパイル時に指定されたルートデバイスを使用します。通常、システムは、 可能であればブートされたデバイスをルートデバイスとして使用します (デフォルトの動作は、システムがどのドライブからロードされたかを判別する ブートストラッププログラムの能力に依存します。これはすべてのシステムで 可能なわけではありません)。 .It Dv RB_DUMP リブートの前にカーネルメモリをダンプします。詳細については、 .Xr savecore 8 を参照してください。 .It Dv RB_HALT プロセッサは単に停止されます。リブートは起きません。 このオプションは注意して使用する必要があります。 .It Dv RB_POWEROFF システム停止の後、シャットダウンコードは、可能であれば電源を切ります。 これにはハードウェアのサポートが必要です。 .It Dv RB_INITNAME システムがリブートした際に、 .Pa /sbin/init 以外の init プログラム .Pf ( Xr init 8 を参照) が実行されるよう指定するオプション。 このスイッチは現時点では無効です。 .It Dv RB_KDB シンボルテーブルをロードし、システム内の組み込みデバッガを有効にします。 カーネルがデバッグ用に構成されていない場合、このオプションは意味を持ち ません。これ以外のいくつかのオプションは、 このオプションと組み合わせると通常と異なる意味を持つようになりますが、 それらの機能を使用することは .Fn reboot システムコールでは不可能な場合があります。詳細については、 .Xr kadb 4 を参照してください。 .It Dv RB_NOSYNC 通常、プロセッサが停止されるかまたはリブートされる前に、ディスクへまだ 書込まれていないデータがあればそれを書き込みます .Pf ( Xr sync 8 を参照)。 このオプションは、ファイルシステムへの変更が手作業で行われた場合や、 プロセッサが暴走している場合、有用なことがあります。 .It Dv RB_RDONLY 初期段階で、ルートファイルシステムを読取り専用でマウントします。 現在はこれがデフォルトであり、このオプションは無意味なものになっています。 .It Dv RB_SINGLE 通常のリブート処理ではまず自動的にディスクの一貫性チェックが行なわれ、 次いでマルチユーザ環境へ移行するようになっています。 .Dv RB_SINGLE は、これを行なわず、 システムをコンソール上のシングルユーザシェルでブートします。 .Dv RB_SINGLE は、実際にはブートし直されたシステムで .Xr init 8 プログラムによって解釈されます。 .El .Pp オプションを指定しない場合 (すなわち、 .Dv RB_AUTOBOOT が使用される場合)、システムは、プロセッサが所定の方法で選択した ユニット 0 のディスクの ルートファイルシステムにある .Dq kernel というファイルからリブートされます。 この際、通常はディスクの一貫性チェックが自動的に実行されます .Pf ( Xr fsck 8 を参照)。 .Sh 戻り値 正常に処理が終了した場合、この呼び出しは戻ることはありません。 そうでない場合は -1 が返され、エラーがグローバル変数 .Va errno 内に返されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EPERM 呼び出し側がスーパーユーザではありません。 .El .Sh 関連項目 .Xr crash 8 , .Xr halt 8 , .Xr init 8 , .Xr reboot 8 , .Xr savecore 8 .Sh バグ HP300 システムは、 .Dv RB_DFLTROOT と .Dv RB_KDB のどちらもサポートしていません。 .Sh 歴史 .Fn reboot 関数は .Bx 4.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/recv.2 b/ja_JP.eucJP/man/man2/recv.2 index 4606e1d53b..13a2658c70 100644 --- a/ja_JP.eucJP/man/man2/recv.2 +++ b/ja_JP.eucJP/man/man2/recv.2 @@ -1,283 +1,285 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)recv.2 8.3 (Berkeley) 2/21/94 .\" %FreeBSD: src/lib/libc/sys/recv.2,v 1.4.2.1 1999/09/18 16:19:00 phantom Exp % .\" .Dd February 21, 1994 .Dt RECV 2 .Os BSD 4.3r .Sh 名称 .Nm recv , .Nm recvfrom , .Nm recvmsg .Nd ソケットからメッセージを受信する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft ssize_t .Fn recv "int s" "void *buf" "size_t len" "int flags" .Ft ssize_t -.Fn recvfrom "int s" "void *buf" "size_t len" "int flags" "struct sockaddr *from" "int *fromlen" +.Fn recvfrom "int s" "void *buf" "size_t len" "int flags" "struct sockaddr *from" "socklen_t *fromlen" .Ft ssize_t .Fn recvmsg "int s" "struct msghdr *msg" "int flags" .Sh 解説 .Fn recvfrom と .Fn recvmsg は、ソケットからのメッセージを受信するのに使用され、 ソケットが接続指向であるかどうかと無関係にソケット上のデータを 受信するのに使用できます。 .Pp .Fa from が nil でなく、ソケットが接続指向でない場合、 メッセージのソースアドレスが記入されます。 .Fa fromlen は「値-結果」パラメータであり、 .Fa from に対応するバッファのサイズに初期化され、 戻り時には保存されたアドレスの実際のサイズを示すように 変更されます。 .Pp .Fn recv 呼出しは、通常 .Em 接続された ソケット上だけで使用され .Pf ( Xr connect 2 を参照)、 .Fa from パラメータに nil を指定した .Fn recvfrom と同一です。これは冗長なので、将来のリリースでは サポートされない可能性があります。 .Pp これら 3 つのルーチンは正常に完了するとメッセージの長さを返してきます。 メッセージが長すぎて指定のバッファに入らない場合は、 メッセージを受信したソケットのタイプによっては 超過分のバイトは破棄されるでしょう。 .Pf ( Xr socket 2 を参照)。 .Pp ソケットにメッセージが無い場合は、ソケットがノンブロッキング .Pf ( Xr fcntl 2 を参照) の場合を除き、呼出しはメッセージが到着するのを待ちます。 ソケットがノンブロッキングの場合、値 -1 が返され、外部変数 .Va errno が .Er EAGAIN に設定されます。通常受信呼出しは、要求された量を受信するまで待たずに、 得られたデータを要求された量を上限として返します。この動作は、 .Xr getsockopt 2 で説明したソケットレベルの オプション .Dv SO_RCVLOWAT および .Dv SO_RCVTIMEO によって影響を受けます。 .Pp .Xr select 2 呼出しは、さらなるデータがいつ到着するかを判定するのに使うことができます。 .Pp recv 呼出しへの .Fa flags 引数は、次の値の 1 つまたは複数の論理和 .\".Em or Ap ing .Em ( or ) から成ります。 .Bl -column MSG_WAITALL -offset indent .It Dv MSG_OOB プロセス帯域外データ .It Dv MSG_PEEK 着信メッセージの覗き見 (peek) .It Dv MSG_WAITALL 完全な要求またはエラーを待つ .El .Pp .Dv MSG_OOB フラグは、帯域外データの受信を要求し、 通常のデータストリームは受信されません。 急送データを通常のデータ待ち行列の先頭に配置するプロトコルもありますが、 このフラグはそのようなプロトコルでは使用できません。MSG_PEEK フラグは、 受信操作が、データを待ち行列から除去せずにそのデータを受信待ち行列の先頭から 返すようにします。したがって、後続の受信呼出しは同じデータ を返します。MSG_WAITALL フラグは、完全な要求が満たされるまで操作のブロックを 要求します。しかし、シグナルが補足された場合、エラーまたは切断が発生した場合、 または受信する次のデータが返されたものと異なるタイプ である場合、呼出しは要求されたより少ないデータを返す可能性があります。 .Pp .Fn recvmsg 呼び出しは、 直接に指定されるパラメータの数を最小にするために .Fa msghdr 構造体を使用します。この構造体は .Ao Pa sys/socket.h Ac で定義されているように、次の形式になっています。 .Pp .Bd -literal struct msghdr { caddr_t msg_name; /* オプションのアドレス */ u_int msg_namelen; /* アドレスのサイズ */ struct iovec *msg_iov; /* スキャッタ/ギャザー配列 */ u_int msg_iovlen; /* msg_iov の要素数 */ caddr_t msg_control; /* 補助データ、後述。 */ u_int msg_controllen; /* 補助データのバッファ長 */ int msg_flags; /* 受信されたメッセージ上のフラグ */ }; .Ed .Pp ここで .Fa msg_name と .Fa msg_namelen は、ソケットが接続されていない場合に、宛先アドレスを指定します。 名前が望まれない場合や必要でない場合、 .Fa msg_name は NULL ポインタとして指定できます。 .Fa msg_iov と .Fa msg_iovlen は .Xr read 2 で説明されているようにスキャッタ/ギャザの場所を記述します。 .Fa msg_control は、長さが .Fa msg_controllen で、他のプロトコル制御に関連するメッセージまたはその他の 各種補助データ用のバッファを指しています。メッセージは次の形式です。 .Bd -literal struct cmsghdr { u_int cmsg_len; /* データバイトカウント、hdr を含む */ int cmsg_level; /* メッセージを生成したプロトコル */ int cmsg_type; /* プロトコルに固有のタイプ */ /* u_char cmsg_data[]; が後に続く */ }; .Pp .Ed たとえば、これを使用して XNS/SPP または ISO における データストリームの変化を知り、 .Fn accept 呼び出しの直後に、データバッファを伴わずに recvmsg を要求して、 ユーザ接続要求を得ることができるでしょう。 .Pp 開いたファイル記述子はこれで .Dv AF_UNIX ドメインソケット用の補助データとして引き渡され、その際、 .Fa cmsg_level が .Dv SOL_SOCKET に設定され、 .Fa cmsg_type が .Dv SCM_RIGHTS に設定されます。 .Pp .Dv SCM_CREDS の .Fa cmsg_type を使用して、プロセスのクレデンシャルを .Dv AF_UNIX ドメインソケット用の補助データとして 渡すこともできます。このケースでは、 .Fa cmsg_data は、構造体 .Fa cmsgcred である必要があります。これは 次のように .Ao Pa sys/socket.h Ac 内で定義されています。 .Pp .Bd -literal struct cmsgcred { pid_t cmcred_pid; /* 送信プロセスの PID */ uid_t cmcred_uid; /* 送信プロセスの実 UID */ uid_t cmcred_euid; /* 送信プロセスの実効 UID */ gid_t cmcred_gid; /* 送信プロセスの実 GID */ short cmcred_ngroups; /* グループの数 */ gid_t cmcred_groups[CMGROUP_MAX]; /* グループ */ }; .Ed .Pp カーネルは送信プロセスのクレデンシャル情報を記入し、それを受信側へ配信します。 .Pp .Fa msg_flags フィールドは受信済みメッセージに従って戻り時に設定されます。 .Dv MSG_EOR はレコードの終了を示します: 返されたデータがレコードを完了しました (一般には、 タイプ .Dv SOCK_SEQPACKET のソケットとともに使用されます)。 .Dv MSG_TRUNC は、提供されたバッファよりデータグラムが大きかったので、 データグラムの後ろの部分が切り捨てられたことを示します。 .Dv MSG_CTRUNC は、補助データ用のバッファ内の空間の不足のためにいくらかの制御データが 切り捨てられたことを示します。 .Dv MSG_OOB は、急送または帯域外データが受信されたことを示します。 .Pp .Sh 戻り値 これらの呼出しは受信したバイト数を返し、エラーが起きた場合は -1 を返します。 .Sh エラー 呼び出しは次の場合に失敗します。 -.Bl -tag -width ENOTCONNAA +.Bl -tag -width Er .It Bq Er EBADF 引数 .Fa s が有効な記述子ではありません。 .It Bq Er ENOTCONN ソケットは接続指向プロトコルと関係付けられていますが、接続されていません .Pf ( Xr connect 2 と .Xr accept 2 を参照)。 .It Bq Er ENOTSOCK 引数 .Fa s はソケットを参照していません。 .It Bq Er EAGAIN ソケットはノンブロッキングとマークされており、 受信操作はブロックするでしょう。 あるいは、受信時間切れが設定されていて、 データが受信される前に時間切れになりました。 .It Bq Er EINTR データが得られるようになる前にシグナルの配信によって受信は割込まれました。 .It Bq Er EFAULT 受信バッファポインタが、プロセスに割り当てられたアドレス空間の 範囲外を指しています。 .El .Sh 関連項目 .Xr fcntl 2 , .Xr getsockopt 2 , .Xr read 2 , .Xr select 2 , .Xr socket 2 .Sh 歴史 .Fn recv 関数は .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/rename.2 b/ja_JP.eucJP/man/man2/rename.2 index 5e9e12de71..87b76843a3 100644 --- a/ja_JP.eucJP/man/man2/rename.2 +++ b/ja_JP.eucJP/man/man2/rename.2 @@ -1,189 +1,191 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)rename.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/rename.2,v 1.7.2.1 1999/08/29 14:49:18 peter Exp % .\" .Dd June 4, 1993 .Dt RENAME 2 .Os BSD 4.2 .Sh 名称 .Nm rename .Nd ファイル名を変更する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn rename "const char *from" "const char *to" .Sh 解説 .Fn rename によって .Fa from と名づけられたリンクを .Fa to に変更します。 .Fa to が存在する場合は、先に削除します。 .Fa from と .Fa to は同じタイプでなければならず (両方とも ディレクトリであるか、両方ともディレクトリではないか)、 同じファイルシステム上に存在している必要があります。 .Pp .Fn rename は、操作の途中でシステムがクラッシュしても .Fa to のインスタンスが必ず存在することを保証します。 .Pp .Fa from の最終構成要素がシンボリックリンクの場合、指しているファイルまたは ディレクトリではなく、そのシンボリックリンクの名前を変更します。 .\".Sh CAVEAT .\"The system can deadlock if a loop in the file system graph is present. .\"This loop takes the form of an entry in directory .\".Ql Pa a , .\"say .\".Ql Pa a/foo , .\"being a hard link to directory .\".Ql Pa b , .\"and an entry in .\"directory .\".Ql Pa b , .\"say .\".Ql Pa b/bar , .\"being a hard link .\"to directory .\".Ql Pa a . .\"When such a loop exists and two separate processes attempt to .\"perform .\".Ql rename a/foo b/bar .\"and .\".Ql rename b/bar a/foo , .\"respectively, .\"the system may deadlock attempting to lock .\"both directories for modification. .\"Hard links to directories should be .\"replaced by symbolic links by the system administrator. .Sh 戻り値 操作が正常に完了すると値 0 が返されます。そうでない場合、 .Fn rename は -1 を返し、グローバル変数 .Va errno は失敗の理由を示します。 .Sh エラー .Fn rename は次の場合、処理に失敗し、いずれの引数ファイルも影響を受けません。 -.Bl -tag -width ENAMETOOLONG +.Bl -tag -width Er .It Bq Er ENAMETOOLONG いずれかのパス名の構成要素が 255 文字を越えているか、またはいずれかの パス名全体の長さが 1023 文字を越えています。 .It Bq Er ENOENT .Fa from パスの構成要素が存在しないか、または .Fa to の前置パス名が存在しません。 .It Bq Er EACCES いずれかの前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 要求されたリンクは、書込み許可を拒否するモードの ディレクトリに書込みすることを要求しています。 .It Bq Er EPERM .Fa from ファイルを含むディレクトリにスティッキービットが設定されており、 そのディレクトリと .Fa from のどちらの所有者も実効ユーザ ID とは異なっています。 .It Bq Er EPERM .Fa to ファイルが存在し、かつ .Fa to を含んでいるディレクトリにスティッキービットが設定されており、 そのディレクトリと .Fa to ファイルのどちらの所有者も実効ユーザ ID とは異なっています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENOTDIR いずれかの前置パス名の構成要素がディレクトリではありません。 .It Bq Er ENOTDIR .Fa from はディレクトリですが、 .Fa to はディレクトリではありません。 .It Bq Er EISDIR .Fa to はディレクトリですが、 .Fa from はディレクトリではありません。 .It Bq Er EXDEV .Fa to によって指定されたリンク、および .Fa from によって指定されたファイルが 異なる論理デバイス (ファイルシステム) 上にあります。 実装がクロスデバイスリンクを許容する場合、このエラーコードは 返らないことに注意してください。 .It Bq Er ENOSPC ディレクトリを格納しているファイルシステム上の空間が枯渇したため、 新しい名前を入れるエントリが置かれるディレクトリを拡張できません。 .It Bq Er EDQUOT ディレクトリを格納しているファイルシステム上のディスクブロックのユーザの クォータが枯渇したため、 新しい名前を入れるエントリが置かれるディレクトリを拡張できません。 .It Bq Er EIO ディレクトリエントリを作成または更新している間に入出力エラーが発生しました。 .It Bq Er EROFS 要求されたリンクは、読取り専用ファイルシステム上のディレクトリに 書込みすることを要求しています。 .It Bq Er EFAULT .Em path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL .Fa from が .Fa to の親ディレクトリであるか、 -.Ql \&. +.Ql .\& または .Ql \&.. に名前を変更しようとしました。 .It Bq Er ENOTEMPTY .Fa to はディレクトリであり、空ではありません。 .El .Sh 関連項目 .Xr open 2 , .Xr symlink 7 .Sh 規格 .Fn rename 関数は .St -p1003.1-90 に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/revoke.2 b/ja_JP.eucJP/man/man2/revoke.2 index 763a936327..e310ef4666 100644 --- a/ja_JP.eucJP/man/man2/revoke.2 +++ b/ja_JP.eucJP/man/man2/revoke.2 @@ -1,107 +1,109 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Berkeley Software Design, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)revoke.2 8.1 (Berkeley) 6/4/93 .\" .Dd June 4, 1993 .Dt REVOKE 2 .Os .Sh 名称 .Nm revoke .Nd ファイルアクセスを無効にする +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn revoke "const char *path" .Sh 解説 .Fn revoke 関数は、 .Fa path によって指定されたファイルについて、システム内の現在の開いているすべての ファイル記述子を無効にします。 そのような記述子についての後続の操作は、 解除されたキャラクタ型デバイスファイルからの .Fn read がカウント 0 (ファイルの終了) を返して、後続する .Fn close 呼び出しが成功する場合を例外として、 処理を失敗します。 ただし、ファイルが開かれたデバイスについての特殊ファイルである場合、 デバイスを閉じる関数は、ファイルへのすべての開かれていた参照が 閉じられたものであったかのように呼び出されます。 .Pp ファイルへのアクセスはその所有者または スーパユーザによってだけ無効にされます。 .Fn revoke 関数は現時点ではブロック型およびキャラクタ型特殊ファイルについてだけ サポートされています。 これは通常、端末の前の使用者によるアクセスを防止し、 新しいログインセッション用に端末デバイスを準備 するのに使用されます。 .Sh 戻り値 値 0 は呼び出しが正常に完了したことを示します。 戻り値 -1 はエラーが起こったことを示し、理由を示すために .Va errno が設定されます。 .Sh エラー 次の場合を除いて、指定ファイルへのアクセスは無効にされます。 .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1024 文字を越えています。 .It Bq Er ENOENT 指定されたファイルまたはパス名の構成要素が存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL システムは、指定されたファイルについて .Fn revoke 操作をサポートしません。 .It Bq Er EPERM 呼び出し側がファイルの所有者でもスーパユーザでもありません。 .El .Sh 関連項目 .Xr close 2 .Sh 歴史 .Fn revoke 関数は .Bx 4.3 Reno で登場しました。 diff --git a/ja_JP.eucJP/man/man2/rfork.2 b/ja_JP.eucJP/man/man2/rfork.2 index 5bae2ec25e..bd3f1a10d4 100644 --- a/ja_JP.eucJP/man/man2/rfork.2 +++ b/ja_JP.eucJP/man/man2/rfork.2 @@ -1,138 +1,165 @@ .\" .\" This manual page is taken directly from Plan9, and modified to .\" describe the actual BSD implementation. Permission for .\" use of this page comes from Rob Pike . .\" -.Dd Jan 12, 1996 +.\" %FreeBSD: src/lib/libc/sys/rfork.2,v 1.11.2.5 2000/12/12 09:55:46 ru Exp % +.\" +.Dd January 12, 1996 .Dt RFORK 2 .Os .Sh 名称 .Nm rfork .Nd プロセスリソースの操作 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn rfork "int flags" .Sh 解説 -fork, vfork, と rfork が新しいプロセスが作成される唯一の方法です。 +fork, vfork, rfork は、新しいプロセスが作成される唯一の方法です。 .Fn rfork -への +への引数 .Fa flags -引数は、起動しているプロセス (親) のどのリソースが、新しいプロセス (子) に +は、起動しているプロセス (親) のどのリソースが新しいプロセス (子) に よって共有されるか、またはそれらのデフォルト値に初期化されるかを選択します。 -リソースにはオープンファイル記述子テーブル (これは、共有されたとき、 +リソースにはオープンファイル記述子テーブル (これは、共有される場合、 プロセスが他のプロセスについてファイルを開閉することを 許容します) およびオープンファイルが含まれます。 .Fa flags は次の項目の倫理和 (OR) です。 .Bl -tag -width "RFCNAMEG" -compact -offset indent .It RFPROC 設定されている場合、新しいプロセスが 作成されます。そうでない場合、変更が現在のプロセスに影響を及ぼします。 -現在のシステムでは、このフラグがいつでも設定されていることが要求されます。 +現在の実装は、このフラグが必ず設定されていることを要求します。 .It RFNOWAIT -設定されている場合、子プロセスは親から分離されます。終了時に、子は、 -親が集めるステータスを残しません。 +設定されている場合、子プロセスは親プロセスから分離されます。 +終了時に、子プロセスは、親プロセスが集めるステータスを残しません。 .Xr wait 2 を参照してください。 .It RFFDG 設定されている場合、起動側のファイル記述子テーブル .Pf ( Xr intro 2 を参照) が コピーされます。そうでない場合、2 つのプロセスが 1 つのテーブルを共有します。 .It RFCFDG 設定されている場合、新しいプロセスは新しいファイル記述子テーブルで 開始します。 .Dv RFFDG とは互いに排他的です。 .It RFMEM -設定されている場合、カーネルは、アドレス空間全体の共有を強制します。 -その際、子は、親プロセスが所有しているすべての共有セグメントを継承します。 -他のセグメントタイプは影響を受けません。親による後続の fork は、 -子の間で共通データと bss を影響させます。 -スタックセグメントは常に分割されます。 +設定されている場合、 +通常、ハードウェアのページテーブルを直接共有することで、 +カーネルはアドレス空間全体の共有を強制します。 +子は、この様な方法で、 +親プロセスが所有しているすべてのセグメントを、 +それが普段共有可能であるか否かに関係なく、 +継承し共有します。 +スタックセグメントは分割されない +(親と子の両方が同じスタック上に復帰する) +ので、 +RFMEM フラグを指定した +.Fn rfork +を通常、高級言語から直接呼び出すことはできません。 +例えば、C 言語でこのシステムコールを直接呼び出すことはできません。 +共に設定可能なフラグは .Dv RFPROC -とだけ共に設定することになるでしょう。 +だけです。 .It RFSIGSHARE 設定されている場合、カーネルは、親子間で sigacts 構造体を共有することを 強制します。 .It RFLINUXTHPN 設定されている場合、カーネルは、 子についてのスレッド終了時に、SIGCHILD の代わりに SIGUSR1 を返します。これは特定の Linux クローン動作を模倣するためです。 .El .Pp 共有ファイル記述子テーブル内のファイル記述子は、 明示的に閉じられるか、またはテーブルを 共有しているすべてのプロセスが終了するまで開いたままに保たれます。 .Pp .Dv RFPROC が設定されている場合、 親プロセス内で返される値は子プロセスのプロセス ID です。 子プロセス内で返される値は 0 です。 .Dv RFPROC がない場合、戻り値は 0 です。プロセス ID の範囲は 1 から最大整数値 .Ft ( int ) です。必要であれば、要求されたプロセスリソースが 利用できるようになるまで .Fn rfork は待機します。 .Pp .Fn fork は、 .Fn rfork "RFFDG | RFPROC" -への呼び出しとして実現できますが、後方互換性のためにでは -ありません。 +への呼び出しとして実装可能ですが、後方互換性のために +その様には実装していません。 .Sh 戻り値 正常に完了した場合、 .Fn rfork は、子プロセスに値 0 を返し、子プロセスのプロセス ID を親プロセスに 返します。そうでない場合、子プロセスは作成されずに、 値 -1 が親プロセスに返され、 エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn rfork は、次の場合に処理を失敗し、子プロセスは作成されません。 -.Bl -tag -width [EAGAIN] +.Bl -tag -width Er .It Bq Er EAGAIN 実行中のプロセスの合計数がシステムの課す制限を超過してしまいます。 制限は .Xr sysctl 3 MIB 変数 .Dv KERN_MAXPROC によって指定されます (スーパユーザを除いて、制限は実際には これより 1 少なくなります)。 .It Bq Er EAGAIN ユーザがスーパユーザではなく、 1 人のユーザによる実行中のプロセスの合計数 がシステムの課した制限を超過してしまいます。制限は、 .Xr sysctl 3 MIB 変数 .Dv KERN_MAXPROCPERUID によって指定されます。 .It Bq Er EAGAIN ユーザがスーパユーザではなく、リソースパラメータ .Dv RLIMIT_NOFILE -に対応するソフトリソースの限界を超過してしまいます +に対応するソフトリソースの制限を超過してしまいます .Pf ( Xr getrlimit 2 を参照)。 .It Bq Er EINVAL RFPROC フラグが指定されませんでした。 .It Bq Er EINVAL RFFDG フラグと RFCFDG フラグの両方が指定されました。 .It Bq Er ENOMEM 新しいプロセス用に十分なスワップ空間が不足しました。 .El .Sh 関連項目 .Xr fork 2 , .Xr intro 2 , .Xr minherit 2 , .Xr vfork 2 +.Sh BUGS +.Fx +は native な +.Fn clone +ライブラリコールを未だ実装していませんし、 +現在の pthreads 実装は RFMEM を指定した +.Fn rfork +を利用していません。 +linux スレッドライブラリの native port である、 +.Pa /usr/ports/devel/linuxthreads +は RFMEM を利用して動作する +.Fn clone +コールを含んでいます。 .Sh 歴史 .Fn rfork 関数は Plan9 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/rmdir.2 b/ja_JP.eucJP/man/man2/rmdir.2 index 64bcb8e07d..e523a74cc8 100644 --- a/ja_JP.eucJP/man/man2/rmdir.2 +++ b/ja_JP.eucJP/man/man2/rmdir.2 @@ -1,107 +1,110 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)rmdir.2 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/sys/rmdir.2,v 1.5.2.3 2000/12/29 14:44:53 ru Exp % .\" .Dd June 4, 1993 .Dt RMDIR 2 .Os BSD 4.2 .Sh 名称 .Nm rmdir .Nd ディレクトリファイルを削除する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn rmdir "const char *path" .Sh 解説 .Fn rmdir は、名前が .Fa path で指定されるディレクトリファイルを削除します。 ディレクトリには -.Ql \&. +.Ql .\& と .Ql \&.. 以外のエントリがあってはなりません。 .Sh 戻り値 削除が正常に完了すると 0 が返されます。そうでない場合は -1 が返され、 グローバル変数 .Va errno にエラーコードが保存されます。 .Sh エラー 次の場合を除いて、指定のファイルが削除されます。 -.Bl -tag -width [ENAMETOOLONG] +.Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたディレクトリが存在しません。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENOTEMPTY 指定されたディレクトリには -.Ql \&. +.Ql .\& と -.Ql \&.. +.Ql ..\& 以外のファイルが含まれています。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 削除するリンクが入っているディレクトリについて書込み許可が拒絶され ました。 .It Bq Er EPERM 削除するディレクトリが入っているディレクトリは スティッキービットが設定されており、 削除したいディレクトリを含んでいるディレクトリ または削除するディレクトリの どちらかあるいは両方の所有者が実効ユーザ ID とは異なっています。 .It Bq Er EBUSY 削除しようとしているディレクトリは、ファイルシステムがマウントされている マウントポイントです。 .It Bq Er EIO ディレクトリエントリを削除している間、または inode の割り当てを解除している 間に入出力エラーが発生しました。 .It Bq Er EROFS 削除するディレクトリエントリは読取り専用ファイルシステム上にあります。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr mkdir 2 , .Xr unlink 2 .Sh 歴史 .Fn rmdir 関数は .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/rtprio.2 b/ja_JP.eucJP/man/man2/rtprio.2 index c07a22ce1c..12f8aea6b2 100644 --- a/ja_JP.eucJP/man/man2/rtprio.2 +++ b/ja_JP.eucJP/man/man2/rtprio.2 @@ -1,117 +1,122 @@ .\" Copyright (c) 1994, Henrik Vestergaard Draboel .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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 Henrik Vestergaard Draboel. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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/sys/rtprio.2,v 1.10.2.2 1999/09/18 16:19:00 phantom Exp % +.\" %FreeBSD: src/lib/libc/sys/rtprio.2,v 1.13.2.5 2000/12/29 14:44:53 ru Exp % .\" .Dd July 23, 1994 .Dt RTPRIO 2 +.Os FreeBSD .Sh 名称 .Nm rtprio .Nd ユーティリティやプロセスのリアルタイムまたはアイドル優先順位を取得と修正 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn rtprio "int function" "pid_t pid" "struct rtprio *rtp" .Sh 解説 .Fn rtprio を使用して、 プロセスのリアルタイム/アイドル優先順位を取得または変更します。 .Pp .Fa function で実行する操作を指定します。現在の優先順位を取得するには RTP_LOOKUP、優先順位を設定するには RTP_SET です。 .Fa pid -は、対象のプロセスを指定します。現在のプロセスについては 0 です。 +は、対象のプロセスを指定します。現在のプロセスを指定するには 0 を使います。 .Pp .Fa *rtp は、優先順位と優先順位のタイプを指定するのに使用する struct rtprio を指す ポインタです。この構造体は次の型です。 .Bd -literal struct rtprio { u_short type; u_short prio; }; .Ed .Pp .Nm type の値は、リアルタイム優先順位については RTP_PRIO_REALTIME、 通常の優先順位については RTP_PRIO_NORMAL、 アイドル優先順位については RTP_PRIO_IDLE です。 .Nm prio によって指定する優先順位は、0 から .Dv RTP_PRIO_MAX (通常は 31) -の範囲になります。0 が可能な最高優先順位です。 +の範囲になります。0 が指定可能な最高の優先順位です。 .Pp リアルタイム優先順位とアイドル優先順位は、 fork() と exec() を通じて継承されます。 .Pp -リアルプロセスは、それ以上優先順位をもつプロセス、 +リアルタイムプロセスは、それ以上の優先順位をもつプロセス、 または割り込みによってだけ優先権を取得できます。 アイドル優先順位のプロセスは、 他のリアルタイムまたは通常の優先順位プロセスが 実行可能でないときにだけ実行されます。 -優先度の高いリアルまたはアイドルのプロセスは -優先度の低いリアルまたはアイドルのプロセスから優先権を取得します。 -優先度が等しいリアルまたはアイドルの +優先順位の高いリアルまたはアイドルのプロセスは +優先順位の低いリアルまたはアイドルのプロセスから優先権を取得します。 +優先順位が等しいリアルまたはアイドルの プロセスはラウンドロビン式で実行されます。 .Sh 戻り値 .Fn rtprio は正常に完了すると 0 を返し、エラーの場合は -1 を返します。 エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn rtprio は次の場合に処理を失敗します。 .Bl -tag -width Er .It Bq Er EINVAL 指定された .Fa prio が範囲外でした。 .It Bq Er EPERM 呼び出しプロセスがリアルタイム優先順位を設定できません。 -スーパユーザだけがプロセスのリアル優先順位を変更することができます。 -スーパユーザ以外は現在のプロセスのアイドル優先順位を変更できるだけです。 +スーパユーザだけが任意のプロセスのリアル優先順位を変更することができます。 +非スーパユーザは現在のプロセスのアイドル優先順位を変更できるだけです。 .It Bq Er ESRCH 指定のプロセスが見つかりませんでした。 +.El .Sh 作者 +.An -nosplit 元の作者は .An Henrik Vestergaard Draboel Aq hvd@terry.ping.dk です。 .Fx でのこの実装は主に David Greenman によって書き直されました。 .Sh 関連項目 .Xr nice 1 , .Xr ps 1 , .Xr rtprio 1 , .Xr setpriority 2 , .Xr nice 3 , .Xr renice 8 diff --git a/ja_JP.eucJP/man/man2/sched_get_priority_max.2 b/ja_JP.eucJP/man/man2/sched_get_priority_max.2 index 05ca3b2fd6..649b880c5e 100644 --- a/ja_JP.eucJP/man/man2/sched_get_priority_max.2 +++ b/ja_JP.eucJP/man/man2/sched_get_priority_max.2 @@ -1,119 +1,124 @@ -.\" %FreeBSD: src/lib/libc/sys/sched_get_priority_max.2,v 1.2.2.1 1999/08/29 14:49:19 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/sched_get_priority_max.2,v 1.3.2.5 2000/12/12 09:55:46 ru Exp % .\" Copyright (c) 1998 HD Associates, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" -.Dd Mar 12, 1998 +.Dd March 12, 1998 .Dt SCHED_GET_PRIORITY_MAX 2 .Os BSD 4 .Sh 名称 .Nm sched_get_priority_max , .Nm sched_get_priority_min , .Nm sched_rr_get_interval .Nd スケジュールパラメータ制限を取得する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn sched_get_priority_max "int policy" .Ft int .Fn sched_get_priority_min "int policy" .Ft int .Fn sched_rr_get_interval "pid_t pid" "struct timespec *interval" .Sh 解説 .Fn sched_get_priority_max 関数と .Fn sched_get_priority_min -関数は、指定された方針についてそれぞれ該当する最大と最小を返します。 +関数は、 +.Fa policy +で指定されたスケジューリング方針について、 +それぞれ該当する最大と最小を返します。 .Fn sched_rr_get_interval 関数は、 .Fa interval 引数によって参照される .Fa timespec 構造体を、 .Fa pid -によって指定されるプロセスについて +で指定されるプロセスについて 現在の実行時間制限 (すなわち、時間量) が含まれるように更新します。 .Fa pid -がゼロの場合、呼び出しプロセスに関する現在の実行時間制限が返されます。 +が 0 の場合、呼び出し元プロセスに関する現在の実行時間制限が返されます。 .Pp .Fa policy の値は .Fa で定義されたスケジュール方針の 1 つにする必要があります。 .Bl -tag -width [SCHED_OTHER] .It Bq Er SCHED_FIFO ラウンドロビンスケジュールなしの先入先出 (FIFO) 固定優先順位スケジュール。 .It Bq Er SCHED_OTHER 標準のタイムシェアリングスケジューラ。 .It Bq Er SCHED_RR -同じ優先順位でのラウンドロビンスケジューリング。 +同じ優先順位のプロセス間でのラウンドロビンスケジューリング。 .El .Sh 戻り値 正常に完了すると、 .Fn sched_get_priority_max 関数と .Fn sched_get_priority_min -関数はそれぞれ該当する最大値または最小値を返します。 -正常に完了しない場合、戻り値 -1 が返され、 -エラーを示すように +関数は、それぞれ該当する最大値または最小値を返します。 +正常に完了しない場合、どちらの関数も -1 を返し、 +エラーを示す様に .Fa errno -が設定されます。 +を設定します。 .Pp 正常に完了した場合、 .Fn sched_rr_get_interval 関数は 0 を返します。そうでない場合、 -値 -1 が返され、エラーを示すために +値 -1 を返し、エラーを示すために .Fa errno -が設定されます。 +を設定します。 .Sh エラー 処理を失敗すると、 .Va errno は対応する値に設定されます。 -.Bl -tag -width [EFAULT] +.Bl -tag -width Er .It Bq Er EINVAL .Fa policy パラメータの値が定義されているスケジュール方針ではありません。 .It Bq Er ENOSYS .Fn sched_get_priority_max 関数、 .Fn sched_get_priority_min 関数、 および .Fn sched_rr_get_interval -関数は、このシステムでサポートされていません。 +関数は、この実装ではサポートされていません。 .It Bq Er ESRCH .Fa pid -によって指定されるプロセスに対応するプロセスが見つかりません。 +で指定されるプロセスに対応するプロセスが見つかりません。 .El .Sh 関連項目 .Xr sched_get_scheduler 2 , .Xr sched_getparam 2 , .Xr sched_set_scheduler 2 , .Xr sched_setparam 2 .Sh 規格 .Fn sched_setscheduler 関数と .Fn sched_getscheduler 関数は .St -p1003.1b-93 に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/sched_setparam.2 b/ja_JP.eucJP/man/man2/sched_setparam.2 index 5557ee50c6..997f4a9b8a 100644 --- a/ja_JP.eucJP/man/man2/sched_setparam.2 +++ b/ja_JP.eucJP/man/man2/sched_setparam.2 @@ -1,176 +1,178 @@ -.\" %FreeBSD: src/lib/libc/sys/sched_setparam.2,v 1.3.2.1 1999/08/29 14:49:20 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/sched_setparam.2,v 1.4.2.4 2000/12/12 09:55:46 ru Exp % .\" Copyright (c) 1998 HD Associates, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" -.Dd Mar 12, 1998 +.Dd March 12, 1998 .Dt SCHED_SETPARAM 2 .Os BSD 4 .Sh 名称 .Nm sched_setparam , .Nm sched_getparam .Nd スケジュールパラメータの設定/取得 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn sched_setparam "pid_t pid" "const struct sched_param *param" .Ft int .Fn sched_getparam "pid_t pid" "struct sched_param *param" .Sh 解説 .Fn sched_setparam 関数は、 .Fa pid で指定するプロセスのスケジュールパラメータを、 .Fa param が指す .Fa sched_param 構造体の指定する値に設定します。 構造体 .Fa param の .Fa sched_priority メンバの値は、 .Fa pid で指定するプロセスの現在のスケジュール方針用の -優先度範囲内 (両端含む) の整数である必要があります。 +優先順位範囲内 (両端含む) の整数である必要があります。 優先順位の数値が高いほど優先順位が高いことを表します。 .Pp この実装では、 .Fa pid の値が負の場合、関数は処理に失敗します。 .Pp .Fa pid で指定するプロセスが存在し、かつ 呼び出し元プロセスにパーミッションがある場合、 プロセス ID が .Fa pid と等しいプロセスに対してスケジュールパラメータを設定します。 .Pp .Fa pid が 0 の場合、呼び出し元プロセスに対して スケジュールパラメータを設定します。 .Pp この実装では、あるプロセスが別のプロセスのスケジュールパラメータに いつ影響を及ぼせるのかという方針は、書込みスタイル操作として .Xr p1003_1b に指定されているものです。 .Pp ターゲットプロセスは、実行中にせよ実行中でないにせよ、 -優先順位が等しいかまたはより高い +優先順位が等しいかまたはより高い、 他のすべての実行可能なプロセスが実行されるようにスケジュールされた後で、 実行を再開します。 .Pp .Fa pid 引数で指定するプロセスの優先順位が、 最も優先順位の低い実行中のプロセスの優先順位より高く設定されており、 しかも指定のプロセスの実行準備ができている場合、 .Fa pid 引数で指定するプロセスは 優先順位が最も低い実行中のプロセスをプリエンプトします。 同じように、 .Fn sched_setparam を呼び出しているプロセスがその優先順位を、 1 つまたは複数の空でないプロセスリストの優先順位より低く設定する場合、 優先順位が最も高いリストの先頭のプロセスも 呼び出し元プロセスをプリエンプトします。 このように、いずれのケースでも、 優先順位の高いプロセスが実行されてしまうまで、 元のプロセスが要求した優先順位変更の完了通知を受信しない可能性があります。 .Pp この実装では、 .Fa pid で指定するプロセスの現在のスケジュール方針が通常のタイムシェアリング (SCHED_OTHER; POSIX ソースでない場合は SCHED_NORMAL) であるかアイドル方針 (POSIX ソースでない場合は SCHED_IDLE) であるなら、 その動作は、実在するリアルタイム優先順位よりも低い優先順位の SCHED_RR でプロセスが実行されていたかのようになります。 .Pp .Fn sched_getparam 関数は、 .Fa pid で指定するプロセスのスケジュールパラメータを .Fa param が指す .Fa sched_param 構造体に入れて返します。 .Pp .Fa pid で指定するプロセスが存在してかつ、 呼び出し元プロセスにパーミッションがある場合、 プロセス ID が .Fa pid に等しいプロセスのスケジュールパラメータを返します。 .Pp この実装では、あるプロセスが別のプロセスのスケジュールパラメータを いつ得られるかの方針は、読取りスタイル操作として .Xr p1003_1b に詳説されているものです。 .Pp .Fa pid が 0 の場合、呼び出し元プロセスのスケジュールパラメータを返します。 この実装では、 .Fa pid が負の場合、 .Fa sched_getparam 関数は処理に失敗します。 .Sh 戻り値 関数は正常に完了すると 0 を返し、そうでない場合は、値 -1 を返し、エラーを示すために .Va errno を設定します。 .Sh エラー 処理に失敗すると、 .Va errno を対応する値に設定します。 -.Bl -tag -width [EFAULT] +.Bl -tag -width Er .It Bq Er ENOSYS システムはこの機能をサポートするように構成されていません。 .It Bq Er EPERM 要求しているプロセスは、 .Xr p1003_1b で詳説されているパーミッションを持っていません。 .It Bq Er ESRCH .Fa pid で指定したプロセスに対応するプロセスが見つかりません。 .It Bq Er EINVAL .Fn sched_setparam で、要求された 1 つ以上のスケジュールパラメータが、指定の .Fa pid のスケジュール方針で定義された範囲の外側にあります。 .El .Sh 関連項目 .Xr sched_get_priority_max 2 , .Xr sched_get_priority_min 2 , .Xr sched_getscheduler 2 , .Xr sched_rr_get_interval 2 , .Xr sched_setscheduler 2 , .Xr sched_yield 2 .Sh 規格 .Fn sched_setparam 関数と .Fn sched_getparam 関数は .St -p1003.1b-93 に適合しています。 diff --git a/ja_JP.eucJP/man/man2/sched_setscheduler.2 b/ja_JP.eucJP/man/man2/sched_setscheduler.2 index 062ccd44a1..b6ec1906d8 100644 --- a/ja_JP.eucJP/man/man2/sched_setscheduler.2 +++ b/ja_JP.eucJP/man/man2/sched_setscheduler.2 @@ -1,167 +1,169 @@ -.\" %FreeBSD: src/lib/libc/sys/sched_setscheduler.2,v 1.2.2.1 1999/08/29 14:49:21 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/sched_setscheduler.2,v 1.3.2.5 2000/12/12 09:55:46 ru Exp % .\" Copyright (c) 1998 HD Associates, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" -.Dd Mar 12, 1998 +.Dd March 12, 1998 .Dt SCHED_SETSCHEDULER 2 .Os BSD 4 .Sh 名称 .Nm sched_setscheduler , .Nm sched_getscheduler .Nd スケジュール方針とスケジューラパラメータの設定/取得 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn sched_setscheduler "pid_t pid" "int policy" "const struct sched_param *param" .Ft int .Fn sched_getscheduler "pid_t pid" .Sh 解説 .Fn sched_setscheduler 関数は、 .Fa pid で指定したプロセスのスケジュール方針とスケジュールパラメータ を、それぞれ、 .Fa policy および .Fa param が指す .Fa sched_param 構造体の指定するパラメータに設定します。 .Fa param 構造体の .Fa sched_priority メンバの値は、 .Fa policy で指定するスケジュール方針用の 優先度範囲内 (両端含む) の整数である必要があります。 .Pp この実装では、 .Fa pid の値が負である場合、関数は処理に失敗します。 .Pp .Fa pid で指定するプロセスが存在し、かつ呼び出し元プロセスにパーミッションがある場合、 プロセス ID が .Fa pid と等しいプロセスに対して スケジュール方針とスケジュールパラメータを設定します。 .Pp .Fa pid が 0 の場合、呼び出し元プロセスに対して スケジュール方針とスケジュールパラメータを設定します。 .Pp この実装では、あるプロセスが別のプロセスのスケジュールパラメータに いつ影響を及ぼせるのかという方針は、書き込みスタイル操作として .Xr p1003_1b に指定されているものです。 .Pp スケジュール方針は .Fa 内にあります。 .Bl -tag -width [SCHED_OTHER] .It Bq Er SCHED_FIFO ラウンドロビンスケジュールのない、 先入先出優先順位固定スケジュール。 .It Bq Er SCHED_OTHER 標準のタイムシェアリングスケジューラ。 .It Bq Er SCHED_RR 同じ優先順位のプロセス間でのラウンドロビンスケジュール。 .El .Pp .Fa sched_param 構造体は .Fa に定義されています。 - +.Pp .Bd -literal -offset indent struct sched_param { int sched_priority; /* スケジュール優先順位 */ }; .Ed .Pp .Fn sched_getscheduler 関数は、 .Fa pid で指定するプロセスのスケジュール方針を返します。 .Pp .Fa pid で指定するプロセスが存在してかつ、 呼び出し元プロセスにパーミッションがある場合、 プロセス ID が .Fa pid に等しいプロセスのスケジュールパラメータを返します。 .Pp この実装では、あるプロセスが別のプロセスのスケジュールパラメータを いつ得られるかの方針は、読取りスタイル操作として .Xr p1003_1b に詳説されているものです。 .Pp .Fa pid が 0 の場合、呼び出し元プロセスのスケジュールパラメータを返します。 この実装では、 .Fa pid が負の場合、 .Fa sched_getscheduler 関数は処理に失敗します。 .Sh 戻り値 処理が正常に完了すると関数は 0 を返し、そうでない場合は、値 -1 を返し、 エラーを示すために .Va errno を設定します。 .Sh エラー 処理に失敗すると、 .Va errno を対応する値に設定します。 -.Bl -tag -width [EFAULT] +.Bl -tag -width Er .It Bq Er ENOSYS システムは、この機能をサポートするように構成されていません。 .It Bq Er EPERM 要求しているプロセスは .Xr p1003_1b で詳説されているパーミッションを持っていません。 .It Bq Er ESRCH .Fa pid で指定したプロセスに対応するプロセスが見つかりません。 .It Bq Er EINVAL .Fa policy パラメータの値が無効であるか、または .Fa param に含まれている -1 つまたは複数のパラメータが -指定のスケジュール方針で有効な範囲の外にあります。 +1 つまたは複数のパラメータが、 +指定されたスケジュール方針で有効な範囲の外にあります。 .El .Sh 関連項目 .Xr sched_get_priority_max 2 , .Xr sched_get_priority_min 2 , .Xr sched_getparam 2 , .Xr sched_rr_get_interval 2 , .Xr sched_setparam 2 , .Xr sched_yield 2 .Sh 規格 .Fn sched_setscheduler 関数と .Fn sched_getscheduler 関数は .St -p1003.1b-93 に適合しています。 diff --git a/ja_JP.eucJP/man/man2/sched_yield.2 b/ja_JP.eucJP/man/man2/sched_yield.2 index 29e2af7aac..99eee32333 100644 --- a/ja_JP.eucJP/man/man2/sched_yield.2 +++ b/ja_JP.eucJP/man/man2/sched_yield.2 @@ -1,58 +1,61 @@ -.\" %FreeBSD: src/lib/libc/sys/sched_yield.2,v 1.1.2.1 1999/08/29 14:49:21 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/sched_yield.2,v 1.2.2.5 2000/12/29 14:44:53 ru Exp % .\" Copyright (c) 1998 HD Associates, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" -.Dd Mar 12, 1998 +.Dd March 12, 1998 .Dt SCHED_YIELD 2 .Os BSD 4 .Sh 名称 .Nm sched_yield .Nd プロセッサを明け渡す +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn sched_yield void .Sh 解説 .Fn sched_yield 関数は、実行中のプロセスが再びプロセスリストの先頭になるまで、 プロセッサを放棄させます。 引数は指定しません。 .Sh 戻り値 .Fn sched_yield 関数は、正常に完了すると 0 を返します。そうでない場合は値 -1 を返して、 エラーを示すために .Va errno を設定します。 .Sh エラー 処理に失敗すると、 .Va errno に対応する値を設定します。 -.Bl -tag -width [EFAULT] +.Bl -tag -width Er .It Bq Er ENOSYS システムがこの機能をサポートするように構成されていません。 +.El .Sh 規格 .Fn sched_yield 関数は .St -p1003.1b-93 に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/select.2 b/ja_JP.eucJP/man/man2/select.2 index dbab05d2ec..89b3afedf6 100644 --- a/ja_JP.eucJP/man/man2/select.2 +++ b/ja_JP.eucJP/man/man2/select.2 @@ -1,196 +1,203 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)select.2 8.2 (Berkeley) 3/25/94 +.\" %FreeBSD: src/lib/libc/sys/select.2,v 1.14.2.1 2000/04/22 17:07:04 phantom Exp % .\" .Dd March 25, 1994 .Dt SELECT 2 .Os BSD 4.2 .Sh 名称 .Nm select .Nd 同期的な入出力の多重化 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn select "int nfds" "fd_set *readfds" "fd_set *writefds" "fd_set *exceptfds" "struct timeval *timeout" .Fn FD_SET fd &fdset .Fn FD_CLR fd &fdset .Fn FD_ISSET fd &fdset .Fn FD_ZERO &fdset .Sh 解説 .Fn select は、 .Fa readfds , .Fa writefds および .Fa exceptfds でアドレスを渡された入出力記述子集合を調べ、 それらの記述子のいくつかがそれぞれ、読取り準備完了であるか、 書込み準備完了であるか、または保留されている例外条件があるかを調べます。 -検出できる唯一の例外条件はソケット上に受信した帯外のデータです。 +検出可能な唯一の例外条件は、ソケット上に受信した帯外のデータです。 最初の .Fa nfds 個の記述子が各集合内でチェックされます。すなわち、記述子集合中の  0 〜 .Fa nfds Ns No -1 の記述子が調べられます。戻り時に .Fn select は指定の記述子集合を、要求された操作の準備ができている記述子で 構成される部分集合で置き換えます。 .Fn select は、すべての集合の中で準備ができた記述子の総数を返します。 .Pp 記述子の集合は、整数配列内のビットフィールドとして保存されます。 このような記述子集合を操作するために次のマクロが用意されています。 .Fn FD_ZERO &fdset は記述子集合 .Fa fdset を空集合で初期化します。 .Fn FD_SET fd &fdset は特定の記述子 .Fa fd を .Fa fdset に含めます。 .Fn FD_CLR fd &fdset は .Fa fd を .Fa fdset から削除します。 .Fn FD_ISSET fd &fdset は .Fa fd が .Fa fdset のメンバである場合は非 0 の値を、そうでない場合は 0 を返します。 これらのマクロの動作は、記述子の値が 0 未満であるか、または .Dv FD_SETSIZE 以上である場合は未定義です。 .Dv FD_SETSIZE は通常、少なくとも、システムがサポートする記述子の最大数に等しくなります。 .Pp .Fa timeout が、非 nil -のポインタである場合、それはセレクションが完了するのを -待機する最大インターバルを指定します。 +のポインタである場合、それはセレクションの完了を +待つ最大インターバルを指定します。 +システムの活動性が、このインターバルを不定時間延長する +ことがあります。 +.Pp .Fa timeout が nil ポインタの場合、 .Fn select は無限にブロックします。 +.Pp ポーリングのためには、 .Fa timeout 引数が非 nil で、値が 0 の  timeval 構造体を指しているべきです。 .Pp .Fa readfds , .Fa writefds および .Fa exceptfds のどれについても、いずれの記述子も興味がない場合は nil ポインタとして指定できます。 .Sh 戻り値 .Fn select は記述子集合に含まれている準備のできた記述子の数を返し、 エラーが起きた場合は -1 を返します。 タイムリミットが来ると、 .Fn select は 0 を返します。 割り込みによるものも含めて .Fn select がエラーで戻る場合は、記述子集合は変更されません。 .Sh エラー .Fn select から戻るエラーは次のことを示します。 .Bl -tag -width Er .It Bq Er EBADF 記述子集合のどれかが無効な記述子を指定していました。 .It Bq Er EINTR タイムリミットが切れる前あるいは選択したイベントのいずれかが起きる前に、 シグナルが配送されました。 .It Bq Er EINVAL 指定のタイムリミットは無効です。 どれかが負であるか、または大きすぎます。 .It Bq Er EINVAL .Fa nfds が無効でした。 .El .Sh 関連項目 .Xr accept 2 , .Xr connect 2 , .Xr getdtablesize 2 , .Xr gettimeofday 2 , .Xr read 2 , .Xr recv 2 , .Xr send 2 , .Xr write 2 , .Xr clocks 7 .Sh 注釈 .Dv FD_SETSIZE のデフォルトのサイズは現時点では  1024 です。 多数のオープンファイルを使用する可能性があるプログラムで .Fn select を実行するために、 .Aq Pa sys/types.h を取り込むヘッダを含める前にプログラムで .Dv FD_SETSIZE を定義することで、このサイズを増加できます。 .Pp .Fa nfds がオープンファイルの数より大きい場合、 .Fn select が未使用のファイル記述子を調査することは保証されていません。 歴史的な理由で、 .Fn select は最初の 256 個の記述子を必ず調査します。 .Sh バグ .Fn select は、時間値を適切に修正することで、 指定したタイムアウトからの残り時間を返す必要がおそらくあります。 これはシステムの将来のバージョンで実装される可能性があります。 このように、タイムアウトの値が .Fn select 呼び出しによって修正されないと想定するのは賢明ではありません。 .Sh 歴史 .Fn select 関数は .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/semctl.2 b/ja_JP.eucJP/man/man2/semctl.2 index 96ff07d311..69ecf5a546 100644 --- a/ja_JP.eucJP/man/man2/semctl.2 +++ b/ja_JP.eucJP/man/man2/semctl.2 @@ -1,185 +1,187 @@ .\" .\" Copyright (c) 1995 David Hovemeyer .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" 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/sys/semctl.2,v 1.8.2.1 1999/08/29 14:49:21 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/semctl.2,v 1.9.2.2 2000/12/29 14:44:53 ru Exp % .\" .Dd September 12, 1995 .Dt SEMCTL 2 .Os FreeBSD .Sh 名称 .Nm semctl .Nd セマフォ集合に対する操作を制御する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn semctl "int semid" "int semnum" "int cmd" ... .Sh 解説 .Fn semctl は、 -.Fa semid -で示されるセマフォ集合に対して .Fa cmd -が示す操作を実行します。 +が示す操作を +.Fa semid +で示されるセマフォ集合に対して実行します。 ある値の .Fa cmd に対しては、4 番目の引数 .Fa "union semun arg" が必要です。 .Fa arg パラメータを使用するコマンドの場合、 .Fa "union semun" は次のように定義されます。 .Bd -literal .\" .\" From : .\" union semun { int val; /* SETVAL 用の値 */ struct semid_ds *buf; /* IPC_STAT および IPC_SET 用のバッファ */ u_short *array; /* GETALL および SETALL 用の配列 */ }; .Ed .Pp コマンドは次のように実行されます。 .\" .\" This section based on Stevens, _Advanced Programming in the UNIX .\" Environment_. .\" .Bl -tag -width IPC_RMIDXXX .It Dv IPC_STAT セマフォ集合の .Fa "struct semid_ds" を取得し、 .Fa arg.buf -が指すメモリ内に保存します。 +が指すメモリに保存します。 .It Dv IPC_SET セマフォ集合の .Fa "struct semid_ds" のメンバ .Fa sem_perm.uid , .Fa sem_perm.gid および .Fa sem_perm.mode を、 .Fa arg.buf が指す構造体のメンバと一致するように変更します。 呼び出し元プロセスの実効ユーザ ID は、 .Fa sem_perm.uid または .Fa sem_perm.cuid のどちらかと一致する必要があるか、 またはスーパユーザ特権を持っている必要があります。 .It IPC_RMID セマフォ集合をただちにシステムから削除します。 -呼び出し元プロセスの実効ユーザ ID はセマフォ集合の +呼び出し元プロセスの実効ユーザ ID がセマフォ集合の .Fa sem_perm.uid または .Fa sem_perm.cuid と等しいか、またはプロセスがスーパユーザ特権を持っている必要があります。 .It Dv GETVAL セマフォ番号 .Fa semnum の値を返します。 .It Dv SETVAL セマフォ番号 .Fa semnum の値を .Fa arg.val に設定します。 .It Dv GETPID セマフォ番号 .Fa semnum について操作を実行した最後のプロセスの プロセス ID を返します。 .It Dv GETNCNT セマフォ番号 .Fa semnum の値が現在の値より大きくなるのを待っているプロセスの数を返します。 .It Dv GETZCNT セマフォ番号 .Fa semnum -の値が -0 になるのを待機しているプロセスの数を返します。 +の値が 0 になるのを待っているプロセスの数を返します。 .It Dv GETALL 集合内のすべてのセマフォの値を .Fa arg.array が指す配列内へ取得します。 .It Dv SETALL 集合内のすべてのセマフォの値を .Fa arg.array が指す配列内の値に設定します。 .El .Pp .Fa "struct semid_ds" は次のように定義されます。 .Bd -literal .\" .\" Taken straight from . .\" struct semid_ds { struct ipc_perm sem_perm; /* 操作パーミッション構造体 */ struct sem *sem_base; /* 集合内の最初のセマフォへのポインタ */ u_short sem_nsems; /* 集合内のセマフォの数 */ time_t sem_otime; /* 最後の操作時刻 */ long sem_pad1; /* SVABI/386 によるとこれが必要 */ time_t sem_ctime; /* 最後の変更時刻 */ /* 00:00:00 GMT, Jan. 1, 1970 */ /* からの秒単位の経過時間 */ long sem_pad2; /* SVABI/386 によるとこれが必要 */ long sem_pad3[4]; /* SVABI/386 によるとこれが必要 */ }; .Ed .Sh 戻り値 処理が正常に完了すると、 .Fa cmd が GETVAL, GETNCNT または GETZCNT のどれかであるとき、 .Fn semctl は対応する値を返します。そうでない場合は 0 を返します。 処理に失敗した場合は、 -1 を返し、エラーを示すために .Va errno を設定します。 .Sh エラー .Fn semctl は次の場合に処理に失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa semid に対応するセマフォ集合がありません。 .It Bq Er EINVAL .Fa semnum が、指定のセマフォ集合に対して有効なセマフォの範囲内にありません。 .It Bq Er EPERM 呼び出し元プロセスの実効ユーザ ID が、 セマフォ集合の所有者または作成者のユーザ ID と一致しません。 .It Bq Er EACCES 操作とセマフォ集合のモードの間に不一致があったために パーミッションが拒否されました。 +.El .Sh 関連項目 .Xr semget 2 , .Xr semop 2 diff --git a/ja_JP.eucJP/man/man2/semget.2 b/ja_JP.eucJP/man/man2/semget.2 index 8100f19cae..7c40a80040 100644 --- a/ja_JP.eucJP/man/man2/semget.2 +++ b/ja_JP.eucJP/man/man2/semget.2 @@ -1,153 +1,156 @@ .\" .\" Copyright (c) 1995 David Hovemeyer .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" 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/sys/semget.2,v 1.6.2.1 1999/08/29 14:49:22 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/semget.2,v 1.7.2.2 2000/12/29 14:44:53 ru Exp % .\" .Dd September 12, 1995 .Dt SEMGET 2 .Os FreeBSD .Sh 名称 .Nm semget .Nd セマフォ ID を取得する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn semget "key_t key" "int nsems" "int flag" .Sh 解説 .Fa key と .Fa flag の値に基づき、 .Fn semget は新たに作成された、あるいは 以前から存在するセマフォ集合の識別子を返します。 .\" .\" This is copied verbatim from the shmget manpage. Perhaps .\" it should go in a common manpage, such as .Xr ipc 2 .\" キーはファイル名に類似しています。 キーは IPC オブジェクトに名前を付けるハンドルを提供します。 キーを指定する方法は 3 つあります。 .Bl -bullet .It IPC_PRIVATE を指定できます。この場合、新しい IPC オブジェクトが作成されます。 .It 整数定数を指定できます。 .Fa key に対応する IPC オブジェクトが指定されておらず、しかも IPC_CREAT ビットを .Fa flag 引数で設定している場合、新しい IPC オブジェクトが作成されます。 .It .Fn ftok を使用して、パス名からキーを生成できます。 .Xr ftok 3 を参照してください。 .El .\" .\" Likewise for this section, except SHM_* becomes SEM_*. .\" .Pp 新しく作成される IPC オブジェクトのモードは、次の定数の論理和 ( .Em OR ) を .Fa flag パラメータに設定することで決定されます。 .Bl -tag -width XSEM_WXX6XXX .It Dv SEM_R ユーザ用の読取りアクセス .It Dv SEM_A ユーザ用の書換えアクセス .It Dv (SEM_R>>3) グループ用の読取りアクセス .It Dv (SEM_A>>3) グループ用の書換えアクセス .It Dv (SEM_R>>6) その他用の読取りアクセス .It Dv (SEM_A>>6) その他用の書換えアクセス .El .Pp 新しいセマフォ集合が作成されている場合、 .Fa nsems を使用して、集合の中に入れる必要のある セマフォの数を示します。そうでない場合、 .Fa nsems を 0 として指定できます。 .Sh 戻り値 .Fn semget は、正常に完了するとセマフォ集合の識別子を返します。 そうでない場合は、 -1 を返し、エラーを示すように .Va errno を設定します。 .Sh エラー .Fn semget は次の場合に処理に失敗します。 .Bl -tag -width Er .\" ipcperm could fail (we're opening to read and write, as it were) .It Bq Er EACCES アクセスパーミッション障害。 .\" .\" sysv_sem.c is quite explicit about these, so I'm pretty sure .\" this is accurate .\" .It Bq Er EEXIST IPC_CREAT および IPC_EXCL が指定されているのに、 .Fa key に対応するセマフォ集合が既に存在します。 .It Bq Er EINVAL -システムが課している集合単位の最大値を、要求されたセマフォの数が -超過しています。 +要求されたセマフォの数が、 +システムが集合単位で課している最大値を超過しています。 .It Bq Er ENOSPC 利用可能なセマフォが不足しています。 .It Bq Er ENOSPC カーネルが .Fa "struct semid_ds" を割当てできませんでした。 .It Bq Er ENOENT .Fa key に対応するセマフォ集合が見つからず、その際に IPC_CREAT が指定されていませんでした。 +.El .Sh 関連項目 .Xr semctl 2 , .Xr semop 2 , .Xr ftok 3 diff --git a/ja_JP.eucJP/man/man2/semop.2 b/ja_JP.eucJP/man/man2/semop.2 index bf9f1e5e49..24a91c27e5 100644 --- a/ja_JP.eucJP/man/man2/semop.2 +++ b/ja_JP.eucJP/man/man2/semop.2 @@ -1,213 +1,216 @@ .\" .\" Copyright (c) 1995 David Hovemeyer .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" 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/sys/semop.2,v 1.6.2.1 1999/08/29 14:49:22 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/semop.2,v 1.7.2.3 2000/12/29 14:44:53 ru Exp % .\" .\" WORD: atomic 不可分な [POSIX] .\" WORD: adjust on exit 終了時調整 .Dd September 22, 1995 .Dt SEMOP 2 .Os FreeBSD .Sh 名称 .Nm semop .Nd セマフォ集合に対する不可分な操作の配列 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn semop "int semid" "struct sembuf array[]" "unsigned nops" .Sh 解説 .Fn semop は、 .Fa semid が示すセマフォ集合に対して、 .Fa array が示す操作の配列を不可分に実行します。 .Fa array の長さは .Fa nops で示します。 各操作は .Fa "struct sembuf" 内にエンコードされており、 .Fa "struct sembuf" は次のように定義されます。 .Bd -literal .\" .\" From .\" struct sembuf { u_short sem_num; /* セマフォ番号 */ short sem_op; /* セマフォ操作 */ short sem_flg; /* 操作フラグ */ }; .Ed .Pp .Fa array 内の各要素に関し、 .Fa sem_op と .Fa sem_flg は、集合内のセマフォ番号 .Fa sem_num に対して実行される操作を決定します。 指定した操作の動作を変更するために、 SEM_UNDO と IPC_NOWAIT の値の論理和 ( .Em OR ) を取って .Fa sem_flg メンバに入れることが可能です。 .Pp 実行される操作は次のように .Fa sem_op の値に依存します。 .\" .\" This section is based on the description of semop() in .\" Stevens, _Advanced Programming in the UNIX Environment_. .\" .Bl -bullet .It .Fa sem_op が正の場合、セマフォの値を .Fa sem_op の値だけ増加させます。 SEM_UNDO を指定した場合、セマフォの終了時調整値を .Fa sem_op の値だけ減少させます。 .Fa sem_op についての正の値は、一般に、 セマフォに結び付けられた資源をリリースするプロセスに対応します。 .It .Fa sem_op が負の場合の動作は、セマフォの現在の値に依存します。 .Bl -bullet .It セマフォの現在の値が .Fa sem_op の絶対値と等しいかそれより大きい場合、セマフォの値を .Fa sem_op の絶対値だけ減少させます。 SEM_UNDO が指定されている場合、セマフォの終了時調整値を .Fa sem_op の絶対値だけ増加させます。 .It セマフォの現在値が .Fa sem_op の値未満の場合、次のどれかが発生します。 .\" XXX a *second* sublist? .Bl -bullet .It IPC_NOWAIT を指定した場合、 .Fn semop は戻り値 -EAGAIN +.Er EAGAIN でただちに復帰します。 .It .Fn semctl の IPC_RMID オプションを用いて、他のプロセスがセマフォを削除してしまった場合、 .Fn semop は戻り値 -EINVAL +.Er EINVAL でただちに復帰します。 .It それ以外の場合、セマフォの値が .Fa sem_op の絶対値に等しいかそれより大きくなるまで、 呼び出し元プロセスは休眠状態になります。 この条件が真になるとき、セマフォの値を .Fa sem_op の絶対値だけ減少させ、セマフォの終了時調整値を .Fa sem_op の絶対値だけ増加させます。 .El .Pp .Fa sem_op が負の値であるときは、一般に、 資源が利用可能になるのをプロセスが待っていることに なります。 .El .Pp .It .Fa sem_op が 0 の場合、プロセスはセマフォの値が 0 になるのを待ちます。 既に 0 の場合は、 .Fn semop の呼び出しからただちに復帰します。 そうでない場合、呼び出し元プロセスは、セマフォの値が 0 になるまで休眠状態になります。 .El .Pp プロセスが使用しているセマフォごとに、カーネルは、 先に述べたように「終了時調整」値を保持します。 自発的であれ非自発的にであれ、プロセスが終了するときには、 各セマフォに対する終了時調整値がセマフォの値に追加されます。 これを、プロセスが予期せず終了してしまう場合に 資源を必ず解放することを保証するのに使用可能です。 .Sh 戻り値 正常に完了すると、 .Fn semop は 0 を返します。そうでない場合、 -1 を返し、エラーを示すために .Va errno を設定します。 .Sh エラー .Fn semop は次の場合に失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa semid に対応するセマフォ集合がありません。 .It Bq Er EACCES 操作とセマフォ集合のモードの間で不一致があるため、 パーミッションが拒否されました。 .It Bq Er EAGAIN セマフォの値が .Fa sem_op 未満で、かつ IPC_NOWAIT が指定されました。 .It Bq Er E2BIG あまりに多くの操作が指定されました。 .It Bq Er EFBIG .\" .\" I'd have thought this would be EINVAL, but the source says .\" EFBIG. .\" .Fa sem_num が集合に対する有効なセマフォの範囲内にありませんでした。 +.El .Sh 関連項目 .Xr semctl 2 , .Xr semget 2 diff --git a/ja_JP.eucJP/man/man2/send.2 b/ja_JP.eucJP/man/man2/send.2 index 6bb22bca3b..ffa00161a8 100644 --- a/ja_JP.eucJP/man/man2/send.2 +++ b/ja_JP.eucJP/man/man2/send.2 @@ -1,202 +1,204 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" From: @(#)send.2 8.2 (Berkeley) 2/21/94 -.\" %FreeBSD: src/lib/libc/sys/send.2,v 1.8.2.1 1999/08/29 14:49:23 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/send.2,v 1.10.2.1 2000/04/22 17:07:05 phantom Exp % .\" .Dd February 15, 1995 .Dt SEND 2 .Os BSD 4.2 .Sh 名称 .Nm send , .Nm sendto , .Nm sendmsg .Nd ソケットからメッセージを送信する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft ssize_t .Fn send "int s" "const void *msg" "size_t len" "int flags" .Ft ssize_t -.Fn sendto "int s" "const void *msg" "size_t len" "int flags" "const struct sockaddr *to" "int tolen" +.Fn sendto "int s" "const void *msg" "size_t len" "int flags" "const struct sockaddr *to" "socklen_t tolen" .Ft ssize_t .Fn sendmsg "int s" "const struct msghdr *msg" "int flags" .Sh 解説 .Fn send , .Fn sendto および .Fn sendmsg は、メッセージを別のソケットに送信するのに使用されます。 .Fn send は、ソケットが .Em 接続された 状態にあるときにだけ使用できるのに対し、 .Fn sendto と .Fn sendmsg はいつでも使用できます。 .Pp ターゲットのアドレスを .Fa to で与え、 .Fa tolen でそのサイズを指定します。 メッセージの長さは .Fa len で指定します。 メッセージが長すぎて基層となるプロトコルを不可分に通過できない場合、 エラー .Er EMSGSIZE を返し、メッセージを送信しません。 .Pp .Fn send では、配送できないことはまったく示されません。 戻り値 -1 はローカルで検出されたエラーを示します。 .Pp 送信するメッセージを保持するスペースがソケットに無い場合 .Fn send は通常ブロックします。 ただし、ソケットが非ブロッキング入出力モードに設定されている場合は別です。 .Xr select 2 呼出しを使用して、さらに多くのデータをいつ送信できるか判定できます。 .Pp .Fa flags パラメータには次に示されるもののうち 1 つまたは複数を含めることが可能です。 .Bd -literal #define MSG_OOB 0x1 /* 帯域外データを処理する */ #define MSG_PEEK 0x2 /* 着信メッセージを覗く */ -#define MSG_DONTROUTE 0x4 /* ルーティングをバイパス、インタフェースを直接使用する */ +#define MSG_DONTROUTE 0x4 /* ルーティングをバイパスし、インタフェースを直接使用する */ #define MSG_EOR 0x8 /* このデータでレコードを終了する */ #define MSG_EOF 0x100 /* このデータでトランザクションを終了する */ .Ed .Pp フラグ .Dv MSG_OOB は、この概念をサポートするソケット (たとえば、 .Dv SOCK_STREAM ) 上の .Dq 帯域外 データを送信するのに使用されます。 基層となっているプロトコルも .Dq 帯域外 データをサポートする必要があります。 .Dv MSG_EOR は、この概念をサポートするプロトコル用のレコード マークを示すのに使用されます。 .Dv MSG_EOF は、ソケットの送信側のシャットダウンを要求し、 指定データの終了時に、適切な指示の送信を要求します。 このフラグは、 .Dv PF_INET プロトコルファミリの .Dv SOCK_STREAM ソケットについてだけ実装され、トランザクション .Tn TCP ( .Xr ttcp 4 を参照 ) を実装するのに使用されます。 .Dv MSG_DONTROUTE は通常、診断プログラムまたは経路設定プログラムで使用されます。 .Pp .Fa msghdr 構造体の詳細については、 .Xr recv 2 を参照してください。 .Sh 戻り値 この呼出しは送信された文字数を返し、エラーが起きた場合は -1 を返します。 .Sh エラー .Fn send , .Fn sendto および .Fn sendmsg は次の場合に実行に失敗します。 .Bl -tag -width Er .It Bq Er EBADF 無効な記述子が指定されました。 .It Bq Er EACCES 宛先アドレスはブロードキャストアドレスであり、 .Dv SO_BROADCAST がソケット上に設定されていません。 .It Bq Er ENOTSOCK 引数 .Fa s がソケットではありません。 .It Bq Er EFAULT パラメータについて無効なユーザ空間アドレスが指定されました。 .It Bq Er EMSGSIZE ソケットはメッセージが不可分に送信されることを要求していますが、 送信されるメッセージのサイズでは不可能です。 .It Bq Er EAGAIN ソケットは非ブロッキングとマークされており、 要求された操作はブロックするでしょう。 .It Bq Er ENOBUFS システムは内部バッファを割当てることができませんでした。 バッファが利用可能になったときに操作が成功する可能性があります。 .It Bq Er ENOBUFS ネットワークインタフェース用の出力キューが満杯でした。 これは一般に、インタフェースが送信を停止したものの、 それが一時的な輻輳によって起こったことを示します。 .It Bq Er EHOSTUNREACH リモートホストに到達できませんでした。 .El .Sh バグ .Fn sendmsg はデータが転送されてしまうまで必ずしもブロックしないので、 オープンされているファイル記述子を .Dv AF_UNIX ドメインソケット ( .Xr recv 2 を参照 ) 経由で送信し、それから実際に送信される前に .Fn close する可能性があります。 その結果、受信側は閉じたファイル記述子を得ることになります。 これを防止する確認メカニズムの実装は アプリケーションで行う必要があります。 .Sh 関連項目 .Xr fcntl 2 , .Xr getsockopt 2 , .Xr recv 2 , .Xr select 2 , .Xr socket 2 , .Xr write 2 .Sh 歴史 .Fn send -関数呼出しは +関数呼び出しは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/sendfile.2 b/ja_JP.eucJP/man/man2/sendfile.2 index cd0582cb28..f13c150b0e 100644 --- a/ja_JP.eucJP/man/man2/sendfile.2 +++ b/ja_JP.eucJP/man/man2/sendfile.2 @@ -1,159 +1,192 @@ .\" Copyright (c) 1998, David Greenman .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice unmodified, this list of conditions, and the following .\" disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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/sys/sendfile.2,v 1.2.2.3 1999/08/29 14:49:24 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/sendfile.2,v 1.6.2.3 2000/12/08 13:49:32 ru Exp % .\" .Dd November 5, 1998 .Dt SENDFILE 2 .Os .Sh 名称 .Nm sendfile .Nd ファイルをソケットに送信 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn sendfile "int fd" "int s" "off_t offset" "size_t nbytes" "struct sf_hdtr *hdtr" "off_t *sbytes" "int flags" .Sh 解説 .Fn sendfile は、記述子 .Fa fd によって指定された通常のファイルを、記述子 .Fa s によって指定されたストリームソケットから送信します。 .Pp .Fa offset 引数はファイルのどこから開始すべきかを指定します。 .Fa nbytes 引数は、ファイルの何バイトを送信する必要があるかを指定します。 0 は、 -ファイル終了に到達するまで送信という特殊な意味を持ちます。 +ファイルの終わりに到達するまで送信という特殊な意味を持ちます。 .Pp オプションのヘッダまたはトレーラ、またはその両方は、構造体 sf_hdtr を 指すポインタを指定することによってファイルの前と後で送信できます。 構造体 sf_hdtr の構造は次のとおりです。 .Pp .Bd -literal -offset indent -compact struct sf_hdtr { struct iovec *headers; /*ヘッダ iovecs を指すポインタ*/ int hdr_cnt; /*ヘッダ iovecs の数*/ struct iovec *trailers; /*トレーラ iovecs を指すポインタ */ int trl_cnt; /*トレーラ iovecs の数*/ }; .Ed .Pp .Fa headers ポインタと .Fa tailers ポインタは、 NULL でない場合に構造体 iovec 構造の配列を 指します。 iovec 構造体の詳細については、 .Fn writev -システムコールを参照してください。これらの配列内の iovecs の数は、 +システムコールを参照してください。 +これらの配列内の iovecs の数は、 .Fa hdr_cnt と .Fa trl_cnt によって指定されます。 .Pp NULL でない場合に、システムは、ソケット上に送信された合計バイト数を、 .Fa sbytes によって指された変数に書込みます。 .Pp .Fa flags 引数は現時点では未定義であり、 0 として指定する必要があります。 .Pp 非ブロッキング入出力用に指定されたソケットを使用するときに、 .Fn sendfile -は要求されたよりも少ないバイトを送信することがあります。この場合、正常に -書込まれたバイト数が +は要求されたよりも少ないバイトを送信することがあります。 +この場合、正常に書込まれたバイト数が .Fa *sbytes (指定されている場合) に返され、エラー .Er EAGAIN が返されます。 .Sh 実装上の注釈 -.Pp .Fn sendfile -の FreeBSD での実装は「0 コピー」です。すなわち、ファイルデータのコピー +の +.Fx +での実装は「0 コピー」です。すなわち、ファイルデータのコピー が回避されるように最適化されています。 +.Pp +非スレッドライブラリでは、 +.Fn sendfile +は +.Va sendfile +システムコールとして実装されています。 +.Pp +スレッドライブラリでは、 +.Va sendfile +システムコールは +.Fn _thread_sys_sendfile +にアセンブルされ、 +.Fn sendfile +は読取り用に +.Fa fd +、書込み用に +.Fa s +をロックしてから +.Fn _thread_sys_sendfile +を呼び出す関数として実装されています。 +.Fn _thread_sys_sendfile +の呼び出しがブロックする場合は、コンテキストスイッチが実行されます。 +戻る前に、 +.Fn sendfile +は +.Fa fd +と +.Fa s +をアンロックします。 .Sh 戻り値 正常に完了すると、 .Fn sendfile は 0 を返します。そうでない場合は -1 が返され、 エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EBADF .Fa fd が有効なファイル記述子ではありません。 .It Bq Er EBADF .Fa s が有効なソケット記述子ではありません。 .It Bq Er ENOTSOCK .Fa s がソケットではありません。 .It Bq Er EINVAL .Fa fd が通常のファイルではありません。 .It Bq Er EINVAL .Fa s が SOCK_STREAM 型のソケットではありません。 .It Bq Er EINVAL .Fa offset が負であるか、または範囲外です。 .It Bq Er ENOTCONN .Fa s は、未接続のソケットを指しています。 .It Bq Er EPIPE 通信相手が接続を閉じてしまいました。 .It Bq Er EIO .Fa fd から読取る間に入出力エラーが発生しました。 .It Bq Er EFAULT パラメータについて無効なアドレスが指定されました。 .It Bq Er EAGAIN ソケットは非ブロッキング入出力と指定されており、ソケットバッファが 満杯であるためにすべてのデータが送信されたわけではありません。 指定された場合、送信が正常に完了したバイト数が .Fa *sbytes 内に返されます。 .El .Sh 関連項目 .Xr open 2 , .Xr send 2 , .Xr socket 2 , .Xr writev 2 .Sh 歴史 .Fn sendfile は、はじめて .Fx 3.0 で登場しました。このマニュアルページは .Fx 3.1 ではじめて登場しました。 .Sh 作者 .Fn sendfile とこのマニュアルページは .An David Greenman Aq dg@root.com が作成しました。 diff --git a/ja_JP.eucJP/man/man2/setgroups.2 b/ja_JP.eucJP/man/man2/setgroups.2 index 510f4b21e3..41bb5134d8 100644 --- a/ja_JP.eucJP/man/man2/setgroups.2 +++ b/ja_JP.eucJP/man/man2/setgroups.2 @@ -1,82 +1,85 @@ .\" Copyright (c) 1983, 1991, 1993, 1994 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)setgroups.2 8.2 (Berkeley) 4/16/94 +.\" %FreeBSD: src/lib/libc/sys/setgroups.2,v 1.4.2.1 2000/04/22 17:07:05 phantom Exp % .\" .Dd April 16, 1994 .Dt SETGROUPS 2 .Os BSD 4.2 .Sh 名称 .Nm setgroups -.Nd グループ アクセス リストを設定する +.Nd グループアクセスリストを設定する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn setgroups "int ngroups" "const gid_t *gidset" .Sh 解説 .Fn setgroups は、配列 .Fa gidset に従って、現在のユーザプロセスのグループアクセスリストを設定します。 パラメータ .Fa ngroups は、配列内のエントリの数を示し、 .Ao Pa sys/param.h Ac 内に定義されている値 .Dv NGROUPS を超えてはいけません。 .Pp スーパユーザだけが新しいグループを設定できます。 .Sh 戻り値 正常に完了すると値 0 が返されます。エラーがあったときは -1 が返され、 エラーコードが .Va errno に保存されます。 .Sh エラー .Fn setgroups 呼び出しは次の場合に処理に失敗します。 .Bl -tag -width Er .It Bq Er EPERM -呼び出し側がスーパユーザではありません。 +スーパユーザ以外のユーザによって呼び出されました。 .It Bq Er EFAULT .Fa gidset に指定されたアドレスは、 プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr getgroups 2 , .Xr initgroups 3 .Sh 歴史 .Fn setgroups 関数呼び出しは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/setpgid.2 b/ja_JP.eucJP/man/man2/setpgid.2 index 408811a28c..e68c912416 100644 --- a/ja_JP.eucJP/man/man2/setpgid.2 +++ b/ja_JP.eucJP/man/man2/setpgid.2 @@ -1,89 +1,92 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)setpgid.2 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/sys/setpgid.2,v 1.5.2.3 2000/08/23 00:45:19 jhb Exp % .\" .Dd June 4, 1993 .Dt SETPGID 2 .Os BSD 4 .Sh 名称 .Nm setpgid , .Nm setpgrp -.Nd プロセス グループを設定する +.Nd プロセスグループを設定する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn setpgid "pid_t pid" "pid_t pgrp" .Ft int .Fn setpgrp "pid_t pid" "pid_t pgrp" .Sh 解説 .Fn setpgid -は、指定された -.Ar pid -プロセスのプロセスグループを指定された +は、指定されたプロセス +.Fa pid +のプロセスグループを指定された .Ar pgrp に設定します。 -.Ar pid +.Fa pid が 0 の場合、呼び出しは現在のプロセスに適用されます。 .Pp -起動側がスーパユーザでない場合、影響を受けるプロセスは、起動側と同じ -実効ユーザ ID を持っているか、または起動プロセスの子孫である必要が +呼び出し側がスーパユーザでない場合、影響を受けるプロセスは、呼び出し側と同じ +実効ユーザ ID を持っているか、または呼び出し側プロセスの子孫である必要が あります。 .Sh 戻り値 .Fn setpgid は、正常に処理を完了したときに 0 を返します。要求が失敗した場合は、 -1 が返され、理由を示すグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn setpgid は、次の場合に処理を失敗し、プロセスグループは変更されません。 -.Bl -tag -width indent +.Bl -tag -width Er .It Bq Er ESRCH 要求されたプロセスが存在しません。 .It Bq Er EPERM 要求されたプロセスの実効ユーザ ID は呼び出し側の実効ユーザ ID と 異なっており、プロセスは呼び出し側プロセスの子孫ではありません。 .El .Sh 関連項目 .Xr getpgrp 2 .Sh 規格 .Fn setpgid 関数呼び出しは .St -p1003.1-90 に準拠します。 .Sh 互換性 .Fn setpgrp は、 .Fn setpgid と同一であり、 .Bx の旧バージョンとの呼び出し規約互換のために保持されています。 diff --git a/ja_JP.eucJP/man/man2/setregid.2 b/ja_JP.eucJP/man/man2/setregid.2 index 6cca7abb59..724dccc1fa 100644 --- a/ja_JP.eucJP/man/man2/setregid.2 +++ b/ja_JP.eucJP/man/man2/setregid.2 @@ -1,88 +1,91 @@ .\" Copyright (c) 1980, 1991, 1993, 1994 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)setregid.2 8.2 (Berkeley) 4/16/94 +.\" %FreeBSD: src/lib/libc/sys/setregid.2,v 1.6.2.2 2000/05/06 13:34:14 phantom Exp % .\" .Dd April 16, 1994 .Dt SETREGID 2 .Os BSD 4.2 .Sh 名称 .Nm setregid .Nd 実グループ ID と実効グループ ID を設定する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn setregid "gid_t rgid" "gid_t egid" .Sh 解説 現在のプロセスの実グループ ID と実効グループ ID を引数で 指定されたように設定します。 -特権のないユーザは、実グループ ID を実効グループ ID に、そして -実効グループ ID を実グループ ID に変更できます。スーパユーザだけが -他の変更を行えます。 +特権のないユーザは、実グループ ID をその実効グループ ID に、または +実効グループ ID をその実グループ ID に変更できます。スーパユーザだけが +その他の変更を行えます。 .Pp 実グループ ID と実効グループ ID のどちらかに値 -1 を指定す ると、システムは -1 パラメータの代わりに現在の ID で置き換えます。 .Pp .Fn setregid 関数は、 set-group-ID プログラム内の実グループ ID と実効グループ ID を -スワップし、 set-group-ID 値を一時的に放棄できるように作られました。 -この関数は正しく機能せず、その目的のためには今では +スワップし、 set-group-ID 値を一時的に放棄できるようにするために作られました。 +この関数は正しく機能せず、その目的は、今では .Fn setegid 関数 ( .Xr setuid 2 -を参照 ) の使用によってより良く達成できます。 +を参照 ) を使用するとより良く達成できます。 .Pp 実グループ ID と実効グループ ID を同じ値に設定するときは、 標準の .Fn setgid 関数を使用してください。 .Sh 戻り値 処理が正常に完了すると、値 0 が返されます。 そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー -.Bl -tag -width [EPERM] +.Bl -tag -width Er .It Bq Er EPERM -現在のプロセスがスーパユーザでなく、実効グループ ID を実グループ ID に +現在のプロセスがスーパユーザでなく、その実効グループ ID をその実グループ ID に 変更する以外の変更が指定されました。 .El .Sh 関連項目 .Xr getgid 2 , .Xr issetugid 2 , .Xr setegid 2 , .Xr setgid 2 , .Xr setuid 2 .Sh 歴史 .Fn setregid システムコールは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/setreuid.2 b/ja_JP.eucJP/man/man2/setreuid.2 index 002be8ed6b..e846c0b444 100644 --- a/ja_JP.eucJP/man/man2/setreuid.2 +++ b/ja_JP.eucJP/man/man2/setreuid.2 @@ -1,85 +1,89 @@ .\" Copyright (c) 1980, 1991, 1993, 1994 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)setreuid.2 8.2 (Berkeley) 4/16/94 +.\" %FreeBSD: src/lib/libc/sys/setreuid.2,v 1.6.2.2 2000/05/06 13:34:14 phantom Exp % .\" .Dd April 16, 1994 .Dt SETREUID 2 .Os BSD 4 .Sh 名称 .Nm setreuid .Nd 実ユーザ ID と実効ユーザ ID を設定する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn setreuid "uid_t ruid" "uid_t euid" .Sh 解説 -現在のプロセスの実ユーザ ID と実効ユーザ ID が引数に従って設定されます。 +現在のプロセスの実ユーザ ID と実効ユーザ ID が引数に従って設定 +されます。 .Fa ruid または .Fa euid -が -1 の場合、現在の uid がシステムによって入れられます。特権のない -ユーザは、実ユーザ ID を実効ユーザ ID に、および実効ユーザ ID を -実ユーザ ID に変更できます。スーパユーザだけが他の変更を行えます。 +が -1 の場合、現在の uid が指定されたことになります。特権のない +ユーザは、実ユーザ ID をその実効ユーザ ID に、または実効ユーザ ID を +その実ユーザ ID に変更できます。スーパユーザだけがその他の変更を行えます。 .Pp .Fn setreuid 関数は set-user-ID プログラム内で実ユーザ ID と実効ユーザ ID を -スワップし、 set-user-ID の値を一時的に放棄するように使われてきました。 +スワップし、 set-user-ID の値を一時的に放棄するために使われてきました。 この目的は、現在では .Fn seteuid 関数 ( .Xr setuid 2 -を参照 ) の使用によってより良く達成できます。 +を参照 ) を使用するとより良く達成できます。 .Pp 実ユーザ ID と実効ユーザ ID を同じ値に設定するときは、標準の .Fn setuid 関数を使用するようにしてください。 .Sh 戻り値 処理が正常に完了すると、値 0 が返されます。 そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー -.Bl -tag -width [EPERM] +.Bl -tag -width Er .It Bq Er EPERM 現在のプロセスがスーパユーザでなく、実効ユーザ ID を実ユーザ ID に 変更する以外の変更が指定されました。 .El .Sh 関連項目 .Xr getuid 2 , .Xr issetugid 2 , .Xr seteuid 2 , .Xr setuid 2 .Sh 歴史 .Fn setreuid システムコールは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/setsid.2 b/ja_JP.eucJP/man/man2/setsid.2 index 966efb8a5e..eab4e15b1e 100644 --- a/ja_JP.eucJP/man/man2/setsid.2 +++ b/ja_JP.eucJP/man/man2/setsid.2 @@ -1,76 +1,79 @@ .\" Copyright (c) 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)setsid.2 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/sys/setsid.2,v 1.10.2.1 2000/04/22 17:07:06 phantom Exp % .\" .Dd June 4, 1993 .Dt SETSID 2 .Os .Sh 名称 .Nm setsid .Nd セッションを作成しプロセスグループ ID を設定する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft pid_t .Fn setsid void .Sh 解説 .Fn setsid 関数は新しいセッションを作成します。呼び出しセッションは新しい セッションのセッションリーダであり、新しいプロセスグループの プロセスグループリーダで、制御端末はありません。 呼び出しプロセスは、セッションまたは プロセスグループのどちらかにある唯一のプロセスです。 .Sh 戻り値 正常に完了すると、 .Fn setsid 関数は、新しいプロセスグループのプロセスグループ ID の値を返します。 これは呼び出しプロセスのプロセス ID と同じです。エラーが起きると、 .Fn setsid は -1 を返し、エラーを示すためにグローバル変数 .Va errno を設定します。 .Sh エラー .Fn setsid 関数は次の場合に処理を失敗します。 .Bl -tag -width Er .It Bq Er EPERM 呼び出しプロセスが既にプロセスグループリーダであるか、 -または呼び出しプロセス以外のプロセスグループ ID が +または呼び出しプロセス以外のプロセスのプロセスグループ ID が 呼び出しプロセスのプロセス ID と一致します。 .Sh 関連項目 .Xr setpgid 2 , .Xr tcgetpgrp 3 , .Xr tcsetpgrp 3 .Sh 規格 .Fn setsid 関数は .St -p1003.1-90 仕様に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/setuid.2 b/ja_JP.eucJP/man/man2/setuid.2 index 4a83f3be8f..d9ae99f78f 100644 --- a/ja_JP.eucJP/man/man2/setuid.2 +++ b/ja_JP.eucJP/man/man2/setuid.2 @@ -1,147 +1,150 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)setuid.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/setuid.2,v 1.12.2.1 1999/08/29 14:49:24 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/setuid.2,v 1.13.2.1 2000/04/22 17:07:06 phantom Exp % .\" .Dd June 4, 1993 .Dt SETUID 2 .Os BSD 4.2 .Sh 名称 .Nm setuid , .Nm seteuid , .Nm setgid , .Nm setegid , .Nd ユーザ ID とグループ ID を設定する +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn setuid "uid_t uid" .Ft int .Fn seteuid "uid_t euid" .Ft int .Fn setgid "gid_t gid" .Ft int .Fn setegid "gid_t egid" .Sh 解説 .Fn setuid 関数は、現在のプロセスの実ユーザ ID と実効ユーザ ID と -現在のプロセスの保存された set-user-ID を指定した値に設定します。 +退避グループ ID を指定した値に設定します。 .\" Comment out next block for !_POSIX_SAVED_IDS .\" The real user ID and the saved set-user-ID are changed only if the .\" effective user ID is that of the super user. .\" I.e. .\" .Fn setuid .\" function is equal to .\" .Fn seteuid .\" function if the effective user ID is not that of the super user. .\" End of block .Fn setuid 関数が許容されるのは、指定の ID がプロセスの実ユーザ ID または実効ユーザ ID に等しい場合、 -または実効ユーザ ID がスーパユーザの実効ユーザ ID と等しい場合です。 +または実効ユーザ ID がスーパユーザのものと等しい場合です。 .\" Comment out next line for !_POSIX_SAVED_IDS .\" or the saved set-user-ID .\" Next line is for Appendix B.4.2.2 case. .Pp .Fn setgid 関数は、現在のプロセスの実グループ ID と実効グループ ID と -現在のプロセスの保存された set-group-ID を指定した値に設定します。 +退避グループ ID を指定した値に設定します。 .\" Comment out next block for !_POSIX_SAVED_IDS .\" The real group ID and the saved set-group-ID are changed only if the .\" effective user ID is that of the super user. .\" I.e. .\" .Fn setgid .\" function is equal to .\" .Fn setegid .\" function if the effective user ID is not that of the super user. .\" End of block .Fn setgid 関数が許容されるのは、指定の ID がプロセスの実グループ ID または実効グループ ID に等しい場合、 -または実効ユーザ ID がスーパユーザの実効ユーザ ID と等しい場合です。 +または実効ユーザ ID がスーパユーザのものと等しい場合です。 .\" Comment out next line for !_POSIX_SAVED_IDS .\" or the saved set-group-ID .\" Next line is for Appendix B.4.2.2 case. .Pp .Fn seteuid 関数 .Pq Fn setegid -は、現在のプロセスの実効ユーザ ( グループ ID ) を設定します。 +は、現在のプロセスの実効ユーザ (グループ ID) を設定します。 実効ユーザ ID は実ユーザ ID -または現在のプロセスの保存された set-user-ID ( +または退避ユーザ ID ( .Xr intro 2 と .Xr execve 2 を参照 ) の値に設定できます。これを利用し、 -set-user-ID 実行可能ファイルの実効ユーザ ID を、実ユーザ ID に切り替え、 -次に set-user-ID 値に戻ることによって再有効化して切り替えることできます。 +set-user-ID 実行可能ファイルの実効ユーザ ID を実ユーザ ID に切り替えた後に、 +set-user-ID 値に戻ることで、元の権限を得ることができます。 同じように、実効グループ ID は、 -実グループ ID または保存された set-user-ID の値に設定できます。 +実グループ ID または退避ユーザ ID の値に設定できます。 .Pp .Sh 戻り値 正常に完了すると、これらの関数は 0 を返します。 そうでない場合は、-1 が返されます。 .Pp -ユーザがスーパユーザでない場合、または指定された uid が実 ID 、 -実効 ID 、または保存された ID でない場合、これらの関数は -1 を返します。 +ユーザがスーパユーザでない場合、または指定された uid がその実 ID 、 +実効 ID 、または退避 ID でない場合、これらの関数は -1 を返します。 .Sh 関連項目 .Xr getgid 2 , .Xr getuid 2 , .Xr issetugid 2 , .Xr setregid 2 , .Xr setreuid 2 .Sh 規格 .Fn setuid 関数と .Fn setgid 関数は .St -p1003.1-90 仕様と互換性があります。ただし、 .Li _POSIX_SAVED_IDS .\" Uncomment next line for !_POSIX_SAVED_IDS は付録 B.4.2.2 の許可された拡張で定義されていません。 .Fn seteuid 関数と .Fn setegid 関数は、 .Li _POSIX_SAVED_IDS の .Tn POSIX -コンセプトを基礎にして拡張してあり、規格の将来の改定用に提案されています。 +コンセプトを基礎にして拡張してあり、規格の将来の改定用に提案されて +います。 .Sh 歴史 .Fn setuid 関数呼び出しと .Fn setgid 関数呼び出しは .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/shmat.2 b/ja_JP.eucJP/man/man2/shmat.2 index f451dc1bae..62453f30b1 100644 --- a/ja_JP.eucJP/man/man2/shmat.2 +++ b/ja_JP.eucJP/man/man2/shmat.2 @@ -1,108 +1,112 @@ .\" .\" Copyright (c) 1995 David Hovemeyer .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" 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/sys/shmat.2,v 1.6.2.2 1999/08/29 14:49:25 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/shmat.2,v 1.8.2.2 2000/12/29 14:44:53 ru Exp % .\" .Dd August 2, 1995 .Dt SHMAT 2 .Os FreeBSD .Sh 名称 .Nm shmat , .Nm shmdt .Nd 共有メモリをアタッチまたはデタッチする +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft void * .Fn shmat "int shmid" "void *addr" "int flag" .Ft int .Fn shmdt "void *addr" .Sh 解説 .Fn shmat は、 .Fa shmid -によって識別された共有メモリセグメントを呼び出しプロセスのアドレス空間に -アタッチします。セグメントがアタッチされるアドレスは次のように決定されます。 +によって識別された共有メモリセグメントを呼び出しプロセスの +アドレス空間にアタッチします。セグメントがアタッチされる +アドレスは次のように決定されます。 .\" .\" These are cribbed almost exactly from Stevens, _Advanced Programming in .\" the UNIX Environment_. .\" .Bl -bullet .It .Fa addr が 0 の場合、セグメントは、カーネルが選択したアドレスにアタッチされます。 .It .Fa addr が 0 でなく、しかも SHM_RND が .Fa flag で指定されない場合、セグメントは指定のアドレスにアタッチされます。 .It .Fa addr が指定されており、しかも SHM_RND が指定されている場合、 .Fa addr は最も近い SHMLBA の倍数に切捨てされます。 .El .Pp .Fn shmdt は、 .Fa addr で指定されるアドレスにある共有メモリセグメントを、呼び出しプロセスの アドレス空間からデタッチします。 .Sh 戻り値 正常に完了すると、 .Fn shmat はセグメントがアタッチされているアドレスを返します。そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Pp 正常に完了すると、 .Fn shmdt は 0 を返します。そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn shmat は次の場合に処理を失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa shmid に対応する共有メモリセグメントが見つかりませんでした。 .It Bq Er EINVAL .Fa addr が有効なアドレスではありませんでした。 .El .Pp .Fn shmdt は次の場合に処理に失敗します。 .Bl -tag -width Er .It Bq Er EINVAL .Fa addr は共有メモリセグメントを指していません。 +.El .Sh 関連項目 .Xr shmctl 2 , .Xr shmget 2 diff --git a/ja_JP.eucJP/man/man2/shmctl.2 b/ja_JP.eucJP/man/man2/shmctl.2 index b0300b7160..9170c9ddf7 100644 --- a/ja_JP.eucJP/man/man2/shmctl.2 +++ b/ja_JP.eucJP/man/man2/shmctl.2 @@ -1,137 +1,140 @@ .\" .\" Copyright (c) 1995 David Hovemeyer .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" 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/sys/shmctl.2,v 1.7.2.2 1999/08/29 14:49:25 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/shmctl.2,v 1.9.2.2 2000/12/29 14:44:53 ru Exp % .\" .Dd July 17, 1995 .Dt SHMCTL 2 .Os FreeBSD .Sh 名称 .Nm shmctl .Nd 共有メモリ制御 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn shmctl "int shmid" "int cmd" "struct shmid_ds *buf" .Sh 解説 .Fa shmid によって指定された共有メモリセグメント上で .Fa cmd によって指定された処理を実行します。 .Bl -tag -width SHM_UNLOCKX .It Dv IPC_STAT .Fa "struct shmid_ds" のセグメントを取得し、 .Fa buf によって指定されたメモリにそれを保存します。 .\" .\" XXX need to make sure that this is correct for FreeBSD .\" .It Dv IPC_SET .Fa "struct shmid_ds" セグメントの .Fa shm_perm.uid , .Fa shm_perm.gid , および .Fa shm_perm.mode の各メンバを .Fa buf -に指された構造体のメンバに変更します。 +で指された構造体のメンバに変更します。 呼び出しプロセスの実効ユーザ ID は、 .Fa shm_perm.uid または .Fa shm_perm.cuid -のどちらかと一致、またはスーパユーザ特権を持っている必要があります。 +のどちらかと一致するか、またはスーパユーザ特権を持っている +必要があります。 .It Dv IPC_RMID システムからセグメントを除去します。セグメントにアタッチしたすべての -プロセスが終了するまで、除去は有効になりません。しかし、いったん -IPC_RMID 操作が実行されると、それ以上のプロセスはそのセグメントに +プロセスが終了するまで、除去は行われません。しかし、いったん +IPC_RMID 操作が実行されると、それ以降プロセスはそのセグメントに アタッチすることを許されません。操作が成功するためには、 呼び出しプロセスの実効ユーザ ID が .Fa shm_perm.uid または .Fa shm_perm.cuid -と一致、または、呼び出しプロセスにスーパユーザ特権が必要です。 +と一致するか、または呼び出しプロセスにスーパユーザ特権が必要です。 .\" .It Dv SHM_LOCK .\" Locks the segment in memory. The calling process must have .\" superuser privileges. Not implemented in FreeBSD. .\" .It Dv SHM_UNLOCK .\" Unlocks the segment from memory. The calling process must .\" have superuser privileges. Not implemented in FreeBSD. .El .Pp .Fa shmid_ds 構造体は次のように定義されます。 .\" .\" I fiddled with the spaces a bit to make it fit well when viewed .\" with nroff, but otherwise it's straight from sys/shm.h .\" .Bd -literal struct shmid_ds { - struct ipc_perm shm_perm; /* 操作パーミッション構造 */ + struct ipc_perm shm_perm; /* 操作パーミッション構造体 */ int shm_segsz; /* セグメントのサイズ (バイト単位) */ pid_t shm_lpid; /* 最後の共有メモリ操作のプロセス ID */ pid_t shm_cpid; /* 作成者のプロセス ID */ short shm_nattch; /* 現在のアタッチの数 */ time_t shm_atime; /* 最後の shmat() の時刻 */ time_t shm_dtime; /* 最後の shmdt() の時刻 */ time_t shm_ctime; /* shmctl() による最後の変更の時刻 */ - void *shm_internal; /* システムのミス */ + void *shm_internal; /* SystemV の愚行 */ }; .Ed .Sh 戻り値 処理が正常に完了すると、 .Fn shmctl は 0 を返します。 そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn shmctl は次の場合に処理に失敗します。 .Bl -tag -width Er .It Bq Er EINVAL 無効な操作、または .Fa shmid に指定された共有メモリセグメントが検出されませんでした。 .\" .\" XXX I think the following is right: ipcperm() only returns EPERM .\" when an attempt is made to modify (IPC_M) by a non-creator .\" non-owner .It Bq Er EPERM 呼び出しプロセスの実効ユーザ ID が、共有メモリセグメントの所有者 または作成者のユーザ ID と一致しません。 .It Bq Er EACCES 操作と共有メモリセグメントモードの間の不一致のために パーミッションが拒絶されました。 .El .Sh 関連項目 .Xr shmat 2 , .Xr shmdt 2 , .Xr shmget 2 , .Xr ftok 3 diff --git a/ja_JP.eucJP/man/man2/shmget.2 b/ja_JP.eucJP/man/man2/shmget.2 index 8f2ac4e033..fa821cf355 100644 --- a/ja_JP.eucJP/man/man2/shmget.2 +++ b/ja_JP.eucJP/man/man2/shmget.2 @@ -1,133 +1,135 @@ .\" .\" Copyright (c) 1995 David Hovemeyer .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" 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/sys/shmget.2,v 1.6.2.2 1999/08/29 14:49:25 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/shmget.2,v 1.8.2.2 2000/12/29 14:44:54 ru Exp % .\" .Dd July 3, 1995 .Dt SHMGET 2 .Os FreeBSD .Sh 名称 .Nm shmget .Nd 共有メモリの識別子の取得 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn shmget "key_t key" "int size" "int flag" .Sh 解説 .Fn shmget は、 .Fa key と .Fa flag -の値に従って、新しく作成した、 +の値に従って、新しく作成した共有メモリセグメント または既存の共有メモリセグメントの識別子を戻します。 .\" .\" The following bit about keys and modes also applies to semaphores .\" and message queues. .\" キーはファイル名に似たもので、IPC オブジェクトを 指定するハンドルを提供するものです。 キーの指定方法には 3 つ方法があります。 .Bl -bullet .It IPC_PRIVATE を指定すると新しい IPC オブジェクトが作成されます。 .It 整定数を指定できます。 .Fa key に対応する IPC オブジェクトが指定されておらず、IPC_CREAT ビットが .Fa flag で設定されている場合は、新しい IPC オブジェクトが作成されます。 .It .Fn ftok を使用し、パス名からキーを作成できます。 .Xr ftok 3 を参照してください。 .El .Pp 新しく作成された IPC オブジェクトのモードは、 .Fa flag パラメータに渡す以下の定数の論理和で決まります。 -.Bl -tag -width XSHMLWXX6XXX +.Bl -tag -width XSHM_WXX6XXX .It Dv SHM_R ユーザの読取りアクセス .It SHM_W ユーザの書込みアクセス .It Dv (SHM_R>>3) グループの読取りアクセス .It Dv (SHM_W>>3) グループの書込みアクセス .It Dv (SHM_R>>6) 他者の読取りアクセス .It Dv (SHM_W>>6) 他者の書込みアクセス .El .\" .\" XXX - we should also mention how uid, euid, and gid affect ownership .\" and use .\" .\" end section about keys and modes .\" .Pp 新しい共有メモリセグメントを作成する場合、 .Fa size は、新しいセグメントのバイト単位のサイズを表わします。 -セグメントのサイズは、カーネルに便利なように倍数に -切り上げられることがあります (ページサイズなど)。 +セグメントのサイズは、カーネルに便利なようにある倍数に +切り上げられることがあります (すなわちページサイズ)。 .Sh 戻り値 処理が正常に完了すると、 .Fn shmget は共有メモリセグメントの正整数の識別子を返します。 そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー 以下の場合、 .Fn shmget は処理を失敗します。 .Bl -tag -width Er .\" .\" XXX What about ipcperm failing? .\" .It Bq Er EINVAL 指定したサイズが、既存セグメントのサイズより大きいです。 指定したサイズが、システムの最低値より小さいか、最大値より大きいです。 .It Bq Er ENOENT .Fa key と一致する共有メモリセグメントがなく、IPC_CREAT が指定されていません。 .It Bq Er ENOSPC 要求を満たす十分なメモリを、カーネルが割り当てられません。 .It Bq Er EEXIST IPC_CREAT と IPC_EXCL が指定され、 .Fa key に対応する共有メモリセグメントがすでに存在します。 -.Pp +.El .Sh 関連項目 .Xr shmat 2 , .Xr shmctl 2 , .Xr shmdt 2 , .Xr ftok 3 diff --git a/ja_JP.eucJP/man/man2/shutdown.2 b/ja_JP.eucJP/man/man2/shutdown.2 index 9504c4cc0c..4ab102da17 100644 --- a/ja_JP.eucJP/man/man2/shutdown.2 +++ b/ja_JP.eucJP/man/man2/shutdown.2 @@ -1,93 +1,96 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)shutdown.2 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/sys/shutdown.2,v 1.7.2.3 2000/08/23 00:56:03 jhb Exp % .\" .Dd June 4, 1993 .Dt SHUTDOWN 2 .Os BSD 4.2 .Sh 名称 .Nm shutdown .Nd 全二重接続の一部をシャットダウン +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn shutdown "int s" "int how" .Sh 解説 .Fn shutdown を呼び出すと、 .Fa s に関連するソケットの全二重接続の全部か一部がシャットダウンされます。 .Fa how が .No Dv SHUT_RD Pq 0 である場合は、さらなる受信はできなくなります。 .Fa how が .No Dv SHUT_WR Pq 1 である場合は、さらなる送信ができなくなります。 .Fa how が .No Dv SHUT_RDWR Pq 2 である場合は、さらなる送受信ができなくなります。 .Sh 戻り値 呼び出しが成功すると 0 が返されます。 エラーが発生した場合は -1 が返されます。 .Sh エラー -以下の場合、呼び出しはエラーになります。 -.Bl -tag -width ENOTCONNAA +次の場合、呼び出しはエラーになります。 +.Bl -tag -width Er .It Bq Er EBADF .Fa s が有効な記述子ではありません。 .It Bq Er ENOTSOCK .Fa s がソケットではなくファイルです。 .It Bq Er ENOTCONN 指定されたソケットが接続されていません。 .El .Sh 関連項目 .Xr connect 2 , .Xr socket 2 .Sh 規格 .Fn shutdown 関数は、完成時には .St -p1003.1g に準拠します。 .Sh 歴史 .Fn shutdown 関数呼び出しは、 .Bx 4.2 -に追加されました。 +で追加されました。 .Dv SHUT_ 定数は、 .St -p1003.1g に追加されました。 diff --git a/ja_JP.eucJP/man/man2/sigaction.2 b/ja_JP.eucJP/man/man2/sigaction.2 index 6f778ac1ed..a2b32f786f 100644 --- a/ja_JP.eucJP/man/man2/sigaction.2 +++ b/ja_JP.eucJP/man/man2/sigaction.2 @@ -1,500 +1,578 @@ .\" Copyright (c) 1980, 1990, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94 -.\" %FreeBSD: src/lib/libc/sys/sigaction.2,v 1.19.2.1 1999/08/29 14:49:26 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/sigaction.2,v 1.22.2.5 2000/12/29 14:44:54 ru Exp % .\" .\" 2001/01/01 horikawa@jp.FreeBSD.org .\" sigvec.2 を更新する場合は、共通部分の多い sigaction.2 も同時に更新 .\" してください。 .\" .Dd April 3, 1994 .Dt SIGACTION 2 .Os .Sh 名称 .Nm sigaction .Nd ソフトウェアシグナル機能 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Bd -literal struct sigaction { - void (*sa_handler)(); /* シグナルハンドラ */ - sigset_t sa_mask; /* 適用するシグナルマスク */ - int sa_flags; /* 後述のシグナルオプションを参照 */ + /* + * SA_SIGINFO フラグが使用されていない場合の + * SIG_DFL および SIG_IGN 用のシグナルハンドラ関数 + */ + void (*sa_handler)(int); + + /* SA_SIGINFO フラグを使用する場合のシグナルハンドラ関数 */ + void (*sa_sigaction)(int, siginfo_t *, void *); + + sigset_t sa_mask; /* 適用するシグナルマスク */ + int sa_flags; /* 後述のシグナルオプション参照 */ }; .Ed .Ft int .Fn sigaction "int sig" "const struct sigaction *act" "struct sigaction *oact" .Sh 解説 システムではシグナルの集合を定義しており、 これらはプロセスに配信されることがあります。 シグナルの配信は、 ハードウェア割込みの発生に似ています。通常の場合、 シグナルのさらなる発生はブロックされ、 現在のプロセスコンテキストは保存されて、新しいプロセスコンテキストが 作成されます。プロセスは、シグナルの配信先 .Em handler を指定することもあれば、シグナルを .Em 無視 することを指定することもあります。 シグナルが発生した場合に、システムがデフォルトのアクションを取る ことを指定することも可能です。 シグナルが .Em ブロック されることもあり、 その場合、シグナルの配信は、 .Em ブロックが解除 されるまで延期されます。 配信時に取るアクションは、配信時に決まります。通常の場合は、 シグナルハンドラが、プロセスの現行スタックで動作します。 -これはハンドラによって変更可能であり、 +これはハンドラごとに変更可能であり、 変更すれば、シグナルは特殊な .Em シグナルスタック -でハンドル可能です。 +で実行可能です。 .Pp 通常の場合、シグナルルーチンは、呼び出しの原因となったシグナルが ブロックされた状態で動作しますが、その他のシグナルが発生する可能性は あります。グローバルの .Em シグナルマスク には、プロセスへの配信が現在 ブロックされているシグナルの集合が定義されています。プロセスの シグナルマスクは、親のシグナルマスクで初期化されます (通常は空)。 .Xr sigprocmask 2 が呼び出された場合、またはシグナルがプロセスに配信された場合に、 シグナルマスクは変更されます。 .Pp -シグナル条件がプロセスで発生すると、シグナルが、プロセスで保留に -なっているシグナルの集合に追加されます。 +あるシグナルの生起条件がプロセスで発生すると、そのシグナルが、 +プロセスで保留中のシグナルの集合に追加されます。 そのシグナルがプロセスで 現在 .Em ブロック されていない場合は、プロセスに配信されます。 シグナルは、 -プロセスがオペレーティングシステムに入ったときに (システム呼び出し、 +プロセスがオペレーティングシステムに入っている間に (システム呼び出し、 ページエラーやトラップ、クロック割込み中などに) 配信されます。 複数のシグナルの配信準備が同時に整った場合は、トラップで生じたシグナルが 先に配信されます。 その他のシグナルは、それぞれが前のシグナルのハンドラに対し、 最初の命令の前に割り込んだ状態で同時に処理されます。 保留になっているシグナルの集合は、 .Xr sigpending 2 関数で返されます。 -補足されたシグナルが配信されると、プロセスの現在の +捕捉されたシグナルが配信されると、プロセスの現在の 状態が保存され、新しいシグナルマスクが以下で説明するように算出されて、 シグナルハンドラが呼び出されます。 ハンドラの呼び出しは、 シグナル処理ルーチンが正常に戻った場合に、プロセスがシグナル配信前の -コンテキストで実行を再開するように編成されます。 +コンテキストで実行を再開するように設定されます。 プロセスが別のコンテキストでの再開を望む場合は、 -前のコンテキストそのものを回復するように編成する必要があります。 +前のコンテキストそのものを自分自身で回復するように設定する必要があります。 .Pp シグナルがプロセスに配信されると、プロセスの -シグナルハンドラが続く間 (または +シグナルハンドラの実行が続く間 (または .Fn sigprocmask が呼び出されるまで)、新しいシグナルマスクが設置されます。 このマスクは、現在のシグナルマスク集合、配信されるシグナル、 呼び出されるハンドラに関連したシグナルマスクの和集合を取って形成されます。 .Pp .Fn sigaction は、 .Fa sig で指定したシグナルのアクションを割り当てます。 .Fa act が 0 でない場合は、アクション .Pf ( Dv SIG_DFL , .Dv SIG_IGN かハンドラルーチン)、および指定されたシグナルの配信時に 使用するマスクが指定されます。 .Fa oact -が 0 でない場合は、シグナルの前の処理情報がユーザに返されます。 +が 0 でない場合は、そのシグナルのそれまでの処理情報がユーザに返されます。 .Pp シグナルハンドラが設置されると、通常の場合は .Fn sigaction を再度呼び出すか .Xr execve 2 -を実行するまでシグナルハンドラは設置されたまま残ります。 -シグナルに固有なデフォルトアクションへは、 +を実行するまで、そのシグナルハンドラは設置されたままです。 .Fa sa_handler を .Dv SIG_DFL -に設定することでリセットできます。 -デフォルトは、プロセスの終了 +に設定することで、 +シグナルごとに固有なデフォルトアクションにリセットすることができます。 +デフォルトとは、プロセスの終了 (コアダンプが取られることもあります)、アクションなし、プロセスの停止、 プロセスの継続です。 それぞれのシグナルのデフォルトアクションについては、 -以下のシグナルリストを参照してください。 +下記のシグナルリストを参照してください。 .Fa sa_handler が .Dv SIG_DFL -である場合、シグナルのデフォルトアクションはシグナルの放棄になります。 -また、シグナルが保留になっている場合でも、シグナルがマスクさ -れていても保留中のシグナルは放棄されます。 +である場合、シグナルのデフォルトアクションはシグナルの破棄になります。 +また、シグナルが保留になっている場合でも、シグナルがマスクされていても +保留中のシグナルは破棄されます。 .Fa sa_handler を .Dv SIG_IGN -に設定すると、シグナルの現在と保留中のインスタンスは無視されて放棄されます。 +に設定すると、現在のシグナル実体と保留中のシグナル実体は無視されて +破棄されます。 .Pp オプションは、 .Ar sa_flags を設定することで指定できます。それぞれの ビットの意味は以下のとおりです。 .Bl -tag -offset indent -width SA_RESETHANDXX .It Dv SA_NOCLDSTOP .Dv SIGCHLD シグナルの受信関数を設置する場合にこのビットを設定すると、 子プロセスが停止したときではなく、子プロセスが終了するときにのみ、 .Dv SIGCHLD シグナルが生成されます。 .It SA_NOCLDWAIT .Dv SIGCHLD シグナルで .Fn sigaction を呼び出す場合にこのビットを設定すると、システムは、呼び出し側プロセスの -子が終了したときにゾンビプロセスを作成しなくなります。呼び出し側プロセスが +子プロセスが終了したときにゾンビプロセスを作成しなくなります。 +そのあと、呼び出し側プロセスが .Xr wait 2 -かそれに相当するものを続けて発行すると、呼び出し側プロセスのすべて +かそれに相当する関数を実行すると、呼び出し側プロセスのすべて の子プロセスが終了するまでブロックし、次に .Va errno を -.Dv ECHILD +.Er ECHILD に設定して -1 を返します。 .It Dv SA_ONSTACK このビットを設定すると、システムは、 .Xr sigaltstack 2 で指定された .Em シグナルスタック -で、プロセスにシグナルを配信します。 +の上で、プロセスにシグナルを配信します。 .It Dv SA_NODEFER このビットを設定すると、配信済みシグナルのさらなる発生が、 ハンドラの実行中にマスクされなくなります。 .It Dv SA_RESETHAND このビットを設定すると、シグナルが配信された瞬間に、ハンドラが .Dv SIG_DFL にリセットされます。 -.\" Still missing: -.\" .It Dv SA_SIGINFO +.It Dv SA_SIGINFO +このビットが設定されている場合、ハンドラ関数は、 +sigaction 構造体の sa_sigaction メンバが指すものと +見なします。ハンドラ関数は、先に示したプロトタイプもしくは後で示す +.Sx 使用例 +に一致しなくてはなりません。 +このビットは、 +.Dv SIG_DFL +もしくは +.Dv SIG_IGN +を割り当てる時には設定してはいけません。 .El .Pp -以下のリストのシステムコール中にシグナルが補足されると、呼び出しは、エラー -.Dv EINTR +次に挙げるシステムコールの実行中にシグナルが捕捉されると、 +そのシステムコールの呼び出しは、 +エラー +.Er EINTR で強制終了されるか、要求より短いデータ転送で戻るか、 または再開されます。 保留中のシステムコールの再開は、 .Ar sa_flags で .Dv SA_RESTART ビットを設定することで要求できます。 影響を受けるシステムコールは、 -通信チャネルか遅いデバイス (端末など。通常ファイルではない) に対する +通信チャネルか遅いデバイス (端末など、通常ファイルではないもの) に対する .Xr open 2 , .Xr read 2 , .Xr write 2 , .Xr sendto 2 , .Xr recvfrom 2 , .Xr sendmsg 2 , .Xr recvmsg 2 と .Xr wait 2 , .Xr ioctl 2 -の途中です。 +です。 しかし、すでに実行されているシステムコールは再開されず、 -部分的な結果 (短い読取りカウントなど) を返します。 +部分的な処理成功の結果 (短い読取りカウントなど) を返します。 .Pp .Xr fork 2 か .Xr vfork 2 の後では、すべてのシグナル、シグナルマスク、シグナルスタック、 -再開 / 割込みフラグが子に継承されます。 +再開フラグ、割込みフラグが子プロセスに継承されます。 .Pp .Xr execve 2 -は、補足されたすべてのシグナルのデフォルトアクションを元に戻し、 -ユーザスタックで受信されるすべてのシグナルをリセットします。 +は、捕捉されていたすべてのシグナルのデフォルトアクションを元に戻し、 +すべてのシグナルをユーザスタックで受信されるようにリセットします。 無視されたシグナルは無視されたままです。 シグナルマスクは同じ状態のままです。 -保留中のシステムコールを再開するシグナルは、その再開を続けます。 +保留中のシステムコールを再開する設定のシグナルは、その再開の設定のままです。 .Pp 以下はすべてのシグナルのリストです。名称は、インクルードファイル .Aq Pa signal.h -と同じです。 +にあるものと同じです。 .Bl -column SIGVTALARMXX "create core imagexxx" -.It Sy " 名称" " デフォルトアクション" " 説明" +.It Sy "名称 デフォルトアクション 説明" .It Dv SIGHUP No " プロセスの終了" " 端末ラインのハングアップ" .It Dv SIGINT No " プロセスの終了" " プログラムの割込み" -.It Dv SIGQUIT No " コアイメージの作成" " プログラムの終了" +.It Dv SIGQUIT No " コアイメージの作成" " プログラムの中断終了" .It Dv SIGILL No " コアイメージの作成" " 不正な命令" -.It Dv SIGTRAP No " コアイメージの作成" " トラップの追跡" -.It Dv SIGABRT No " コアイメージの作成" Xr abort 3 の呼び出し (以前の +.It Dv SIGTRAP No " コアイメージの作成" " トラップのトレース" +.It Dv SIGABRT No " コアイメージの作成" Ta Xr abort 3 +の呼び出し (以前の .Dv SIGIOT ) -.It Dv SIGEMT No " コアイメージの作成" " 実行された命令のエミュレート" +.It Dv SIGEMT No " コアイメージの作成" " 命令実行のエミュレート" .It Dv SIGFPE No " コアイメージの作成" " 浮動小数例外" -.It Dv SIGKILL No " プロセスの終了" " プログラムの終了" +.It Dv SIGKILL No " プロセスの終了" " プログラムの強制終了" .It Dv SIGBUS No " コアイメージの作成" " バスエラー" .It Dv SIGSEGV No " コアイメージの作成" " セグメンテーション違反" .It Dv SIGSYS No " コアイメージの作成" " 存在しないシステムコールの呼び出し" .It Dv SIGPIPE No " プロセスの終了" " 読取り側がないパイプへの書込み" .It Dv SIGALRM No " プロセスの終了" " リアルタイムタイマの満了" .It Dv SIGTERM No " プロセスの終了" " ソフトウェア終了シグナル" -.It Dv SIGURG No " シグナルの放棄" " 緊急事態がソケットに存在" -.It Dv SIGSTOP No " プロセスの停止" " 停止 (補足も無視もできません)" +.It Dv SIGURG No " シグナルの破棄" " 緊急状況がソケットに発生" +.It Dv SIGSTOP No " プロセスの停止" " 停止 (捕捉も無視もできません)" .It Dv SIGTSTP No " プロセスの停止" " キーボードから生成された停止シグナル" -.It Dv SIGCONT No " シグナルの放棄" " 停止後の継続" -.It Dv SIGCHLD No " シグナルの放棄" " 子ステータスの変化" -.It Dv SIGTTIN No " プロセスの停止" " 制御端末からバックグラウンド読取りしようとした" -.It Dv SIGTTOU No " プロセスの停止" " 制御端末にバックグラウンド書込みしようとした" -.It Dv SIGIO No " シグナルの放棄" " 記述子に " +.It Dv SIGCONT No " シグナルの破棄" " 停止後の継続" +.It Dv SIGCHLD No " シグナルの破棄" " 子プロセスの状態変化" +.It Dv SIGTTIN No " プロセスの停止" " バックグラウンドプロセスが制御端末から読取りしようとした" +.It Dv SIGTTOU No " プロセスの停止" " バックグラウンドプロセスが制御端末に書込みしようとした" +.It Dv SIGIO No " シグナルの破棄" " 記述子への " .Tn I/O 可能 ( .Xr fcntl 2 参照) .It Dv SIGXCPU No " プロセスの終了" " cpu 制限時間の超過 (" .Xr setrlimit 2 参照) .It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限の超過 (" .Xr setrlimit 2 参照) .It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム (" .Xr setitimer 2 参照) .It Dv SIGPROF No " プロセスの終了" " プロファイリングタイマアラーム ( .Xr setitimer 2 参照) -.It Dv SIGWINCH No " シグナルの放棄" " ウィンドウサイズの変化" -.It Dv SIGINFO No " シグナルの放棄" " キーボードからのステータス要求" +.It Dv SIGWINCH No " シグナルの破棄" " ウィンドウサイズの変化" +.It Dv SIGINFO No " シグナルの破棄" " キーボードからのステータス要求" .It Dv SIGUSR1 No " プロセスの終了" " ユーザ定義シグナル 1" .It Dv SIGUSR2 No " プロセスの終了" " ユーザ定義シグナル 2" .El .Sh 注 .Fa act に指定する .Fa sa_mask フィールドでは、 .Dv SIGKILL や .Dv SIGSTOP をブロックできません。ブロックしようとしても無視されます。 .Pp 以下の関数は、再入的であるかシグナルで割り込まれることがないかのどちら かで、非同期シグナルでも安全です。このため、アプリケーションは、 シグナル受信関数から制限なく呼び出せます。 .Pp ベースインタフェース .Pp .Fn _exit , .Fn access , .Fn alarm , .Fn cfgetispeed , .Fn cfgetospeed , .Fn cfsetispeed , .Fn cfsetospeed , .Fn chdir , .Fn chmod , .Fn chown , .Fn close , .Fn creat , .Fn dup , .Fn dup2 , .Fn execle , .Fn execve , .Fn fcntl , .Fn fork , .Fn fpathconf , .Fn fstat , .Fn fsync , .Fn getegid , .Fn geteuid , .Fn getgid , .Fn getgroups , .Fn getpgrp , .Fn getpid , .Fn getppid , .Fn getuid , .Fn kill , .Fn link , .Fn lseek , .Fn mkdir , .Fn mkfifo , .Fn open , .Fn pathconf , .Fn pause , .Fn pipe , .Fn raise , .Fn read , .Fn rename , .Fn rmdir , .Fn setgid , .Fn setpgid , .Fn setsid , .Fn setuid , .Fn sigaction , .Fn sigaddset , .Fn sigdelset , .Fn sigemptyset , .Fn sigfillset , .Fn sigismember , .Fn signal , .Fn sigpending , .Fn sigprocmask , .Fn sigsuspend , .Fn sleep , .Fn stat , .Fn sysconf , .Fn tcdrain , .Fn tcflow , .Fn tcflush , .Fn tcgetattr , .Fn tcgetpgrp , .Fn tcsendbreak , .Fn tcsetattr , .Fn tcsetpgrp , .Fn time , .Fn times , .Fn umask , .Fn uname , .Fn unlink , .Fn utime , .Fn wait , .Fn waitpid , .Fn write .Pp リアルタイムインタフェース .Pp .Fn aio_error , .Fn clock_gettime , .Fn sigpause , .Fn timer_getoverrun , .Fn aio_return , .Fn fdatasync , .Fn sigqueue , .Fn timer_gettime , .Fn aio_suspend , .Fn sem_post , .Fn sigset , .Fn timer_settime .Pp 上のリストに記載されていないすべての関数は、シグナルに関して安全でない と考えられます。 -つまり、そのような関数の動きは、シグナルハンドラから呼び出されると不定です。 +つまり、そのような関数がシグナルハンドラから呼び出されるときの動作は、 +未定義です。 .Pp .Sh 戻り値 0 は、呼び出しに問題がなかったことを表わします。 -1 は、エラーが発生し、 .Va errno がエラーの理由を示すように設定されていることを表わします。 .Pp .Sh 使用例 -ハンドラルーチンは、以下のように宣言できます。 -.Bd -literal -offset indent -void handler(sig, code, scp) -int sig, code; -struct sigcontext *scp; -.Ed +ハンドラが一致する可能性のあるプロトタイプは 3 つあります。 +.Bl -tag -offset indent -width short +.It ANSI C: +.Ft void +.Fn handler int ; +.It 伝統的な BSD スタイル: +.Ft void +.Fn handler int "int code" "struct sigcontext *scp" ; +.It POSIX の SA_SIGINFO: +.Ft void +.Fn handler int "siginfo_t *info" "void *context" ; +.El +.Pp +フラグ中で SA_SIGINFO ビットが設定されている場合、 +ハンドラ関数は SA_SIGINFO プロトタイプに一致しなくてはなりません。 +その場合、 +.Dv sigaction +構造体の +.Dv sa_sigaction +メンバがハンドラ関数を指していなければなりません。 +この方法で SIG_DFL あるいは SIG_IGN を割り当ててはいけないことに +注意してください。 +.Pp +SA_SIGINFO フラグが設定されていない場合、ハンドラ関数は +ANSI C もしくは伝統的な BSD プロトタイプのどちらかに +一致しなくてはならず、 +.Dv sigaction +構造体の +.Dv sa_handler +メンバがハンドラ関数をさしていなければなりません。 +実際には、 +.Fx +は常に後者である BSD プロトタイプの 3 つの引数を送りますし、 +ANSI C プロトタイプはそのサブセットになっていますので、 +どちらでも動作します。 +.Fx +インクルードファイルの +.Dv sa_handler +メンバ宣言は、(POSIX の要求に従い) ANSI C のものです。 +そのため、BSD スタイルの関数のポインタの場合、 +警告メッセージを無くしてコンパイルするには +キャストする必要があります。 +伝統的な BSD スタイルは移植性がなく、その機能性も +SA_SIGINFO ハンドラの完全な部分集合になっていますので、 +BSD スタイルを使うことは推奨されていません。 .Pp .Fa sig -は、ハードウェアエラーとトラップがマップされているシグナル番号です。 +引数はシグナル番号で、 の +.Dv SIG... +値のうちの 1 つです。 +BSD スタイルのハンドラの .Fa code -は、ハードウェアが提供する定数かコードであるパラメータです。 +引数および SA_SIGINFO ハンドラへの +.Dv info +引数の +.Dv si_code +メンバには、シグナルの発生理由を説明した数値コードが +含まれています。通常、この数値コードは + にある +.Dv SI_... +値の 1 つであるか、もしくはシグナルに特化したコード、すなわち +SIGFPE に対する +.Dv FPE_... +値です。 +BSD スタイルのハンドラの .Fa scp -は、 -.Fa sigcontext -構造体のポインタ ( -.Aq Pa signal.h -で定義されています) で、シグナル前のコンテキストを回復するために使用されます。 +引数は sigcontext 構造体のインスタンスを指しています。 +.Pp +POSIX SA_SIGINFO ハンドラの +.Fa context +引数は、ucontext_t のインスタンスを指しています。 .Sh エラー 以下のうち 1 つが発生すると、 .Fn sigaction はエラーになり、新しいシグナルハンドラは設置されません。 .Bl -tag -width Er .It Bq Er EFAULT .Fa act か .Fa oact は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL .Fa sig が、正しいシグナル番号になっていません。 .It Bq Er EINVAL .Dv SIGKILL か .Dv SIGSTOP のハンドラを無視するか提供しようとしました。 .El .Sh 規格 .Fn sigaction 関数呼び出しは、 .St -p1003.1-90 に準拠しています。 .Dv SA_ONSTACK フラグと .Dv SA_RESTART -フラグは、 +フラグは、Berkeley の拡張機能です。 .Dv SIGTRAP , .Dv SIGEMT , .Dv SIGBUS , .Dv SIGSYS , .Dv SIGURG , .Dv SIGIO , .Dv SIGXCPU , .Dv SIGXFSZ , .Dv SIGVTALRM , .Dv SIGPROF , .Dv SIGWINCH , .Dv SIGINFO -シグナルと同じように、 -Berkeley の拡張機能です。これらのシグナルは、 +シグナルも同様です。これらのシグナルは、 .Tn BSD -から派生した、ほとんどのシステムで使用できます。 +から派生したシステムのほとんどで使用できます。 .Dv SA_NODEFER フラグと .Dv SA_RESETHAND フラグは、その他のオペレーティングシステムとの下位互換性を保つためのものです。 .Dv SA_NOCLDSTOP フラグと .Dv SA_NOCLDWAIT フラグは、その他のオペレーティングシステムで一般的に見られるオプションです。 .Sh 関連項目 .Xr kill 1 , .Xr kill 2 , .Xr ptrace 2 , .Xr sigaltstack 2 , .Xr sigblock 2 , .Xr sigpause 2 , .Xr sigpending 2 , .Xr sigprocmask 2 , .Xr sigsetmask 2 , .Xr sigsuspend 2 , .Xr sigvec 2 , .Xr wait 2 , .Xr fpsetmask 3 , .Xr setjmp 3 , .Xr siginterrupt 3 , .Xr sigsetops 3 , .Xr tty 4 diff --git a/ja_JP.eucJP/man/man2/sigaltstack.2 b/ja_JP.eucJP/man/man2/sigaltstack.2 index 9de834377e..a5f5956ad0 100644 --- a/ja_JP.eucJP/man/man2/sigaltstack.2 +++ b/ja_JP.eucJP/man/man2/sigaltstack.2 @@ -1,156 +1,159 @@ .\" Copyright (c) 1983, 1991, 1992, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)sigaltstack.2 8.2 (Berkeley) 5/1/95 -.\" %FreeBSD: src/lib/libc/sys/sigaltstack.2,v 1.9.2.2 1999/08/29 14:49:26 peter Exp % +.\" %FreeBSD: src/lib/libc/sys/sigaltstack.2,v 1.11.2.3 2000/12/08 13:49:32 ru Exp % .\" .Dd May 1, 1995 .Dt SIGALTSTACK 2 .Os BSD 4.2 .Sh 名称 .Nm sigaltstack .Nd シグナルスタックコンテキストの設定や入手 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Bd -literal struct sigaltstack { char *ss_sp; size_t ss_size; int ss_flags; }; .Ed .Ft int .Fn sigaltstack "const struct sigaltstack *ss" "struct sigaltstack *oss" .Sh 解説 .Fn sigaltstack を使用することにより、 ユーザはシグナルを処理する別のスタックを定義できます。 .Fa ss が 0 でない場合、シグナルを配信する .Em シグナルスタック へのポインタとサイズが指定され、プロセスがそのスタックで動作中であるか どうかがシステムに伝えられます。 ハンドラがシグナルスタックで動作する必要がある ことをシグナルのアクションが示す場合 ( .Xr sigaction 2 呼び出しで指定) 、システムは、プロセスがそのスタックで動作中で あるかどうかをチェックします。 プロセスがシグナルスタックで動作していない場合、システムは、 シグナルハンドラの動作中はシグナルスタックを適切なものに切り替えます。 .Pp .Dv SS_DISABLE が .Fa ss_flags で設定されていると、 .Fa ss_sp と .Fa ss_size は無視されてシグナルスタックは無効になります。 アクティブなスタックを無効にしようとすると、 .Fn sigaltstack は -1 を戻し .Va errno を -.Dv EINVAL +.Er EINVAL に設定します。スタックが無効になると、すべてのシグナルは通常の ユーザスタックで動作するようになります。スタックが後で有効にると、 代替スタックで処理するように指定されたすべてのシグナルは、 その指定どおりに再開されます。 +.Pp .Fa oss を 0 以外にすると、現在のシグナルスタックの状態が戻されます。 .Fa ss_flags フィールドの値は、プロセスが現在シグナルスタックにある場合は .Dv SS_ONSTACK に、シグナルスタックが現在無効である場合は .Dv SS_DISABLE になります。 .Sh 注 値 .Dv SIGSTKSZ は、代替スタック領域を割り当てる一般的なケースで使用する バイト数 / 文字数に定義されます。代替スタックの 割り当てには、一般的に以下のようなコードが使用されます。 .Bd -literal -offset indent if ((sigstk.ss_sp = malloc(SIGSTKSZ)) == NULL) /* error return */ sigstk.ss_size = SIGSTKSZ; sigstk.ss_flags = 0; if (sigaltstack(&sigstk,0) < 0) perror("sigaltstack"); .Ed デフォルトサイズ以外の特定量のスタックスペースを必要とする シグナルハンドラを使用するプログラムでは、別の方法が使用できます。値 .Dv MINSIGSTKSZ は、代替スタックの実行にオペレーティングシステムが 必要とするバイト数 / 文字数に定義されています。 代替スタックのサイズを算出する場合は、プログラムでスタック要件に .Dv MINSIGSTKSZ を追加し、オペレーティングシステムのオーバーヘッドを 許容する必要があります。 .Pp シグナルスタックは、スタックの拡大傾向とアラインメント要件に従って 自動的に調整されます。シグナルスタックは、ハードウェアで保護される こともされないこともあり、通常のスタックのように自動的に ``拡大'' しません。スタックがオーバーフローし、スペースが保護されて いない場合は、予期せぬ結果となることがあります。 .Sh 戻り値 処理が正常に完了すると、値 0 が返されます。 そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー 以下のうち 1 つが発生すると、 .Fn sigaltstack は処理を失敗し、シグナルスタックコンテキストは変更されずに残ります。 -.Bl -tag -width [ENOMEM] +.Bl -tag -width Er .It Bq Er EFAULT .Fa ss か .Fa oss が、プロセスアドレス空間の有効な部分でない メモリを指しています。 .It Bq Er EINVAL アクティブなスタックを無効にしようとしました。 .It Bq Er ENOMEM 代替スタック領域のサイズが .Dv MINSIGSTKSZ 以下になっています。 .El .Sh 関連項目 .Xr sigaction 2 , .Xr setjmp 3 .Sh 歴史 .Fn sigaltstack の前バージョンである .Fn sigstack システムコールは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/sigblock.2 b/ja_JP.eucJP/man/man2/sigblock.2 index 7e53edd2ce..9916556014 100644 --- a/ja_JP.eucJP/man/man2/sigblock.2 +++ b/ja_JP.eucJP/man/man2/sigblock.2 @@ -1,81 +1,84 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)sigblock.2 8.1 (Berkeley) 6/2/93 +.\" %FreeBSD: src/lib/libc/compat-43/sigblock.2,v 1.5.2.1 2000/04/22 16:46:18 phantom Exp % .\" .Dd June 2, 1993 .Dt SIGBLOCK 2 .Os BSD 4.2 .Sh 名称 .Nm sigblock .Nd シグナルをブロックする +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn sigblock "int mask" .Ft int .Fn sigmask signum .Sh 解説 .Bf -symbolic このインタフェースは、 .Xr sigprocmask 2 -に更新されました。 +によって旧式のものとなっています。 .Ef .Pp .Fn sigblock -は、現在、配信をブロックされているシグナルのセットに、 +は、現在、配信をブロックされているシグナルの集合に、 .Fa mask で指定したシグナルを追加します。 .Fa mask で対応するビットが 1 である場合、シグナルはブロックされます。マクロ .Fn sigmask は、 .Fa signum のマスクを作成するために提供されています。 .Pp .Dv SIGKILL や .Dv SIGSTOP はブロックできません。これはシステムが課す制限事項です。 .Sh 戻り値 マスクされたシグナルの前のセットが戻されます。 .Sh 関連項目 .Xr kill 2 , .Xr sigaction 2 , .Xr sigprocmask 2 , .Xr sigsetmask 2 , .Xr sigsetops 3 .Sh 歴史 .Fn sigblock 関数呼び出しは、 .Bx 4.2 で登場しました。 しかし、現在ではこの関数を使用することは推奨されていません。 diff --git a/ja_JP.eucJP/man/man2/socket.2 b/ja_JP.eucJP/man/man2/socket.2 index 33496afe65..66aeb6d6cd 100644 --- a/ja_JP.eucJP/man/man2/socket.2 +++ b/ja_JP.eucJP/man/man2/socket.2 @@ -1,247 +1,294 @@ .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" -.\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/socket.2,v 1.9.2.1 1999/08/29 14:49:27 peter Exp % +.\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93 +.\" $FreeBSD: src/lib/libc/sys/socket.2,v 1.12.2.4 2000/12/29 14:44:54 ru Exp +$ .\" .Dd November 24, 1997 .Dt SOCKET 2 .Os BSD 4.2 .Sh 名称 .Nm socket .Nd 通信のエンドポイントの作成 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn socket "int domain" "int type" "int protocol" .Sh 解説 .Fn socket は、通信のエンドポイントを作成し、記述子を 戻します。 .Pp .Fa domain パラメータでは、通信を行なう通信ドメインを指 定します。これにより、使用するプロトコルファミリが選 択されます。このプロトコルファミリは、インクルードファイル .Ao Pa sys/socket.h Ac で定義されています。現在解釈され るフォーマットは以下のとおりです。 .Pp .Bd -literal -offset indent -compact -PF_LOCAL (PF_UNIX と呼ばれていた、ホスト内プロトコル), -PF_INET (ARPA インターネットプロトコル), -PF_ISO (ISO プロトコル), -PF_CCITT (X.25 のような ITU-T プロトコル), -PF_NS (Xerox Network Systems プロトコル), -.\"PF_IMPLINK (IMP \*(lqhost at IMP\*(rq link layer). +PF_LOCAL PF_UNIX と呼ばれていた、ホスト内プロトコル +PF_UNIX ホスト内プロトコル、使用は奨励されない。 + PF_LOCAL を使用のこと +PF_INET IPv4 プロトコル +PF_IMPLINK ARPAnet IMP アドレス +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_ROUTE 内部ルーティングプロトコル +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 (Intenet Packet eXchange) プロトコル +PF_RTIP RTIP パケットの識別に使用 +PF_PIP PIP パケットの識別に使用 +PF_ISDN 統合ディジタル通信サービス網(ISDN) +PF_KEY 内部鍵管理機能 +PF_INET6 IPv6 プロトコル +PF_NATM ATM に直接アクセス +PF_ATM ATM +PF_NETGRAPH Netgraph ソケット .Ed .Pp ソケットには、通信の種類を指定する .Fa タイプ があります。現在、定義されているタイプは以下のとおりです。 .Pp .Bd -literal -offset indent -compact -SOCK_STREAM -SOCK_DGRAM -SOCK_RAW -SOCK_SEQPACKET -SOCK_RDM +SOCK_STREAM ストリーム型ソケット +SOCK_DGRAM データグラム型ソケット +SOCK_RAW 低レベルプロトコルインタフェース +SOCK_RDM 伝達が信頼できるパケット +SOCK_SEQPACKET 順序付きパケットストリーム .Ed +.\" 原文は +.\" SOCK_RDM Sequenced packet stream, +.\" SOCK_SEQPACKET Reliably-delivered packet +.\" となっていたが、 +.\" SOCK_RDM Reliably-delivered packet +.\" SOCK_SEQPACKET Sequenced packet stream, +.\" に変更 。send-pr済み (docs/25797) yuko@veltec.co.jp .Pp .Dv SOCK_STREAM タイプは、連続した、信頼性のある、双方向接続ベースの バイトストリームを提供します。帯域外データ転送メカニズムが サポートされることもあります。 .Dv SOCK_DGRAM ソケットでは、データグラム -(コネクションレスで信頼性のない、固定最大長 (一般的には小さい) メッセージ) +(コネクションレスで信頼性のない、最大長が固定の (一般的には小さい) +メッセージ) がサポートされます。 .Dv SOCK_SEQPACKET ソケットは、連続した、信頼性のある、双方向接続ベースの -最大長のデータグラムの転送を提供します。 +最大長が固定のデータグラムの転送を提供します。 各読取りシステムコールでパケット全体を読み取る必要があるかもしれません。 この機能はプロトコル固有のもので、現在のところ .Dv PF_NS -でしか実現されていません。 +でしか実装されていません。 .Dv SOCK_RAW ソケットでは、内部ネットワークプロトコ ルとインタフェースにアクセスできます。スーパユーザしか使用できない .Dv SOCK_RAW -タイプ、および計画されているがまだ実現されていない +タイプ、および計画されているがまだ実装されていない .Dv SOCK_RDM については、ここでは説明しません。 .Pp .Fa protocol では、ソケットで使用する特定プロトコルを指定します。通常の場合は、 1 つのプロトコルのみが存在して、指定したプロトコルファミリの 特定ソケットタイプをサポートします。しかし、複数のプロトコルが 存在することも可能です。この場合は、特定プロトコルをこの方法で 指定する必要があります。使用するプロトコル番号は、 -通信を行なう通信ドメインに固有です。 +通信を行う +.Dq 通信ドメイン +に固有です。 .Xr protocols 5 を参照してください。 .Pp タイプ .Dv SOCK_STREAM のソケットは、パイプに類似した全二重バイトストリームです。 ストリームソケットでは、 .Em 接続済み状態 にしてからデータを送受信する必要があります。別のソケットへの接続は、 .Xr connect 2 を呼び出して作成できます。接続されたら、 .Xr read 2 と .Xr write 2 を呼び出すか、 .Xr send 2 と .Xr recv 2 の変種を呼び出してデータを転送できます。(インターネットファミリなど、 一部のプロトコルファミリでは、「暗黙接続」という観念が サポートされています。この接続では、 .Xr sendto 2 を呼び出し、接続オペレーションに乗せてデータを送信できます。) セッションが終了したら、 .Xr close 2 -が実行されることがあります。帯域外データは、 +を実行しても構いません。帯域外データは、 .Xr send 2 で説明されているように送信し、 .Xr recv 2 で説明されているように受信できます。 .Pp .Dv SOCK_STREAM -の実現に使用する通信プロトコルでは、データの喪失や重複がないことが +の実装に使用する通信プロトコルでは、データの喪失や重複がないことが 保証されます。ピアプロトコルにバッファ空間があるデータの一部を 合理的な時間内に問題なく転送できない場合は、 接続が破損したとみなされて呼び出しがエラーとなり、 -1 が戻されてグローバル変数 .Va errno に -.Dv ETIMEDOUT -が設定されます。その他のアクティビティがない場合、 +.Er ETIMEDOUT +が設定されます。その他の動作がない場合、 プロトコルは約 1 分ごとに転送を強制し、ソケットの .Dq 接続 を任意に維持します。一定期間 (例、5 分間) アイドル接続で応答がない場合はエラーとなります。 破損したストリームでプロセスが送信すると、 .Dv SIGPIPE シグナルが発生します。 この場合、シグナルを処理しないプロセスは終了します。 .Pp .Dv SOCK_SEQPACKET -ソケットでは、 +ソケットは、 .Dv SOCK_STREAM ソケットとほぼ同じシステムコールです。 .Xr read 2 を呼び出しても、要求された量のデータしか戻されず、 受信パケットの残りの部分は放棄される点のみが異なります。 .Pp .Dv SOCK_DGRAM ソケットと .Dv SOCK_RAW ソケットでは、 .Xr send 2 -の呼出しで指定された通信相手にデータグラムを送信できます。一般的に -データグラムは、次のデータグラムのアドレスを戻す +の呼び出しで指定された通信相手にデータグラムを送信できます。 +一般的にデータグラムは、次のデータグラムのアドレスを戻す .Xr recvfrom 2 で受信されます。 .Pp .Xr fcntl 2 を呼び出すと、帯域外データを受信した場合の .Dv SIGURG -シグナルを受信するプロセスグループを指定できます。非ブロック I/O、 -および I/O イベントの非同期通知も、 +シグナルを受信するプロセスグループを指定できます。 +非ブロッキング入出力、 +および入出力イベントの非同期通知も、 .Dv SIGIO で有効にできます。 .Pp ソケットのオペレーションは、ソケットレベルの .Em オプション で制御されます。このオプションは、ファイル .Ao Pa sys/socket.h Ac に定義されています。 .Xr setsockopt 2 はオプションの設定に、 .Xr getsockopt 2 はオプションの入手に使用します。 .Sh 戻り値 エラーが発生すると -1 が戻されます。エラーが発生しなかった場合は、 ソケットを参照する記述子が戻されます。 .Sh エラー 以下のような場合、 .Fn socket の呼び出しはエラーになります。 -.Bl -tag -width EPROTONOPSUPPORTA +.Bl -tag -width Er .It Bq Er EPROTONOSUPPORT プロトコルタイプか指定されたプロトコルがドメインでサポートされていません。 .It Bq Er EMFILE プロセスごとの記述子テーブルが満杯です。 .It Bq Er ENFILE システムファイルテーブルが満杯です。 .It Bq Er EACCES 指定されたタイプやプロトコルのソケットを作成する権限が拒否されました。 .It Bq Er ENOBUFS バッファ空間が不足しています。 充分なリソースが解放されるまでソケットを作成できません。 .El .Sh 関連項目 .Xr accept 2 , .Xr bind 2 , .Xr connect 2 , .Xr getpeername 2 , .Xr getsockname 2 , .Xr getsockopt 2 , .Xr ioctl 2 , .Xr listen 2 , .Xr read 2 , +.Xr recv 2 , .Xr select 2 , .Xr send 2 , .Xr shutdown 2 , .Xr socketpair 2 , .Xr write 2 , .Xr getprotoent 3 , +.Xr netgraph 4 , .Xr protocols 5 .Re .Rs .%T "An Introductory 4.3 BSD Interprocess Communication Tutorial" .%B PS1 .%N 7 .Re .Rs .%T "BSD Interprocess Communication Tutorial" .%B PS1 .%N 8 .Re .Sh 歴史 .Fn socket 関数呼び出しは .Bx 4.2 で登場しました。 + diff --git a/ja_JP.eucJP/man/man2/sync.2 b/ja_JP.eucJP/man/man2/sync.2 index b0d70087aa..e189911b47 100644 --- a/ja_JP.eucJP/man/man2/sync.2 +++ b/ja_JP.eucJP/man/man2/sync.2 @@ -1,72 +1,74 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)sync.2 8.1 (Berkeley) 6/4/93 .\" .Dd June 4, 1993 .Dt SYNC 2 .Os BSD 4 .Sh 名称 .Nm sync -.Nd ディスク上のディスクブロックをメモリ上の状態と同期化する +.Nd ファイルシステムの更新をスケジュールする +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft void .Fn sync void .Sh 解説 .Fn sync 関数は、ブロックバッファキャッシュの修正済み バッファをディスクに強制的に書き出します。カーネルは -この情報をコアに維持し、システムが要求するディスク I/O +この情報をメモリ上に維持し、システムが要求するディスク I/O 転送の数を減らします。システムのクラッシュ後に キャッシュの情報が失われると、ユーザプロセス -.Xr update 4 +.Xr syncer 4 が .Fn sync を頻繁に呼び出します (約 30 秒ごと)。 .Pp それぞれのファイル記述子属性の同期を取るには、関数 .Xr fsync 2 を使用します。 .Sh 関連項目 .Xr fsync 2 , -.Xr update 4 , +.Xr syncer 4 , .Xr sync 8 .Sh バグ .Fn sync は、バッファが完全にフラッシュされる前に戻る ことがあります。 .Sh 歴史 .Fn sync 関数呼び出しは、 .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/sysarch.2 b/ja_JP.eucJP/man/man2/sysarch.2 index c400a5c1d2..6ba9c84351 100644 --- a/ja_JP.eucJP/man/man2/sysarch.2 +++ b/ja_JP.eucJP/man/man2/sysarch.2 @@ -1,76 +1,78 @@ .\" %NetBSD: sysarch.2,v 1.6 1998/02/25 21:24:57 perry Exp % .\" %FreeBSD: src/lib/libc/sys/sysarch.2,v 1.1.2.1 1999/08/29 14:49:28 peter Exp % .\" .\" Copyright (c) 1980, 1991 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" from: @(#)syscall.2 6.3 (Berkeley) 3/10/91 .\" .Dd October 11, 1993 .Dt SYSARCH 2 .Os .Sh 名称 .Nm sysarch .Nd アーキテクチャ依存型システムコール +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn sysarch "int number" "void *args" .Sh 解説 .Fn sysarch は、 .Fa args ポインタが指定する引数で、 .Fa number が指定するアーキテクチャ依存型関数を実行します。 .Fa args は、関数の実引数を定義する構造体のポインタです。 アーキテクチャ依存型関数のシンボリック定数と引数の構造体は、 ヘッダファイル .Ao Pa machine/sysarch.h Ac にあります。 .Pp ユーザプログラムでは、 .Fn sysarch システムコールを直接呼び出さず、 アーキテクチャ依存型ライブラリを使用して関数にアクセスしてください。 .Pp .Sh 戻り値 戻り値については、それぞれのアーキテクチャ依存型関数呼び出しの マニュアルページを参照してください。 .Sh 関連項目 .Xr i386_get_ioperm 2 , .Xr i386_get_ldt 2 , .Xr i386_vm86 2 .Sh 歴史 このマニュアルページは、 .Nx -から取られました。 +から取得されました。 \ No newline at end of file diff --git a/ja_JP.eucJP/man/man2/syscall.2 b/ja_JP.eucJP/man/man2/syscall.2 index 4e34c3511f..e2bce2af98 100644 --- a/ja_JP.eucJP/man/man2/syscall.2 +++ b/ja_JP.eucJP/man/man2/syscall.2 @@ -1,79 +1,82 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)syscall.2 8.1 (Berkeley) 6/16/93 .\" .Dd June 16, 1993 .Dt SYSCALL 2 .Os BSD 4 .Sh 名称 .Nm syscall , .Nm __syscall .Nd 間接的なシステムコール +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn syscall "int number" ... .Ft off_t .Fn __syscall "quad_t number" ... .Sh 解説 .Fn syscall は、指定した .Fa number -がアセンブリ言語インタフェースにあるシステムコールを、 +を持つアセンブリ言語インタフェース +のシステムコールを、 指定した引数で実行します。システムコールのシンボリック定数は、 ヘッダファイル .Ao Pa sys/syscall.h Ac にあります。 .Fn __syscall は、 1 つ以上のパラメータが 64 ビット引数で、引数の アラインメントが正しいことを保証する場合に使用して ください。このシステムコールは、 C ライブラリにエントリがない、新しいシステムコールを テストする場合に有用です。 .Sh 戻り値 戻り値は、呼び出すシステムコールで定義されています。 一般的に 0 は正常に完了したことを示します。 -1 はエラーを表わし、エラーコードが .Va errno に設定されます。 .Sh バグ .Xr pipe 2 のように、複数の戻り値があるシステムコールを シミュレートする方法はありません。 .Sh 歴史 .Fn syscall 関数呼び出しは、 .Bx 4.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/truncate.2 b/ja_JP.eucJP/man/man2/truncate.2 index c1c45b4394..527615b4e7 100644 --- a/ja_JP.eucJP/man/man2/truncate.2 +++ b/ja_JP.eucJP/man/man2/truncate.2 @@ -1,121 +1,123 @@ .\" Copyright (c) 1983, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)truncate.2 8.1 (Berkeley) 6/4/93 .\" .Dd June 4, 1993 .Dt TRUNCATE 2 .Os BSD 4.2 .Sh 名称 .Nm truncate , .Nm ftruncate .Nd 指定した長さにファイルを切り捨てたり拡張したりする +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn truncate "const char *path" "off_t length" .Ft int .Fn ftruncate "int fd" "off_t length" .Sh 解説 .Fn truncate -では、 +は、 .Fa path で指定されるファイルか .Fa fd で参照 されるファイルのサイズが、 .Fa length -バイトになるように切り捨てられたり拡張されたりします。 +バイトになるように切り捨てたり拡張します。 ファイルがこのサイズより大きい場合は、余分なデータが失われます。 -ファイルがこのサイズより小さい場合は、0 を書き込んで拡張されます。 +ファイルがこのサイズより小さい場合は、0 が書き込まれたように拡張されます。 .Fn ftruncate では、ファイルが書込み用に開いている必要があります。 .Sh 戻り値 戻り値 0 は呼び出しが正常に完了したことを示します。戻り値 -1 は エラーが起こったことを示し、グローバル変数 .Va errno はエラーコードを示します。 .Sh エラー .Fn truncate は、以下のような場合に処理を失敗します。 -.Bl -tag -width [ENOTDIR] +.Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 指定されたファイルにユーザが書込めません。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EISDIR 指定されたファイルがディレクトリになっています。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er ETXTBSY -ファイルが、実行中のピュアプロシージャ (共有テキスト) ファイルになっている。 +ファイルが、実行中のピュアプロシージャ (共有テキスト) ファイルです。 .It Bq Er EIO inode の更新をしている間に入出力エラーが発生しました。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Pp .Fn ftruncate は、以下のような場合に処理を失敗します。 -.Bl -tag -width [ENOTDIR] +.Bl -tag -width Er .It Bq Er EBADF .Fa fd が有効な記述子ではありません。 .It Bq Er EINVAL .Fa fd はファイルではなくソケットを参照しています。 .It Bq Er EINVAL .Fa fd が書込み用に開いていません。 .El .Sh 関連項目 .Xr open 2 .Sh バグ この呼出しは、ファイルのある範囲を放棄できるように一般化する 必要があります。 .Pp .Fn truncate を使用してファイルを拡張すると、移植性が失われます。 .Sh 歴史 .Fn truncate 関数呼び出しは、 .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/umask.2 b/ja_JP.eucJP/man/man2/umask.2 index 754948a77f..0226265b9f 100644 --- a/ja_JP.eucJP/man/man2/umask.2 +++ b/ja_JP.eucJP/man/man2/umask.2 @@ -1,87 +1,89 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)umask.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/umask.2,v 1.5.2.1 1999/08/29 14:49:29 peter Exp % .\" .Dd June 4, 1993 .Dt UMASK 2 .Os BSD 4 .Sh 名称 .Nm umask .Nd ファイルモード生成マスクの設定 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft mode_t .Fn umask "mode_t numask" .Sh 解説 .Fn umask ルーチンは、プロセスのファイルモード生成マスクを .Fa numask に設定し、設定前のマスク値を返します。 .Fa numask のアクセス権の下位 9 ビットは、 .Xr open 2 , .Xr mkdir 2 , .Xr mkfifo 2 などのシステムコールが使用し、ファイルモードで要求される -対応するビットをオフに切り替えます ( +対応するビットをオフにします ( .Xr chmod 2 を参照) 。 -このようにビットをクリアにすると、各ユーザはファイルへの -デフォルトアクセスを禁止できるようになります。 +ビットをクリアにすることで、各ユーザはそのファイルへの +デフォルトアクセスを制限することができます。 .Pp デフォルトのマスク値は、S_IWGRP | S_IWOTH (022、所有者のみの書込みアクセス) です。 子プロセスは、呼び出しプロセスのマスクを継承します。 .Pp .Sh 戻り値 -ファイルモードマスクの前の値が、呼び出しによって返されます。 +呼び出しによって、以前のファイルモードマスクの値が返されます。 .Pp .Sh エラー .Fn umask は、常に成功します。 .Pp .Sh 関連項目 .Xr chmod 2 , .Xr mknod 2 , .Xr open 2 .Pp .Sh 規格 .Fn umask 関数呼び出しは、 .St -p1003.1-90 に準拠しています。 .Sh 歴史 .Fn umask 関数呼び出しは、 .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/undelete.2 b/ja_JP.eucJP/man/man2/undelete.2 index 65dc846a2a..f97229eaf3 100644 --- a/ja_JP.eucJP/man/man2/undelete.2 +++ b/ja_JP.eucJP/man/man2/undelete.2 @@ -1,101 +1,101 @@ .\" Copyright (c) 1994 .\" Jan-Simon Pendry .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)undelete.2 8.4 (Berkeley) 10/18/94 .\" .Dd October 18, 1994 .Dt UNDELETE 2 .Os BSD 4 .Sh 名称 .Nm undelete .Nd 削除したファイルの回復 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn undelete "const char *path" .Sh 解説 .Fn undelete 関数は、 .Fa path で指定された削除済みファイルを回復しようとします。 現在は、指定されたオブジェクトがユニオンファイルシステムの ホワイトアウトである場合に限って動作します。 このシステムコールはホワイトアウトを削除し、 ユニオンスタックの下層にあるオブジェクトが表示されるようにします。 .Pp 最終的に -.Nm undelete +.Fn undelete 機能は、その他のログ構造ファイルシステムのような削除済みファイルを 回復できるファイルシステムに拡張されるでしょう。 .Sh 戻り値 処理が正常に完了すると、値 0 が返されます。 そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn undelete は、以下の場合にエラーとなります。 -.Bl -tag -width ENAMETOOLONGAA +.Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er EEXIST パスがホワイトアウトを参照していません。 .It Bq Er ENOENT 指定されたホワイトアウトが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 回復するファイルを含むディレクトリについて、書込み許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EPERM ファイルを含むディレクトリがスティッキーとマークされ、 そのディレクトリが、有効なユーザ ID に所有されていません。 .It Bq Er EIO ディレクトリエントリの更新している間に入出力エラーが発生しました。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr unlink 2 , .Xr mount_union 8 .Sh 歴史 -.Nm undelete -関数呼び出しは、 -.Bx 4.4-Lite -ではじめて登場しました。 +.Fn undelete +関数呼び出しは、4.4BSD-Lite ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/unlink.2 b/ja_JP.eucJP/man/man2/unlink.2 index 92d8f6fa51..fcb393072b 100644 --- a/ja_JP.eucJP/man/man2/unlink.2 +++ b/ja_JP.eucJP/man/man2/unlink.2 @@ -1,113 +1,115 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)unlink.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/unlink.2,v 1.7.2.1 1999/08/29 14:49:29 peter Exp % .\" .Dd June 4, 1993 .Dt UNLINK 2 .Os BSD 4 .Sh 名称 .Nm unlink .Nd ディレクトリエントリの削除 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn unlink "const char *path" .Sh 解説 .Fn unlink 関数は、 .Fa path で指定されたリンクをディレクトリから削除し、 そのリンクで参照されていたファイルのリンク数を減らします。 ファイルのリンク数が 0 になり、ファイルを開いているプロセスがなくなると、 -ファイルに関連するすべてのリソースが再生されます。 +ファイルに関連するすべてのリソースが再利用されます。 最後のリンクが削除されたときに、ファイルを開いているプロセスが 1 つ以上あると、リンクは削除されますが、ファイルの削除は、 そのファイルへのすべての参照が閉じられるまで延期されます。 .Fa path は、ディレクトリでない場合もあります。 .Sh 戻り値 処理が正常に完了すると、値 0 が返されます。 そうでない場合は -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn unlink は、以下の場合に処理を失敗します。 -.Bl -tag -width ENAMETOOLONGAA +.Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在しません。 .It Bq Er EACCES 前置パス名の構成要素について検索許可が拒否されています。 .It Bq Er EACCES 削除するリンクを含むディレクトリで、書込み許可が拒否されています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EPERM 指定されたファイルがディレクトリになっています。 .It Bq Er EPERM ファイルを含むディレクトリがスティッキーとマークされ、 削除するファイルを含むディレクトリまたはファイルが、 有効なユーザ ID に所有されていません。 .It Bq Er EBUSY リンクを削除するエントリが、 マウント済みファイルシステムのマウントポイントです。 .It Bq Er EIO ディレクトリエントリの削除中か、inode の割当て解除中に 入出力エラーが発生しました。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr close 2 , .Xr link 2 , .Xr rmdir 2 , .Xr symlink 7 .Sh 歴史 .Fn unlink 関数呼出しは、 .At v6 で登場しました。 .Pp 古来の .Fn unlink システムコールでは、ファイルシステムを破壊する可能性のあるディレクトリの リンクをスーパユーザが削除できるようになっています。 それを実行することは、すでに許可されなくなっています。 diff --git a/ja_JP.eucJP/man/man2/utimes.2 b/ja_JP.eucJP/man/man2/utimes.2 index 3b16687647..5449b5580c 100644 --- a/ja_JP.eucJP/man/man2/utimes.2 +++ b/ja_JP.eucJP/man/man2/utimes.2 @@ -1,174 +1,176 @@ .\" %NetBSD: utimes.2,v 1.13 1999/03/22 19:45:11 garbled Exp % .\" .\" Copyright (c) 1990, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/utimes.2,v 1.4.2.3 1999/08/29 14:49:30 peter Exp % .\" .Dd June 4, 1993 .Dt UTIMES 2 .Os .Sh 名称 .Nm utimes , .Nm lutimes , .Nm futimes .Nd ファイルアクセス時刻と更新時刻の設定 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn utimes "const char *path" "const struct timeval *times" .Ft int .Fn lutimes "const char *path" "const struct timeval *times" .Ft int .Fn futimes "int fd" "const struct timeval *times" .Sh 解説 .Fa path で指定したファイルか .Fa fd が参照するファイルのアクセス時刻と更新時刻を、引数 .Fa times で指定されたように変更します。 .Pp .Fa times が .Dv NULL である場合、アクセス時刻と更新時刻は現在の時刻に設定されます。 呼び出し側はファイルの所有者でファイルの書込み権があるか、 スーパユーザである必要があります。 .Pp .Fa times が NULL 以外である場合、 .Fa times は 2 つの timeval 構造体の配列を指していることが前提となります。 アクセス時刻は最初の要素に、更新時刻は次の要素に 設定します。呼出し側はファイルの所有者であるか スーパユーザである必要があります。 .Pp どちらの場合でも、ファイルの i ノード変更時刻は現在の時刻に設定されます。 .Pp .Fn lutimes は指定したファイルがシンボリックリンク以外では .Fn utimes と同じです。シンボリックリンクの場合 .Fn lutimes はリンクのアクセス時刻と更新時刻を変更するのに対し、 .Fn utimes はリンクが参照するファイルの時刻を変更します。 .Sh 戻り値 成功すると 0 が戻されます。そうでなければ -1 が戻され、 .Va errno がエラーを示すように設定されます。 .Sh エラー .Fn utimes と .Fn lutimes は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 あるいは .Fa times -引数がヌルで、プロセスの実効ユーザ ID がファイルの所有者と一致せず、 +引数が NULL で、プロセスの実効ユーザ ID がファイルの所有者と一致せず、 しかもスーパユーザでもなく、書込みアクセスが拒否されました。 .It Bq Er EFAULT .Fa path または .Fa times は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EIO 変更される i ノードの読書きの間に入出力エラーが発生しました。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENAMETOOLONG パス名の構成要素が .Dv NAME_MAX 文字を越えているか、またはパス名全体 .Dv PATH_MAX 文字を越えています。 .It Bq Er ENOENT 指定したファイルが存在しません。 .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er EPERM .Fa times 引数がヌルではなく、呼び出し側プロセスの実効ユーザ ID が、 ファイルの所有者と一致せず、しかもスーパユーザではありません。 .It Bq Er EROFS そのファイルを含むファイルシステムが、 読取り専用でマウントされています。 .El .Pp .Fn futimes は、以下の場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EBADF .Fa fd が、有効な記述子を参照していません。 .El .Pp すべての関数は、以下の場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EACCES .Fa times 引数が .Dv ヌル であり、プロセスの実効ユーザ ID が ファイルの所有者と一致せず、しかもスーパユーザでもなく、 書込みアクセスが拒否されました。 .It Bq Er EFAULT .Fa times は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EIO 変更される i ノードの読み書き中に入出力エラーが発生しました。 .It Bq Er EPERM .Fa times 引数が .Dv ヌル ではなく、呼び出し側プロセスの実効ユーザ ID が、 ファイルの所有者と一致せず、しかもスーパユーザでもありません。 .It Bq Er EROFS そのファイルを含むファイルシステムが読取り専用でマウントされています。 .El .Sh 関連項目 .Xr stat 2 , .Xr utime 3 .Sh 歴史 .Fn utimes 関数は .Bx 4.2 で登場しました。 .Fn futimes 関数と .Fn lutimes 関数は .Fx 3.0 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man2/vfork.2 b/ja_JP.eucJP/man/man2/vfork.2 index 684316bdba..fd3907df52 100644 --- a/ja_JP.eucJP/man/man2/vfork.2 +++ b/ja_JP.eucJP/man/man2/vfork.2 @@ -1,125 +1,127 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)vfork.2 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/lib/libc/sys/vfork.2,v 1.11.2.1 1999/08/29 14:49:31 peter Exp % .\" .Dd June 4, 1993 .Dt VFORK 2 .Os BSD 4 .Sh 名称 .Nm vfork .Nd 効率的な方法で仮想メモリに新しいプロセスを生成 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn vfork void .Sh 解説 .Fn vfork では、古いプロセスのアドレス空間を完全にコピーせずに、 新しいプロセスを作成できます。 -ページされた環境では、古いプロセスのアドレス空間を完全にコピーすることは、 +ページングする環境では、古いプロセスのアドレス空間を完全にコピーすることは、 非常に非効率的です。 .Xr fork 2 -での目的が、 +する目的が、 .Xr execve 2 -の新しいシステムコンテキストの作成である場合に有効です。 +のための新しいシステムコンテキストの作成である場合に有効です。 .Fn vfork は、 .Xr execve 2 を呼び出すか、終了する ( .Xr _exit 2 を呼び出すか異常終了する) まで子が親のメモリとコントロールの スレッドを借りるという点で、 .Xr fork 2 と異なります。親プロセスは、子がリソースを使用している間停止されます。 .Pp .Fn vfork は、0 を子のコンテキストに、そして (後に) 子の pid を 親のコンテキストに戻します。 .Pp 通常の場合、 .Fn vfork は .Xr fork 2 のように使用できます。しかし、 .Fn vfork を呼び出したプロシージャから子のコンテキストで動作している間に 動作して戻ることはありません。最終的に .Fn vfork から戻ると、存在しないスタックフレームに戻るからです。 .Xr execve 2 を実行できない場合は、 .Xr exit 3 ではなく、 .Xr _exit 2 を呼び出してください。 .Xr exit 3 は標準入出力チャネルをフラッシュして閉じるため、 親プロセスの標準入出力データ構造体を壊してしまいます。( .Xr fork 2 でも、バッファに入っているデータが 2 回フラッシュされるので、 .Xr exit 3 を呼び出さないでください。) .Pp .Sh 関連項目 .Xr _exit 2 , .Xr execve 2 , .Xr fork 2 , .Xr rfork 2 , .Xr sigvec 2 , .Xr wait 2 , .Xr exit 3 .Sh 戻り値 .Xr fork 2 と同じです。 .Sh バグ -このシステム呼び出しは、適切なシステム共有メカニズム +このシステムコールは、適切なシステム共有メカニズム が実現したときに削除されます。削除された場合は、 .Xr fork 2 と同義になるので、 .Xr vfork 2 のメモリ共有の現実装には依存しないでください。 .Pp デッドロックを避けるため、 .Fn vfork の途中で子になるプロセスには、 .Dv SIGTTOU シグナルや .Dv SIGTTIN シグナルが送信されません。その代わりに出力、または、 .Xr ioctl 2 -呼び出しが許可され、EOF によって終端を示された結果を入力します。 +呼び出しが許可され、入力しようとすると EOF となります。 .Sh 歴史 .Fn vfork 関数呼び出しは、 -.Bx 3.0 +.Bx 2.9 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/wait.2 b/ja_JP.eucJP/man/man2/wait.2 index 055bd08b6b..c8e27ed9ae 100644 --- a/ja_JP.eucJP/man/man2/wait.2 +++ b/ja_JP.eucJP/man/man2/wait.2 @@ -1,248 +1,250 @@ .\" Copyright (c) 1980, 1991, 1993, 1994 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)wait.2 8.2 (Berkeley) 4/19/94 .\" .Dd April 19, 1994 .Dt WAIT 2 .Os BSD 4 .Sh 名称 .Nm wait , .Nm waitpid , .Nm wait4 , .Nm wait3 .Nd プロセスの終了待機 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Ft pid_t .Fn wait "int *status" .Fd #include .Fd #include .Ft pid_t .Fn waitpid "pid_t wpid" "int *status" "int options" .Ft pid_t .Fn wait3 "int *status" "int options" "struct rusage *rusage" .Ft pid_t .Fn wait4 "pid_t wpid" "int *status" "int options" "struct rusage *rusage" .Sh 解説 .Fn wait 関数は、終了した子プロセスの .Fa status 情報が使用できるようになるまで、またはシグナルを受信するまで、 呼出しプロセスの実行を停止します。 .Fn wait 呼出しが成功すると、 .Fa status 領域には下の定義のように終了したプロセスの終了情報が入ります。 .Pp .Fn wait4 -呼出しは、特定の子プロセスを待機する必要があり、 +呼出しは、特定の子プロセスを待つ必要があり、 子プロセスが蓄積したリソース利用統計あるいは オプションを必要とするプログラムのために、 より一般的なインタフェースを提供します。 その他の待機関数は、 .Fn wait4 を使用して実装されています。 .Pp .Fa wpid -パラメータは待機する子プロセスの集合を指定します。 +パラメータは待つべき子プロセスの集合を指定します。 .Fa wpid -が -1 である場合、この呼出しはすべての子プロセスを待機します。 +が -1 である場合、この呼出しはすべての子プロセスを待ちます。 .Fa wpid が 0 である場合、この呼出しは、呼出し側のプロセスグループの -すべての子プロセスを待機します。 +すべての子プロセスを待ちます。 .Fa wpid が 0 より大きい場合、この呼出しは プロセス ID が .Fa wpid -であるプロセスを待機します。 +であるプロセスを待ちます。 .Fa wpid が -1 より小さい場合、呼出しは、プロセスグループ ID が .Fa wpid -の絶対値に等しいプロセスを待機します。 +の絶対値に等しいプロセスを待ちます。 .Pp .Fa status パラメータは、以下のように定義されています。 .Fa options パラメータには、以下の任意のオプションのビット論理和が入ります。 .Dv WNOHANG オプションは、ステータスを報告するプロセスがない場合に呼出しがブロック しないことを示すために使用します。 .Dv WUNTRACED オプションを設定すると、SIGTTIN シグナル、SIGTTOU シグナル、SIGTSTP シグナル、 .Dv SIGSTOP シグナルのために停止したカレントプロセスの子にも、 そのステータスを報告させます。 .Fa rusage が 0 以外である場合は、終了したプロセスと そのすべての子が使用したリソースのサマリが返されます (現在のところ、この情報は停止したプロセスについては使用できません)。 .Dv WNOHANG オプションを指定が指定され、ステータスを報告するプロセスがない場合、 .Fn wait4 はプロセス ID 0 を戻します。 .Pp .Fn waitpid 呼出しは、 .Fa rusage の値を 0 にした .Fn wait4 と同じです。古い .Fn wait3 呼出しは、 .Fa wpid の値を -1 にした .Fn wait4 と同じです。 .Pp 以下のマクロは、プロセスの終了の仕方を知るのに 使用できます。最初の 3 つのマクロは、0 以外 (真) の値を評価します。 .Bl -tag -width Ds .It Fn WIFEXITED status .Xr _exit 2 か .Xr exit 3 を呼出し、プロセスが正常に終了した場合に真となります。 .It Fn WIFSIGNALED status シグナルを受信したためにプロセスが終了した場合に真となります。 .It Fn WIFSTOPPED status プロセスが終了していないが、停止していて再開できる場合に真と なります。このマクロは .Fn wait 呼出しで .Dv WUNTRACED オプションを指定するか、子プロセスがトレースされている ( .Xr ptrace 2 を参照) 場合のみに真となります。 .El .Pp 上記マクロの値に従って、以下のマクロは、 子プロセスの残りのステータス情報を生成します。 .Bl -tag -width Ds .It Fn WEXITSTATUS status .Fn WIFEXITED status が真である場合に、子が .Xr _exit 2 か .Xr exit 3 に渡した引数の下位 8 ビットを評価します。 .It Fn WTERMSIG status .Fn WIFSIGNALED status が真である場合に、プロセスの終了の原因となったシグナルの番号を評価します。 .It Fn WCOREDUMP status .Fn WIFSIGNALED status が真である場合に、プロセスが終了した後で、シグナルを受信したときの プロセスのイメージを含むコアファイルが作成された場合に真となります。 .It Fn WSTOPSIG status .Fn WIFSTOPPED status が真である場合に、プロセスの停止の原因となったシグナルの番号を評価します。 .El .Sh 注 終了シグナルのリストについては、 .Xr sigaction 2 を参照してください。 ステータスが 0 であるということは、正常に終了したということです。 .Pp すべての子プロセスの終了を待たずに親プロセスが終了すると、 残りの子プロセスには親プロセス 1 ID (init のプロセス ID) が割り当てられます。 .Pp 任意の .Fn wait 呼出しが保留になっている間にシグナルを受信すると、 シグナル受信ルーチンが戻ったときに、 呼出しは割り込まれるか再開されます。 これはシグナルに影響するオプションに依存します。 .Xr intro 2 システムコールの再開 (System call restart) の項目を参照してください。 .Sh 戻り値 子プロセスが停止したか終了したために .Fn wait が戻った場合は、子のプロセス ID が呼出し側プロセスに戻されます。 その他の場合は -1 が戻され、 .Va errno がエラーを示すように設定されます。 .Pp 子プロセスが停止しているか終了したために .Fn wait4 , .Fn wait3 , .Fn waitpid が戻った場合は、子のプロセス ID が呼出し側プロセスに戻されます。 -以前に待機した子がない場合は、-1 が戻されて +まだ wait されていない子プロセスが存在しない場合は、-1 が戻されて .Va errno が -.Bq Er ECHILD +.Er ECHILD に設定されます。 .Dv WNOHANG が指定され、停止した子または終了した子がない場合は 0 が戻されます。 エラーが検出されるか、受信シグナルによりこの呼出しが異常終了した場合は、 -1 が戻され、 .Va errno がエラーを示すように設定されます。 .Sh エラー .Fn wait は以下の場合にエラーとなり、ただちに戻ります: .Bl -tag -width Er .It Bq Er ECHILD -呼出し側プロセスに、待機していない子プロセスが存在しません。 +呼出し側プロセスは、wait されていない子プロセスを持ちません。 .It Bq Er EFAULT .Fa status 引数か .Fa rusage 引数が違法なアドレスを指しています。(子プロセスの終了前には 検出されないことがあります。) .It Bq Er EINTR 呼出しが受信シグナルによって割り込まれたか、シグナルに .Dv SA_RESTART フラグが設定されていません。 .El .Sh 規格 .Fn wait 関数と .Fn waitpid 関数は POSIX によって定義されています。 .Fn wait4 と .Fn wait3 は POSIX の仕様ではありません。 .Fn WCOREDUMP マクロおよび保留中の .Fn wait 呼出しを再開する機能は POSIX インタフェースの拡張機能です。 .Sh 関連項目 .Xr _exit 2 , .Xr ptrace 2 , .Xr sigaction 2 , .Xr exit 3 .Sh 歴史 .Fn wait 関数は、 .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man2/write.2 b/ja_JP.eucJP/man/man2/write.2 index 36c9a531f4..5f878d96fb 100644 --- a/ja_JP.eucJP/man/man2/write.2 +++ b/ja_JP.eucJP/man/man2/write.2 @@ -1,267 +1,271 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" 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. .\" 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. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY 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. .\" .\" @(#)write.2 8.5 (Berkeley) 4/2/94 .\" .Dd April 2, 1994 .Dt WRITE 2 .Os BSD 4 .Sh 名称 .Nm write , .Nm writev , .Nm pwrite .Nd 出力の書込み +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft ssize_t .Fn write "int d" "const void *buf" "size_t nbytes" .Ft ssize_t .Fn writev "int d" "const struct iovec *iov" "int iovcnt" .Ft ssize_t .Fn pwrite "int d" "const void *buf" "size_t nbytes" "off_t offset" .Sh 解説 .Fn write は、 .Fa buf が指すバッファから記述子 .Fa d が参照するオブジェクトに .Fa nbytes のデータを書込もうとします。 .Fn writev -は同じアクションを実行しますが、iov[0], iov[1], ..., iov[iovcnt-1] という +は同様の動作をしますが、iov[0], iov[1], ..., iov[iovcnt-1] という .Fa iov 配列のメンバが指定する .Fa iovcnt バッファから出力データを集めます。 .Fn pwrite は同じ機能を実行しますが、ファイルポインタを修正せずに、 ファイルの特定場所に書込みます。 .Pp .Fn writev では、 .Fa iovec 構造体が以下のように定義されています。 .Pp .Bd -literal -offset indent -compact struct iovec { - char *iov_base; /* Base address. */ - size_t iov_len; /* Length. */ + char *iov_base; /* ベースアドレス */ + size_t iov_len; /* 長さ */ }; .Ed .Pp 各 .Fa iovec -エントリは、データを書込むメモリのベースアドレスと領域の長さを指定します。 +エントリは、書込むデータがあるメモリのベースアドレスと領域の長さを指定します。 .Fn writev は、常に領域全体を書込んでから次に進みます。 .Pp シーク機能があるオブジェクトでは、 .Fn write は .Fa d に関連するポインタが指定する位置で開始します。 .Xr lseek 2 を参照してください。 .Fn write から戻ると、ポインタは書込まれたバイト数だけ進みます。 .Pp シーク機能がないオブジェクトでは、常に現在位置から書込みます。 このようなオブジェクトに関連するポインタの値は未定義です。 .Pp 実ユーザがスーパユーザでない場合、 .Fn write は、set-user-ID ビットをファイルでクリアします。 これにより、スーパユーザが所有する書込み可能な set-user-ID ファイルを 「捕えた」ユーザは、システムセキュリティを突破できなくなります。 .Pp ソケットのように、フローコントロールの影響を受けるオブジェクトで 非ブロッキング I/O を使用すると、 .Fn write と .Fn writev は、要求したより少ないバイト数を書込むことがあります。 戻り値に注意し、可能な場合にはオペレーションの残りを再度試してください。 .Sh 実装上の注意事項 非スレッドライブラリでは、 .Fn write は .Va write システムコールのように実装されます。 .Pp スレッドライブラリでは、 .Fn write システムコールは .Fn _thread_sys_write に組み込まれ、 .Fn write は、読み書き用に .Fa d をロックしてから .Fn _thread_sys_write を呼び出す関数のように実装されます。 .Va _thread_sys_write の呼び出しがブロックする場合は、コンテキストスイッチが実行されます。 .Fn write は戻る前に .Fa d のロックを解除します。 .Pp 非スレッドライブラリでは、 .Fn writev は .Va writev システムコールのように実装されます。 .Pp スレッドライブラリでは、 .Fn writev システムコールは .Fn _thread_sys_writev に組み込まれ、 .Fn writev は、読み書き用に .Fa d をロックしてから .Fn _thread_sys_writev を呼び出す関数のように実装されます。 .Fn _thread_sys_writev の呼び出しがブロックする場合は、コンテキストスイッチが実行されます。 .Fn writev は戻る前に .Fa d のロックを解除します。 .Sh 戻り値 処理が正常に完了すると、書込まれたバイト数が返されます。 そうでない場合は -1 が返され、エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Fn write , .Fn writev , .Fn pwrite は、以下の場合にエラーとなり、ファイルポインタは変更されずに残ります。 .Bl -tag -width Er .It Bq Er EBADF .Fa d が、書込み用に開かれた有効な記述子ではありません。 .It Bq Er EPIPE プロセスによる読取り用に開かれていないパイプに書込もうとしました。 .It Bq Er EPIPE 通信相手のソケットに接続していないタイプ .Dv SOCK_STREAM のソケットに書込もうとしました。 .It Bq Er EFBIG プロセスのファイルサイズ制限か最大ファイルサイズを越えたファイルに 書込もうとしました。 .It Bq Er EFAULT .Fa iov の一部、またはファイルに書込むデータは、 プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL .Fa d に関連するポインタが負になっています。 .It Bq Er ENOSPC ファイルを含むファイルシステムに、充分なスペースが残っていません。 .It Bq Er EDQUOT ファイルを含むファイルシステムのユーザのディスクブロック割当量が 使い尽くされています。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .It Bq Er EAGAIN ファイルは非ブロッキング I/O にマークされており、 すぐにデータを書込める状態ではありません。 .El .Pp .Fn writev は、以下のエラーを戻すことがあります。 .Bl -tag -width Er .It Bq Er EDESTADDRREQ .Xr connect 2 を使用して書込み先アドレスを設定した .Ux ドメインデータグラムソケットに書込む場合に、書込み先が使用できません。 .It Bq Er EINVAL .Fa iovcnt が 0 以下になっているか、 .Dv UIO_MAXIOV より、大きくなっています。 .It Bq Er EINVAL .Fa iov 配列 .Fa iov_len 値の 1 つが負になっています。 .It Bq Er EINVAL .Fa iov 配列 .Fa iov_len 値の合計が、32 ビット整数をオーバフローしました。 +.It Bq Er ENOBUFS +ソケットに書き出している時に mbuf のプールを使い尽くしました。 .El .Pp .Fn pwrite 呼び出しは、以下のエラーを戻すことがあります。 .Bl -tag -width Er .It Bq Er EINVAL 指定したファイルオフセットが正しくありません。 .It Bq Er ESPIPE ファイル記述子が、パイプ、ソケット、FIFO に関連しています。 .El .Sh 関連項目 .Xr fcntl 2 , .Xr lseek 2 , .Xr open 2 , .Xr pipe 2 , .Xr select 2 .Sh 規格 .Fn write 関数呼び出しは、 .St -p1003.1-90 に準拠しています。 .Fn writev 関数と .Fn pwrite 関数は、 .St -xpg4.2 で登場しました。 .Sh 歴史 .Fn pwrite 関数呼び出しは、 .At V.4 で登場しました。 .Fn writev 関数呼び出しは、 .Bx 4.2 で登場しました。 .Fn write 関数呼び出しは、 .At v6 で登場しました。