Update to 4.2-20010112-STABLE base.

Submitted by:dais@iris.dti.ne.jp (Daisuke Higashi)
Reviewed by:OHSAWA Chitoshi <ohsawa@catv1.ccn-net.ne.jp>
This commit is contained in:
Kazuo Horikawa 2001-03-12 02:18:19 +00:00
parent a3e6cdda1b
commit 3fc6f2a6e5
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=8986
26 changed files with 388 additions and 261 deletions

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)_exit.2 8.1 (Berkeley) 6/4/93 .\" @(#)_exit.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/_exit.2,v 1.8.2.2 1999/09/18 16:18:58 phantom Exp% .\" %FreeBSD: src/lib/libc/sys/_exit.2,v 1.10.2.1 2000/04/22 17:06:47 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt EXIT 2 .Dt EXIT 2
@ -38,13 +38,15 @@
.Sh 名称 .Sh 名称
.Nm _exit .Nm _exit
.Nd 呼び出し元プロセスを終了する .Nd 呼び出し元プロセスを終了する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft void .Ft void
.Fn _exit "int status" .Fn _exit "int status"
.Sh 解説 .Sh 解説
.Fn _exit .Fn _exit
関数はプロセスを終了させ、以降のような結をもたらします。: 関数はプロセスを終了させ、以降のような結をもたらします。:
.Bl -bullet .Bl -bullet
.It .It
呼び出し元プロセス内のすべての記述子が閉じられます。 呼び出し元プロセス内のすべての記述子が閉じられます。
@ -56,7 +58,7 @@
.Xr wait 2 .Xr wait 2
呼び出しがある場合または 呼び出しがある場合または
.Dv SIGCHLD .Dv SIGCHLD
信号を捕捉した場合、呼び出し元プロセスの終了が親プロセスに通知され、 シグナルを捕捉した場合、呼び出し元プロセスの終了が親プロセスに通知され、
.Xr wait 2 .Xr wait 2
で定義されたように で定義されたように
.Em status .Em status
@ -71,7 +73,7 @@
セクションを参照) セクションを参照)
が、これらの各プロセスを継承します。 が、これらの各プロセスを継承します。
.It .It
プロセスの終了によっていずれかのプロセスグループが親のない子になる場合 プロセスの終了によっていずれかのプロセスグループが親のない子になる場合
(通常はグループのメンバ全員に対する親が終了したため。 (通常はグループのメンバ全員に対する親が終了したため。
.Xr intro 2 .Xr intro 2
@ -79,26 +81,24 @@
を参照)、そして親のないグループのメンバのいずれかが停止されている場合、 を参照)、そして親のないグループのメンバのいずれかが停止されている場合、
その新たな親のないプロセスグループのすべてのメンバに その新たな親のないプロセスグループのすべてのメンバに
.Dv SIGHUP .Dv SIGHUP
信号 シグナル
.Dv SIGCONT .Dv SIGCONT
信号が送信されます。 シグナルが送信されます。
.It .It
プロセスが制御プロセスの場合 プロセスが制御プロセスの場合
.Pf ( Xr intro 2 .Pf ( Xr intro 2
を参照)、 を参照)、
.Dv SIGHUP .Dv SIGHUP
信号が制御端末のフォアグラウンドプロセスグループに送信され、 シグナルが制御端末のフォアグラウンドプロセスグループに送信され、
制御端末への現在のすべての呼び出しが無効にされます。 制御端末への現在のすべてのアクセスが無効にされます。
.El .El
.Pp .Pp
ほとんどの C プログラムはライブラリルーチン ほとんどの C プログラムはライブラリルーチン
.Xr exit 3 .Xr exit 3
を呼び出してから を呼び出します。これはバッファをフラッシュし、ストリームを閉じ、
一時ファイルをアンリンクするなどした後に
.Fn _exit .Fn _exit
を呼び出します。 を呼び出します。
.Xr exit 3
はバッファをフラッシュし、ストリームを閉じ、
一時的ファイルをアンリンクしたりします。
.Sh 戻り値 .Sh 戻り値
.Fn _exit .Fn _exit
は戻りません。 は戻りません。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)accept.2 8.2 (Berkeley) 12/11/93 .\" @(#)accept.2 8.2 (Berkeley) 12/11/93
.\" %FreeBSD: src/lib/libc/sys/accept.2,v 1.6.2.2 1999/08/29 14:48:53 peter Exp% .\" %FreeBSD: src/lib/libc/sys/accept.2,v 1.10.2.4 2000/08/23 00:24:37 jhb Exp %
.\" .\"
.Dd December 11, 1993 .Dd December 11, 1993
.Dt ACCEPT 2 .Dt ACCEPT 2
@ -38,11 +38,13 @@
.Sh 名称 .Sh 名称
.Nm accept .Nm accept
.Nd ソケット上の接続を受け入れる .Nd ソケット上の接続を受け入れる
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <sys/socket.h> .Fd #include <sys/socket.h>
.Ft int .Ft int
.Fn accept "int s" "struct sockaddr *addr" "int *addrlen" .Fn accept "int s" "struct sockaddr *addr" "socklen_t *addrlen"
.Sh 解説 .Sh 解説
引数 引数
.Fa s .Fa s
@ -54,31 +56,32 @@
.Xr listen 2 .Xr listen 2
も済ませて接続を待ち受けているソケットです。 も済ませて接続を待ち受けているソケットです。
.Fn accept .Fn accept
論法は、待ち行列上の最初の接続要求を取り出し、 呼び出しは、待ち行列上の最初の接続要求を取り出し、
.Fa s .Fa s
と同じプロパティの新しいソケットを作成し、 と同じプロパティの新しいソケットを作成し、
ソケットのための新しいファイル記述子を割り当てます。 ソケットのための新しいファイル記述子を割り当てます。
接続要求が待ち行列上に存在せず、 接続要求が待ち行列上に存在せず、
しかもソケットがノンブロッキングとマークされていない場合、 しかもソケットがブロッキングとマークされていない場合、
.Fn accept .Fn accept
は接続要求があるまで呼び出し側をブロックします。 は接続要求があるまで呼び出し側をブロックします。
ソケットがノンブロッキングとマークされており、 ソケットがブロッキングとマークされており、
しかも待ち行列に接続要求が存在しない場合、 しかも待ち行列に接続要求が存在しない場合、
.Fn accept .Fn accept
は後述のようにエラーを返します。 は後述のようにエラーを返します。
接続が成立したソケットは、それ以上の接続を受け入れるために 接続が成立したソケットは、それ以上の接続を受け入れるために
使用されない可能性があります 使用できません
オリジナルのソケット オリジナルのソケット
.Fa s .Fa s
は開いたままです。 は開いたままです。
.Pp .Pp
引数 引数
.Fa addr .Fa addr
は結果パラメータで、通信レイヤに既知の接続エンティテイのアドレスで埋められます。 は結果パラメータで、
通信レイヤに既知の接続エンティティのアドレスで埋められます。
.Fa addr .Fa addr
パラメータの正確な形式は通信が行なわれるドメインで決まります。 パラメータの正確な形式は通信が行なわれるドメインで決まります。
.Fa addrlen .Fa addrlen
は、「値結果」パラメータです。 は、「値 - 結果」パラメータです。
これは最初は これは最初は
.Fa addr .Fa addr
が指す空間のサイズを含んでいなければなりません。 が指す空間のサイズを含んでいなければなりません。
@ -109,54 +112,51 @@
.Fa msg_controllen .Fa msg_controllen
を 0 でない値に設定して を 0 でない値に設定して
.Xr recvmsg 2 .Xr recvmsg 2
を発行することによって、 を発行することによって、または
または
.Xr getsockopt 2 .Xr getsockopt 2
を発行することによって、確認なしにユーザ接続要求データを得ることができます。 を発行することによって、確認なしにユーザ接続要求データを得ることができます。
同じように、制御情報だけを指定して 同じように、制御情報だけを指定して
.Xr sendmsg 2 .Xr sendmsg 2
を発行することによって、または を発行することによって、または
.Xr setsockopt 2 .Xr setsockopt 2
を発行する を発行することによって、ユーザ接続拒絶情報を提供できます。
ことによって、ユーザ接続拒絶情報を提供できます。
.Sh システムの注意事項 .Sh システムの注意事項
.Pp .Pp
ノンスレッドライブラリで スレッドライブラリで
.Fn accept .Fn accept
.Va accept .Va accept
システムコールとして実装されます。 システムコールとして実装されます。
.Pp .Pp
スレッドライブラリでは、 スレッドライブラリでは、
.Va accept .Va accept
システムコール システムコールは
.Fn _thread_sys_accept .Fn _thread_sys_accept
にアセンブルされ、 にアセンブルされ、
.Fn accept .Fn accept
は、読取りと書込み用に は、読取りと書込み用に
.Va s .Fa s
をロックしてから、 をロックしてから、
.Fn _thread_sys_accept .Fn _thread_sys_accept
を呼び出す関数として実されます。 を呼び出す関数として実されます。
.Fn _thread_sys_accept .Fn _thread_sys_accept
への呼び出しがブロックする場合はコンテキストスイッチが への呼び出しがブロックする場合はコンテキストスイッチが
実行されます。戻る前に 実行されます。戻る前に
.Fn accept .Fn accept
.Va s .Fa s
をアンロックします。 をアンロックします。
.Pp .Pp
.Sh 戻り値 .Sh 戻り値
呼び出しはエラーがあった場合 \-1 を返します。 システムコールはエラーがあった場合 \-1 を返します。
処理が正常に完了した場合、受け付けたソケットの 処理が正常に完了した場合、受け付けたソケットの
記述子である負でない整数を返します。 記述子である負整数を返します。
.Sh エラー .Sh エラー
.Fn accept .Fn accept
は次の場合に失敗します: は次の場合に失敗します:
.Bl -tag -width EWOULDBLOCK .Bl -tag -width Er
.It Bq Er EBADF .It Bq Er EBADF
記述子が無効です 記述子が有効ではありません
.It Bq Er EINTR .It Bq Er EINTR
.Fn accept .Fn accept
操作が割り込まれました。 操作が割り込まれました。
@ -171,9 +171,9 @@
がソケット記述子に対して呼び出されていません。 がソケット記述子に対して呼び出されていません。
.It Bq Er EFAULT .It Bq Er EFAULT
.Fa addr .Fa addr
パラメータがユーザアドレス空間の書込み可能部分にありません。 パラメータがユーザアドレス空間の書込み可能部分にありません。
.It Bq Er EWOULDBLOCK .It Bq Er EWOULDBLOCK
ソケットがノンブロッキングとマークされており、 ソケットが非ブロッキングとマークされ、さらに
受け付けるべき接続要求が存在しません。 受け付けるべき接続要求が存在しません。
.El .El
.Sh 関連項目 .Sh 関連項目

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)access.2 8.2 (Berkeley) 4/1/94 .\" @(#)access.2 8.2 (Berkeley) 4/1/94
.\" %FreeBSD: src/lib/libc/sys/access.2,v 1.6.2.1 1999/08/29 14:48:53 peter Exp % .\" %FreeBSD: src/lib/libc/sys/access.2,v 1.7.2.1 2000/04/22 17:06:48 phantom Exp %
.\" .\"
.Dd April 1, 1994 .Dd April 1, 1994
.Dt ACCESS 2 .Dt ACCESS 2
@ -38,6 +38,8 @@
.Sh 名称 .Sh 名称
.Nm access .Nm access
.Nd ファイルまたはパス名のアクセス許可をチェックする .Nd ファイルまたはパス名のアクセス許可をチェックする
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft int .Ft int
@ -79,7 +81,7 @@
にも該当します。 にも該当します。
.Sh 戻り値 .Sh 戻り値
.Fa path .Fa path
が見つからない場合、または希望のアクセスモードが認証されない場合、 が見つからない場合、または希望のアクセスモードが認められない場合、
値 -1 が返されます。そうでない場合は、値 0 が返されます。 値 -1 が返されます。そうでない場合は、値 0 が返されます。
.Sh エラー .Sh エラー
ファイルへのアクセスは次の場合に拒絶されます。 ファイルへのアクセスは次の場合に拒絶されます。
@ -101,13 +103,13 @@
ファイルについて書込みアクセスが要求されています。 ファイルについて書込みアクセスが要求されています。
.It Bq Er EACCES .It Bq Er EACCES
ファイルモードの許可ビットが要求されたアクセスを許容しないか、 ファイルモードの許可ビットが要求されたアクセスを許容しないか、
またはパスの先頭構成要素について検索許可が拒絶されています。 またはパスの構成要素について検索許可が拒絶されています。
ファイルの所有者は``所有者(owner)''読取り、書込み、 ファイルの所有者は ``所有者 (owner)''読取り、書込み、
および実行のモードビットについてパーミッションがチェックされます。 および実行のモードビットに従ってチェックされた許可を持ちます。
所有者以外のファイルのグループのメンバは ``グループ (group)'' モードビットに 所有者以外のファイルのグループのメンバは ``グループ (group)'' モードビットに
ついてパーミッションがチェックされており 従ってチェックされた許可を持ち
他のすべてのものは``その他(other)''モードビットについて 他のすべてのものは ``その他 (other)'' モードビットに
パーミッションをチェックされています。 従ってチェックされた許可を持ちます。
.It Bq Er EFAULT .It Bq Er EFAULT
.Fa path .Fa path
は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 は、プロセスに割り当てられたアドレス空間の範囲外を指しています。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)acct.2 8.1 (Berkeley) 6/4/93 .\" @(#)acct.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/acct.2,v 1.6.2.1 2000/04/22 17:06:48 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt ACCT 2 .Dt ACCT 2
@ -37,6 +38,8 @@
.Sh 名称 .Sh 名称
.Nm acct .Nm acct
.Nd プロセスアカウンティングを有効または無効にする .Nd プロセスアカウンティングを有効または無効にする
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft int .Ft int
@ -46,15 +49,15 @@
呼び出しは、システムアカウンティングレコードの収集を有効または無効にします。 呼び出しは、システムアカウンティングレコードの収集を有効または無効にします。
引数 引数
.Fa file .Fa file
nil ポインタである場合、アカウンティングは無効にされます。 ヌルポインタである場合、アカウンティングは無効にされます。
.Fa file .Fa file
.Em 既存 .Em 既存
のパス名 (null で終了) の場合、レコード収集が有効になり、 のパス名 (ヌル文字で終わる) の場合、レコード収集が有効になり、
通常の状況では終了する開始された各プロセスについてアカウンティングレコードが 開始されて通常の状態で終了した各プロセスについてアカウンティングレコードが
.Fa file .Fa file
に追加されます。 に追加されます。
終了の異常状況は再起動またはその他の致命的なシステムの問題です。 異常な終了状態とは、再起動またはその他の致命的なシステムの問題です。
決して終了しないプロセス用のレコードは 決して終了しないプロセス用のレコードは
.Fn acct .Fn acct
によっては作成できません。 によっては作成できません。
@ -68,9 +71,9 @@
.Pp .Pp
この呼び出しはスーパユーザにだけ許可されてます。 この呼び出しはスーパユーザにだけ許可されてます。
.Sh .Sh
アカウンティングファイルが常駐しているファイルシステムが空間不足になると、 アカウンティングファイルが存在しているファイルシステムの空き容量が
アカウンティングは自動的に無効になります。 少なくなると、アカウンティングは自動的に無効になります。
スペースが再び利用できるようになると有効になります。 空き容量が増えて再び利用できるようになると有効になります。
.Sh 戻り値 .Sh 戻り値
エラーの場合は -1 が返されます。ファイルは存在している必要があり、 エラーの場合は -1 が返されます。ファイルは存在している必要があり、
呼び出しはスーパユーザだけができます。 呼び出しはスーパユーザだけができます。
@ -79,7 +82,7 @@
は次の場合に処理を失敗します。 は次の場合に処理を失敗します。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EPERM .It Bq Er EPERM
呼び出し側がスーパユーザではありません スーパユーザ以外のユーザによって呼び出されました
.It Bq Er ENOTDIR .It Bq Er ENOTDIR
パスの構成要素中にディレクトリ以外のものが含まれています。 パスの構成要素中にディレクトリ以外のものが含まれています。
.It Bq Er ENAMETOOLONG .It Bq Er ENAMETOOLONG
@ -108,4 +111,3 @@
関数は 関数は
.At v7 .At v7
で登場しました。 で登場しました。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)adjtime.2 8.1 (Berkeley) 6/4/93 .\" @(#)adjtime.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/adjtime.2,v 1.6.2.1 2000/04/22 17:06:48 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt ADJTIME 2 .Dt ADJTIME 2
@ -37,6 +38,8 @@
.Sh 名称 .Sh 名称
.Nm adjtime .Nm adjtime
.Nd "システムクロックとの同期化ができるように時刻を訂正する" .Nd "システムクロックとの同期化ができるように時刻を訂正する"
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/time.h> .Fd #include <sys/time.h>
.Ft int .Ft int
@ -45,7 +48,7 @@
.Fn adjtime .Fn adjtime
は、 は、
.Xr gettimeofday 2 .Xr gettimeofday 2
によって返されたシステム時刻を微調整します。 が返すようなシステム時刻を微調整します。
時間値 時間値
.Fa delta .Fa delta
で指定された時間だけシステム時刻を進ませる、または遅らせます。 で指定された時間だけシステム時刻を進ませる、または遅らせます。
@ -56,18 +59,19 @@
.Fa delta .Fa delta
が正の場合は通常より大きな増分を使用します。 が正の場合は通常より大きな増分を使用します。
訂正を実行するために使用されるずれは、 訂正を実行するために使用されるずれは、
一般には 1 パーセントぐらいの値です。このように、時刻は常に単調増加関数です。 一般には 1 パーセントの割合です。これにより、時刻は常に単調増加関数となります。
以前の
.Fn adjtime .Fn adjtime
の以前の呼び出しの時刻訂正が、 呼び出しによる時刻訂正が、再び
.Fn adjtime .Fn adjtime
再び呼び出された時までに終了しない可能性があります。 呼び出された時に完了していない可能性があります。
.Fa olddelta .Fa olddelta
が nil でない場合、指し示されている構造体は、戻り時に が nil でない場合、指し示されている構造体は、
以前の呼び出し依然として 以前の呼び出しからの、依然として
訂正する必要のある数マイクロ秒を含んでいるでしょう。 訂正する必要のあるマイクロ秒単位の数が戻り時に格納されているでしょう。
.Pp .Pp
この呼び出しは、ローカルエリアネットワーク内のコンピュータのクロックを この呼び出しは、ローカルエリアネットワーク内のコンピュータのクロックを
同期するタイムサーバが使用することがあります。 同期するタイムサーバが使用することがあります。
このようなタイムサーバはマシンのクロックを低速化、または このようなタイムサーバはマシンのクロックを低速化、または
高速化して、それらを平均ネットワーク時刻にします。 高速化して、それらを平均ネットワーク時刻にします。
.Pp .Pp

View file

@ -22,30 +22,52 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" %FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.4.2.2 1999/08/29 14:48:54 peter Exp % .\" %FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.5.2.4 2000/12/08 13:49:31 ru Exp %
.\" .\"
.Dd June 2, 1999 .Dd January 19, 2000
.Dt AIO_CANCEL 2 .Dt AIO_CANCEL 2
.Os .Os
.Sh 名称 .Sh 名称
.Nm aio_cancel .Nm aio_cancel
.Nd 未解決の非同期入出力操作をキャンセルする (REALTIME) .Nd 未解決の非同期入出力操作をキャンセルする (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <aio.h> .Fd #include <aio.h>
.Ft int .Ft int
.Fn aio_cancel "int something" "struct aiocb * iocb" .Fn aio_cancel "int fildes" "struct aiocb * iocb"
.Sh 解説 .Sh 解説
.Fn aio_cancel .Fn aio_cancel
関数は、指定の未解決の非同期入出力要求をキャンセルすると想定されます。 関数は
.Fa fildes
で指定されるファイル記述子の未解決の非同期入出力をキャンセルします。
.Fa iocb
が指定された場合、指定された非同期入出力要求だけをキャンセルします。
.Pp
通常の非同期通知がキャンセルされた要求に対して発生します。要求は
.Er ECANCELED
のエラー結果となって完了します。
.Sh 制限
.Fn aio_cancel .Fn aio_cancel
は今回は実現されず、必ず処理失敗して 関数は raw ディスクデバイスに対する非同期入出力をキャンセルしません。
.Dv ENOSYS .Fn aio_cancel
を返しています。 は、raw ディスクデバイスに関連づけられたファイル記述子に対しては常に
.Dv AIO_NOTCANCELED
を返します。
.Sh 戻り値 .Sh 戻り値
.Fn aio_cancel .Fn aio_cancel
は、処理失敗しなければならない場合、 は -1 を返してエラーまたは次のうちの一つを示します。
.Dv ENOSYS .Bl -tag -width Dv
を返して、これがサポートされていないことを示します。 .It Bq Dv AIO_CANCELED
指定された条件のすべての未解決要求はキャンセルされました。
.It Bq Dv AIO_NOTCANCELED
いくつかの要求はキャンセルされず、
その要求の状態は
.Xr aio_error 2
でチェックすべきです。
.It Bq Dv AIO_ALLDONE
条件に合致するすべての要求は完了しています。
.El
.Sh 関連項目 .Sh 関連項目
.Xr aio_error 2 , .Xr aio_error 2 ,
.Xr aio_read 2 , .Xr aio_read 2 ,
@ -54,22 +76,33 @@
.Xr aio_write 2 . .Xr aio_write 2 .
.Sh エラー .Sh エラー
.Fn aio_cancel .Fn aio_cancel
関数は次の理由で現時点では必ず処理失敗します。 から返されるエラーは、次のことを示します:
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er ENOSYS .It Bq Er EBADF
この操作は今回は実現されていません。 .Fa fildes
が有効なファイル記述子ではありません。
.El .El
.Sh 規格 .Sh STANDARDS
.Nm .Fn aio_cancel
.St -p1003.2 .St -p1003.2
標準に準拠していません に準拠しています
.Sh 歴史 .Sh 歴史
.Nm .Fn aio_cancel
関数は 関数は
.Fx 3.0 .Fx 3.0
ではじめて登場しました。機能する
.Fn aio_cancel
の実装は
.Fx 4.0
ではじめて登場しました。 ではじめて登場しました。
.Sh 作者 .Sh 作者
このマニュアルは このマニュアルは始めに
.An Wes Peters Aq wes@softweyr.com .An Wes Peters Aq wes@softweyr.com
が作成しました。 が作成しました。
.Fn aio_cancel
.Fx 4.0
に実装された時に
.An Christopher M Sedore Aq cmsedore@maxwell.syr.edu
が更新しました。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" %FreeBSD: src/lib/libc/sys/aio_error.2,v 1.4.2.2 1999/08/29 14:48:54 peter Exp % .\" %FreeBSD: src/lib/libc/sys/aio_error.2,v 1.6.2.3 2000/12/08 13:49:31 ru Exp %
.\" .\"
.Dd June 2, 1999 .Dd June 2, 1999
.Dt AIO_ERROR 2 .Dt AIO_ERROR 2
@ -30,21 +30,23 @@
.Sh 名称 .Sh 名称
.Nm aio_error .Nm aio_error
.Nd 非同期入出力操作のエラーステータスを取り出す (REALTIME) .Nd 非同期入出力操作のエラーステータスを取り出す (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <aio.h> .Fd #include <aio.h>
.Ft int .Ft int
.Fn aio_error "struct aiocb *iocb" .Fn aio_error "const struct aiocb *iocb"
.Sh 解説 .Sh 解説
.Fn aio_error .Fn aio_error
関数は、 関数は、
.Ar iocb .Fa iocb
の指す構造体に対応する非同期入出力要求のエラー状態を返します。 の指す構造体に対応する非同期入出力要求のエラー状態を返します。
.Sh 戻り値 .Sh 戻り値
非同期入出力要求が成功した上で正常に完了している場合に 非同期入出力要求が成功した上で正常に完了している場合に
.Fn aio_error .Fn aio_error
は 0 を返します。 は 0 を返します。
要求がまだ完了していない場合は 要求がまだ完了していない場合は
.Dv EINPROGRESS .Er EINPROGRESS
が返されます。 が返されます。
要求が失敗した上で完了している場合、 要求が失敗した上で完了している場合、
.Xr read 2 , .Xr read 2 ,
@ -63,7 +65,7 @@
は次の場合に失敗します: は次の場合に失敗します:
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EINVAL .It Bq Er EINVAL
.Ar iocb .Fa iocb
が未解決の非同期 I/O 要求を参照していません。 が未解決の非同期 I/O 要求を参照していません。
.El .El
.Sh 関連項目 .Sh 関連項目

View file

@ -30,7 +30,10 @@
.Sh 名称 .Sh 名称
.Nm aio_read .Nm aio_read
.Nd ファイルからの非同期読取り (REALTIME) .Nd ファイルからの非同期読取り (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <time.h>
.Fd #include <aio.h> .Fd #include <aio.h>
.Ft int .Ft int
.Fn aio_read "struct aiocb *iocb" .Fn aio_read "struct aiocb *iocb"
@ -38,15 +41,15 @@
.Fn aio_read .Fn aio_read
関数は、呼び出しプロセスに 関数は、呼び出しプロセスに
記述子 記述子
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
のオフセット のオフセット
.Ar iocb->aio_offset .Fa iocb->aio_offset
で始まる で始まる
.Ar iocb->aio_nbytes .Fa iocb->aio_nbytes
を、 を、
.Ar iocb->aio_buf .Fa iocb->aio_buf
が指すバッファに が指すバッファに
取れるようにします。 読取れるようにします。
呼び出しは、読取り要求が記述子に待ち行列として入れられ 呼び出しは、読取り要求が記述子に待ち行列として入れられ
るとただちに戻ります。 るとただちに戻ります。
呼び出しが戻った時点で読取りは完了していることもありますし、 呼び出しが戻った時点で読取りは完了していることもありますし、
@ -55,15 +58,15 @@
_POSIX_PRIORITIZED_IO が定義されており、 _POSIX_PRIORITIZED_IO が定義されており、
しかも記述子がこれをサポートしている場合に しかも記述子がこれをサポートしている場合に
待ち行列に入れられている操作は、呼び出しプロセスの優先順位から 待ち行列に入れられている操作は、呼び出しプロセスの優先順位から
.Ar iocb->aio_reqprio .Fa iocb->aio_reqprio
除算したものに等しい優先順位でサブミットされます。 減じたものに等しい優先順位でサブミットされます。
.Pp .Pp
.Ar iocb->aio_lio_opcode .Fa iocb->aio_lio_opcode
.Fn aio_read .Fn aio_read
呼び出しによって無視されます。 呼び出しによって無視されます。
.Pp .Pp
.Ar iocb .Fa iocb
ポインタは、進行中に待ち行列に入れられた戻りステータスまたは ポインタは、進行中に待ち行列に入れられた戻りステータスまたは
エラーステータスを判定するために、 エラーステータスを判定するために、
.Fn aio_return .Fn aio_return
@ -75,20 +78,20 @@ _POSIX_PRIORITIZED_IO
呼び出しは要求を待ち行列に入れずに戻ります。 呼び出しは要求を待ち行列に入れずに戻ります。
.Pp .Pp
要求が正常に待ち行列に入れられると、コンテキストとして要求の間に 要求が正常に待ち行列に入れられると、コンテキストとして要求の間に
.Ar iocb->aio_offset .Fa iocb->aio_offset
の値が修正される可能性があるので、 の値が修正される可能性があるので、
この値は要求が待ち行列に入れられた後は参照してはなりません。 この値は要求が待ち行列に入れられた後は参照してはなりません。
.Sh 制限 .Sh 制限
.Ar iocb .Fa iocb
が指す非同期入出力制御ブロック構造体、およびその構造体の が指す非同期入出力制御ブロック構造体、およびその構造体の
.Ar iocb->aio_buf .Fa iocb->aio_buf
メンバが参照するバッファは、操作が完了するまで有効である必要があります。 メンバが参照するバッファは、操作が完了するまで有効である必要があります。
このため、これらのオブジェクトについての自動 (スタック) 変数の このため、これらのオブジェクトについての自動 (スタック) 変数の
使用は推奨されません。 使用は推奨されません。
.Pp .Pp
カーネルへの無効なコンテキスト情報の引き渡しを回避するために、 カーネルへの正しくないコンテキスト情報の引き渡しを回避するために、
非同期入出力制御バッファ 非同期入出力制御バッファ
.Ar iocb .Fa iocb
.Fn aio_read .Fn aio_read
呼び出しの前にゼロにする必要があります。 呼び出しの前にゼロにする必要があります。
@ -96,9 +99,9 @@ _POSIX_PRIORITIZED_IO
要求が待ち行列に入れられた後、要求が完了するまでは 要求が待ち行列に入れられた後、要求が完了するまでは
非同期入出力制御ブロック構造体またはバッファ内容の修正は許されていません。 非同期入出力制御ブロック構造体またはバッファ内容の修正は許されていません。
.Pp .Pp
.Ar iocb->aio_offset .Fa iocb->aio_offset
内のファイルオフセットが、 内のファイルオフセットが、
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
の最大オフセットを越えている場合は入出力は行われません。 の最大オフセットを越えている場合は入出力は行われません。
.Sh 戻り値 .Sh 戻り値
.\".Rv -std aio_read .\".Rv -std aio_read
@ -107,11 +110,6 @@ _POSIX_PRIORITIZED_IO
返され、エラーを示すグローバル変数 返され、エラーを示すグローバル変数
.Fa errno .Fa errno
が設定されます。 が設定されます。
.Sh 規格
.Fn aio_read
呼び出しは
.St -p1003.2
標準に準拠しています。
.Sh 診断 .Sh 診断
なし。 なし。
.Sh エラー .Sh エラー
@ -132,12 +130,12 @@ _POSIX_PRIORITIZED_IO
これらが呼び出し時に検出された場合、 これらが呼び出し時に検出された場合、
.Fn aio_read .Fn aio_read
は -1 を返し、 は -1 を返し、
.Ar errno .Va errno
を適切に設定します。 を適切に設定します。
そうでない場合は、 そうでない場合は、
.Fn aio_return .Fn aio_return
関数を呼び出し、-1 を返し、 関数を呼び出し、-1 を返し、
.Ar errno .Va errno
に返されている実際の値を判定するために に返されている実際の値を判定するために
.Fn aio_error .Fn aio_error
を呼び出す必要があります。 を呼び出す必要があります。
@ -148,20 +146,20 @@ _POSIX_PRIORITIZED_IO
が無効です。 が無効です。
.It Bq Er EINVAL .It Bq Er EINVAL
オフセット オフセット
.Ar iocb->aio_offset .Fa iocb->aio_offset
が有効でないか、 が有効でないか、
.Ar iocb->aio_reqprio .Fa iocb->aio_reqprio
によって指定される優先順位が によって指定される優先順位が
有効な優先順位でないか、または 有効な優先順位でないか、または
.Ar iocb->aio_nbytes .Fa iocb->aio_nbytes
によって指定されるバイト数が有効でありません。 によって指定されるバイト数が有効でありません。
.It Bq Er EOVERFLOW .It Bq Er EOVERFLOW
ファイルは正規のファイルであり、 ファイルは正規のファイルであり、
.Ar iocb->aio_nbytes .Fa iocb->aio_nbytes
はゼロより大きくて はゼロより大きくて
.Ar iocb->aio_offset .Fa iocb->aio_offset
内の開始オフセットはファイルの末尾の前にあるものの、 内の開始オフセットはファイルの末尾の前にあるものの、
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
オフセット最大にあるかまたはそれを越えています。 オフセット最大にあるかまたはそれを越えています。
.El .El
.Pp .Pp
@ -177,17 +175,22 @@ _POSIX_PRIORITIZED_IO
呼び出しから返されたエラーの 1 つであるか、または次の 1 つです。 呼び出しから返されたエラーの 1 つであるか、または次の 1 つです。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EBADF .It Bq Er EBADF
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
が読取りについては無効です。 が読取りについては無効です。
.It Bq Er ECANCELED .It Bq Er ECANCELED
要求は 要求は
.Fn aio_cancel .Fn aio_cancel
の呼び出しによって明示的にキャンセルされました。 の呼び出しによって明示的にキャンセルされました。
.It Bq Er EINVAL .It Bq Er EINVAL
オフセット オフセット
.Ar iocb->aio_offset .Fa iocb->aio_offset
は無効です。 は無効です。
.El .El
.Sh 規格
.Fn aio_read
呼び出しは
.St -p1003.2
に準拠しています。
.Sh 歴史 .Sh 歴史
.Nm .Nm
@ -198,7 +201,7 @@ _POSIX_PRIORITIZED_IO
.An Terry Lambert Aq terry@whistle.com .An Terry Lambert Aq terry@whistle.com
が作成しました。 が作成しました。
.Sh バグ .Sh バグ
.Ar iocb->aio_offset .Fa iocb->aio_offset
の値は無視されます。 の値は無視されます。
.Ar iocb->_aiocb_private .Fa iocb->_aiocb_private
内の無効な情報はカーネルを混乱させる可能性があります。 内の無効な情報はカーネルを混乱させる可能性があります。

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" %FreeBSD: src/lib/libc/sys/aio_return.2,v 1.4.2.2 1999/08/29 14:48:55 peter Exp % .\" %FreeBSD: src/lib/libc/sys/aio_return.2,v 1.5.2.3 2000/12/08 13:49:31 ru Exp %
.\" .\"
.Dd June 2, 1999 .Dd June 2, 1999
.Dt AIO_RETURN 2 .Dt AIO_RETURN 2
@ -30,6 +30,8 @@
.Sh 名称 .Sh 名称
.Nm aio_return .Nm aio_return
.Nd 非同期入出力操作の戻りステータスを取り出す (REALTIME) .Nd 非同期入出力操作の戻りステータスを取り出す (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <aio.h> .Fd #include <aio.h>
.Ft int .Ft int
@ -37,12 +39,12 @@
.Sh 解説 .Sh 解説
.Fn aio_return .Fn aio_return
関数は 関数は
.Ar iocb .Fa iocb
が指す構造体に対応する非同期入出力要求の最終ステータスを返します。 が指す構造体に対応する非同期入出力要求の最終ステータスを返します。
.Pp .Pp
.Xr aio_error 2 .Xr aio_error 2
.Dv EINPROGRESS .Er EINPROGRESS
以外の何かを返した時の非同期入出力操作の最終ステータスを得るためには 以外の何かを返した時の非同期入出力操作の最終ステータスを得るためには
.Fn aio_return .Fn aio_return
を 1 回だけしか呼び出してはいけません。 を 1 回だけしか呼び出してはいけません。
@ -74,7 +76,7 @@
は次の場合に失敗します。 は次の場合に失敗します。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EINVAL .It Bq Er EINVAL
.Ar iocb .Fa iocb
が未解決の非同期入出力要求を参照しません。 が未解決の非同期入出力要求を参照しません。
.El .El
.Sh 規格 .Sh 規格

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" %FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.4.2.2 1999/08/29 14:48:56 peter Exp % .\" %FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.8.2.2 2000/08/23 00:45:18 jhb Exp %
.\" .\"
.Dd June 2, 1999 .Dd June 2, 1999
.Dt AIO_SUSPEND 2 .Dt AIO_SUSPEND 2
@ -30,41 +30,54 @@
.Sh 名称 .Sh 名称
.Nm aio_suspend .Nm aio_suspend
.Nd 非同期入出力操作完了、またはタイムアウト経過まで延期する (REALTIME) .Nd 非同期入出力操作完了、またはタイムアウト経過まで延期する (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <aio.h> .Fd #include <aio.h>
.Ft int .Ft int
.Fn aio_suspend "const struct aiocb * const iocbs[]" "int niocb" "const struct timespec * timeout" .Fn aio_suspend "const struct aiocb * const iocbs[]" "int niocb" "const struct timespec * timeout"
.Sh 解説 .Sh 解説
指定の非同期入出力要求が完了するか、 指定の非同期入出力要求のうち少なくとも 1 つが完了するか、
.Ar timeout .Fa timeout
が経過するまで が経過するまで
.Fn aio_suspend .Fn aio_suspend
関数は呼び出しプロセスを延期します。 関数は呼び出しプロセスを延期します。
.Ar iocbs .Pp
.Fa iocbs
は、非同期入出力要求への は、非同期入出力要求への
.Ar niocb .Ar niocb
ポインタの配列です。 ポインタの配列です。
NULL が入っている配列メンバはそのまま無視されます。 NULL が入っている配列メンバはそのまま無視されます。
.Pp
.Fa timeout
がヌルポインタでない場合、それは延期する時間の最大インターバルを指定します。
.Fa timeout
がヌルポインタの場合、無期限に延期します。ポーリングするためには
.Fa timeout
は値 0 の timespec 構造体を指しているべきです。
.Sh 戻り値 .Sh 戻り値
指定されたすべての非同期入出力要求が完了すると 指定された 1 つ以上の非同期入出力要求が完了すると
.Fn aio_suspend .Fn aio_suspend
は 0 を返します。 は 0 を返します。
.Ar timeout そうでない場合は -1 を返し、後述するように
が時間切れになると .Va errno
.Dv EAGAIN がエラー状態を示すためにセットされます。
が返されます。他の戻り値は後述するようにエラー状態を示します。
.Sh 関連項目 .Sh 関連項目
.Xr aio_cancel 2 , .Xr aio_cancel 2 ,
.Xr aio_error 2 , .Xr aio_error 2 ,
.Xr aio_read 2 , .Xr aio_read 2 ,
.Xr aio_suspend 2 , .Xr aio_suspend 2 ,
.Xr aio_write 2 . .Xr aio_write 2
.Sh エラー .Sh エラー
.Fn aio_suspend .Fn aio_suspend
関数は次の場合に失敗します。 関数は次の場合に失敗します。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EAGAIN
入出力要求がどれも完了しないうちに
.Fa timeout
が時間切れになりました。
.It Bq Er EINVAL .It Bq Er EINVAL
.Ar iocbs .Fa iocbs
には には
.Dv AIO_LISTIO_MAX .Dv AIO_LISTIO_MAX
を越える非同期入出力要求が入っているか、または少なくとも 1 つの要求が を越える非同期入出力要求が入っているか、または少なくとも 1 つの要求が

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" %FreeBSD: src/lib/libc/sys/aio_write.2,v 1.3.2.2 1999/08/29 14:48:57 peter Exp % .\" %FreeBSD: src/lib/libc/sys/aio_write.2,v 1.4.2.3 2000/12/29 14:44:51 ru Exp %
.\" .\"
.Dd June 2, 1999 .Dd June 2, 1999
.Dt AIO_WRITE 2 .Dt AIO_WRITE 2
@ -30,6 +30,8 @@
.Sh 名称 .Sh 名称
.Nm aio_write .Nm aio_write
.Nd ファイルへの非同期書込み (REALTIME) .Nd ファイルへの非同期書込み (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <aio.h> .Fd #include <aio.h>
.Ft int .Ft int
@ -37,19 +39,19 @@
.Sh 解説 .Sh 解説
.Fn aio_write .Fn aio_write
関数によって、呼び出し元プロセスは 関数によって、呼び出し元プロセスは
.Ar iocb->aio_buf .Fa iocb->aio_buf
が指すバッファから記述子 が指すバッファから記述子
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
.Ar iocb->aio_nbytes .Fa iocb->aio_nbytes
を書き込めます。書込み要求が記述子への待ち行列に入れられてしまうと を書き込めます。書込み要求が記述子への待ち行列に入れられてしまうと
ただちに呼び出しは戻ります。 ただちに呼び出しは戻ります。
呼び出しが戻った時点で書込みは完了している可能性も完了していない 呼び出しが戻った時点で書込みは完了している可能性も完了していない
可能性もあります。無効な引数のためなどにより 可能性もあります。無効な引数のためなどにより
要求を待ち行列に入れられない場合は、 要求を待ち行列に入れられない場合は、
呼び出しは要求を待ち行列入れずに戻ります。 呼び出しは要求を待ち行列入れずに戻ります。
.Pp .Pp
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
用に 用に
.Dv O_APPEND .Dv O_APPEND
が設定されている場合、 が設定されている場合、
@ -58,16 +60,16 @@
ファイルの末尾に追加されます。 ファイルの末尾に追加されます。
.Dv O_APPEND .Dv O_APPEND
がファイル記述子用に設定されていない場合、書込み操作はファイルの先頭に がファイル記述子用に設定されていない場合、書込み操作はファイルの先頭に
.Ar iocb->aio_offset .Fa iocb->aio_offset
を加えた絶対位置で行われます。 を加えた絶対位置で行われます。
.Pp .Pp
.Dv _POSIX_PRIORITIZED_IO .Dv _POSIX_PRIORITIZED_IO
が定義されており、かつ記述子がそれをサポートしている場合、 が定義されており、かつ記述子がそれをサポートしている場合、
待ち行列に入れられた操作は呼び出しプロセスの優先順位から 待ち行列に入れられた操作は呼び出しプロセスの優先順位から
.Ar iocb->aio_reqprio .Fa iocb->aio_reqprio
を減算したのに等しい優先順位にされます。 を減算したのに等しい優先順位にされます。
.Pp .Pp
.Ar iocb .Fa iocb
ポインタは待ち行列に入れられた操作の戻り値、またはエラー状態を ポインタは待ち行列に入れられた操作の戻り値、またはエラー状態を
判定するために、 判定するために、
.Fn aio_return .Fn aio_return
@ -76,13 +78,13 @@
への引数として使用できます。 への引数として使用できます。
.Pp .Pp
要求が正常に待ち行列に入れられると、コンテキストとして要求の間に 要求が正常に待ち行列に入れられると、コンテキストとして要求の間に
.Ar iocb->aio_offset .Fa iocb->aio_offset
の値が修正できるので、 の値が修正できるので、
この値は要求が待ち行列に入れられた後に参照されてはなりません。 この値は要求が待ち行列に入れられた後に参照されてはなりません。
.Sh 制限 .Sh 制限
.Ar iocb .Fa iocb
が指す非同期入出力制御ブロック構造体、およびその構造体の が指す非同期入出力制御ブロック構造体、およびその構造体の
.Ar iocb->aio_buf .Fa iocb->aio_buf
メンバが参照するバッファは、 メンバが参照するバッファは、
操作が完了するまで有効なままでいる必要があります。 操作が完了するまで有効なままでいる必要があります。
このため、これらのオブジェクトについて自動 (スタック) 変数 このため、これらのオブジェクトについて自動 (スタック) 変数
@ -90,25 +92,25 @@
.Pp .Pp
正しくないコンテキスト情報がカーネルに引き渡されるのを回避するために、 正しくないコンテキスト情報がカーネルに引き渡されるのを回避するために、
非同期入出力制御バッファ 非同期入出力制御バッファ
.Ar iocb .Fa iocb
は、 は、
.Fn aio_read .Fn aio_read
呼び出しの前にゼロにする必要があります。 呼び出しの前に 0 にする必要があります。
.Pp .Pp
要求が待ち行列に入れられた後、要求が完了するまでは 要求が待ち行列に入れられた後、要求が完了するまでは
非同期入出力制御ブロック構造体、またはバッファ内容 非同期入出力制御ブロック構造体、
を修正することは許されません。 またはバッファの内容を修正することは許されません。
.Pp .Pp
.Ar iocb->aio_offset .Fa iocb->aio_offset
内のファイルオフセットが 内のファイルオフセットが
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
用のオフセット最大を越える場合は入出力は行われません。 用のオフセット最大を越える場合は入出力は行われません。
.Sh 戻り値 .Sh 戻り値
.\".Rv -std aio_write .\".Rv -std aio_write
.Fn aio_write .Fn aio_write
関数は成功すると値 0 を返します。それ以外の場合は値 -1 が 関数は成功すると値 0 を返します。それ以外の場合は値 -1 が
返され、エラーを示すグローバル変数 返され、エラーを示すグローバル変数
.Fa errno .Ar errno
が設定されます。 が設定されます。
.Sh エラー .Sh エラー
.Fn aio_write .Fn aio_write
@ -123,40 +125,40 @@
.Pp .Pp
次の状態は 次の状態は
.Fn aio_write .Fn aio_write
呼び出しが行なわれたときに同期的に検出でき、その後いつでも非同期的に検出できます。 呼び出しが行なわれたときに同期的に検出でき、
その後いつでも非同期的に検出できます。
これらが呼び出し時に検出された場合に これらが呼び出し時に検出された場合に
.Fn aio_write .Fn aio_write
は -1 を返し は -1 を返し
.Ar errno .Va errno
を適切に設定します。 を適切に設定します。
そうでない場合は そうでない場合は
.Fn aio_return .Fn aio_return
関数が戻り値 -1 で呼び出される必要があり、 関数が戻り値 -1 で呼び出される必要があり、
.Ar errno .Va errno
で返されている実際の値を判定するために で返されている実際の値を判定するために
.Fn aio_error .Fn aio_erro
が呼び出される必要があります。 が呼び出される必要があります。
.Pp .Pp
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EBADF .It Bq Er EBADF
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
が無効であるか、書込みには開かれていません。 が無効であるか、書込みには開かれていません。
.It Bq Er EINVAL .It Bq Er EINVAL
オフセット オフセット
.Ar iocb->aio_offset .Fa iocb->aio_offset
が有効でない、 が有効でない、
.Ar iocb->aio_reqprio .Fa iocb->aio_reqprio
によって指定される優先順位が によって指定される優先順位が
有効な優先順位でない、または 有効な優先順位でない、または
.Ar iocb->aio_nbytes .Fa iocb->aio_nbytes
によって指定されるバイト数が有効ではありません。 によって指定されるバイト数が有効ではありません。
.El .El
.Pp .Pp
要求が正常に待ち行列に入れられたものの、 要求が正常に待ち行列に入れられたものの、
後でキャンセルされるかエラーが発生した場合、 後でキャンセルされるかエラーが発生した場合、
.Fn aio_return .Fn aio_return
関数 関数によって返された値は
によって返された値は
.Xr write 2 .Xr write 2
呼び出しごとのものであり、 呼び出しごとのものであり、
.Fn aio_error .Fn aio_error
@ -165,15 +167,15 @@
呼び出しから返されたエラーの 1 つであるか、または次の 1 つです。 呼び出しから返されたエラーの 1 つであるか、または次の 1 つです。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EBADF .It Bq Er EBADF
.Ar iocb->aio_fildes .Fa iocb->aio_fildes
は書込みについては無効です。 は書込みについては無効です。
.It Bq Er ECANCELED .It Bq Er ECANCELED
要求は 要求は
.Fn aio_cancel .Fn aio_cancel
の呼び出しによって明示的にキャンセルされました。 の呼び出しによって明示的にキャンセルされました。
.It Bq Er EINVAL .It Bq Er EINVAL
オフセット オフセット
.Ar iocb->aio_offset .Fa iocb->aio_offset
は無効です。 は無効です。
.El .El
.Sh 規格 .Sh 規格
@ -192,5 +194,5 @@
が作成しました。 が作成しました。
.Sh バグ .Sh バグ
非同期入出力操作はこのバージョンではキャンセルできません。 非同期入出力操作はこのバージョンではキャンセルできません。
.Ar iocb->_aiocb_private .Fa iocb->_aiocb_private
内の誤った情報はカーネルを混乱させる可能性があります。 内の誤った情報はカーネルを混乱させる可能性があります。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)bind.2 8.1 (Berkeley) 6/4/93 .\" @(#)bind.2 8.1 (Berkeley) 6/4/93
.\" %Id: bind.2,v 1.7 1999/06/10 22:48:27 markm Exp % .\" %FreeBSD: src/lib/libc/sys/bind.2,v 1.11.2.3 2000/08/23 00:45:18 jhb Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt BIND 2 .Dt BIND 2
@ -38,11 +38,13 @@
.Sh 名称 .Sh 名称
.Nm bind .Nm bind
.Nd ローカルプロトコルアドレスをソケットに割り当てる .Nd ローカルプロトコルアドレスをソケットに割り当てる
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <sys/socket.h> .Fd #include <sys/socket.h>
.Ft int .Ft int
.Fn bind "int s" "const struct sockaddr *addr" "int addrlen" .Fn bind "int s" "const struct sockaddr *addr" "socklen_t addrlen"
.Sh 解説 .Sh 解説
.Fn bind .Fn bind
は、ローカルプロトコルアドレスをソケットに割り当てます。ソケットは、 は、ローカルプロトコルアドレスをソケットに割り当てます。ソケットは、
@ -50,9 +52,9 @@
で作成される時にアドレスファミリ空間に存在しますが、 で作成される時にアドレスファミリ空間に存在しますが、
プロトコルアドレスは割り当てられていません。 プロトコルアドレスは割り当てられていません。
.Fn bind .Fn bind
ソケットに
.Fa addr .Fa addr
がソケットに割り当てられていることを必要とします。 を割り当てることを要求します。
.Sh .Sh
UNIX ドメイン内でのアドレスのバインドによってファイルシステム内に UNIX ドメイン内でのアドレスのバインドによってファイルシステム内に
ソケットが作成されます。 ソケットが作成されます。
@ -65,7 +67,7 @@ UNIX
セクション 4 のマニュアルエントリを参照してください。 セクション 4 のマニュアルエントリを参照してください。
.Sh システムの注意事項 .Sh システムの注意事項
.Pp .Pp
ノンスレッドライブラリでは、 スレッドライブラリでは、
.Fn bind .Fn bind
.Va bind .Va bind
@ -78,14 +80,14 @@ UNIX
にアセンブルされ、 にアセンブルされ、
.Fn bind .Fn bind
は読取りと書込み用に は読取りと書込み用に
.Va s .Fa s
をロックしてから、 をロックしてから、
.Fn _thread_sys_bind .Fn _thread_sys_bind
を呼び出す を呼び出す
関数として実装されています。戻る前に、 関数として実装されています。戻る前に、
.Fn bind .Fn bind
.Va s .Fa s
をアンロックします。 をアンロックします。
.Sh 戻り値 .Sh 戻り値
バインドは成功すると値 0 を返します。戻り値 -1 はエラーを示し、 バインドは成功すると値 0 を返します。戻り値 -1 はエラーを示し、
@ -95,7 +97,9 @@ UNIX
.Sh エラー .Sh エラー
.Fn bind .Fn bind
呼び出しは次の場合に失敗します。 呼び出しは次の場合に失敗します。
.Bl -tag -width EADDRNOTAVA .Bl -tag -width Er
.It Bq Er EAGAIN
要求を満たすためのカーネルリソースが一時的に利用できません。
.It Bq Er EBADF .It Bq Er EBADF
.Fa s .Fa s
が有効な記述子ではありません。 が有効な記述子ではありません。
@ -129,7 +133,7 @@ UNIX
ディレクトリエントリを作成している間、または i ノードを割り振りしている間に ディレクトリエントリを作成している間、または i ノードを割り振りしている間に
入出力エラーが発生しました。 入出力エラーが発生しました。
.It Bq Er EROFS .It Bq Er EROFS
名前が読取り専用ファイルシステムに常駐します。 指定されたファイルは読取り専用ファイルシステム上にあります。
.It Bq Er EISDIR .It Bq Er EISDIR
空のパス名が指定されました。 空のパス名が指定されました。
.El .El

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)brk.2 8.4 (Berkeley) 5/1/95 .\" @(#)brk.2 8.4 (Berkeley) 5/1/95
.\" %FreeBSD: src/lib/libc/sys/brk.2,v 1.13.2.3 2000/12/29 14:44:51 ru Exp %
.\" .\"
.Dd May 1, 1995 .Dd May 1, 1995
.Dt BRK 2 .Dt BRK 2
@ -38,6 +39,8 @@
.Nm brk , .Nm brk ,
.Nm sbrk .Nm sbrk
.Nd データセグメントのサイズを変更する .Nd データセグメントのサイズを変更する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft char * .Ft char *
@ -99,7 +102,7 @@ brk
.Fn sbrk .Fn sbrk
は、以降のうちの 1 つが真の場合に処理に失敗し、新しくメモリを は、以降のうちの 1 つが真の場合に処理に失敗し、新しくメモリを
割当てられません。 割当てられません。
.Bl -tag -width [ENOMEM] .Bl -tag -width Er
.It Bq Er ENOMEM .It Bq Er ENOMEM
.Xr setrlimit 2 .Xr setrlimit 2
が設定した限界を越えました。 が設定した限界を越えました。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)fork.2 8.1 (Berkeley) 6/4/93 .\" @(#)fork.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/fork.2,v 1.7.2.2 1999/09/18 16:18:59 phantom Exp % .\" %FreeBSD: src/lib/libc/sys/fork.2,v 1.9.2.2 2000/05/06 13:34:14 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt FORK 2 .Dt FORK 2
@ -38,6 +38,8 @@
.Sh 名称 .Sh 名称
.Nm fork .Nm fork
.Nd 新しいプロセスを作成する .Nd 新しいプロセスを作成する
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <unistd.h> .Fd #include <unistd.h>
@ -84,9 +86,9 @@
次の場合に 次の場合に
.Fn fork .Fn fork
は処理に失敗し、子プロセスは作成されません。 は処理に失敗し、子プロセスは作成されません。
.Bl -tag -width [EAGAIN] .Bl -tag -width Er
.It Bq Er EAGAIN .It Bq Er EAGAIN
実行中のプロセスの合計数についてシステムが課する限界を超えます。限界値は 実行中のプロセスの合計数がシステムの限界を超えます。限界値は
.Xr sysctl 3 .Xr sysctl 3
の MIB 変数の の MIB 変数の
.Dv KERN_MAXPROC .Dv KERN_MAXPROC

View file

@ -30,13 +30,16 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)fsync.2 8.1 (Berkeley) 6/4/93 .\" @(#)fsync.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/fsync.2,v 1.6.2.5 2000/12/29 14:44:52 ru Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt FSYNC 2 .Dt FSYNC 2
.Os BSD 4.2 .Os BSD 4.2
.Sh 名称 .Sh 名称
.Nm fsync .Nm fsync
.Nd "ディスク上のファイルをメモリ上の状態と同期化する" .Nd "ファイルに変更を同期する"
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft int .Ft int
@ -68,13 +71,13 @@
にアセンブルされ、 にアセンブルされ、
.Fn fsync .Fn fsync
は、読取りと書込みについて は、読取りと書込みについて
.Va fd .Fa fd
をロックしてから をロックしてから
.Fn _thread_sys_fsync .Fn _thread_sys_fsync
を呼び出す関数として実装されています。戻る前に を呼び出す関数として実装されています。戻る前に
.Fn fsync .Fn fsync
.Va fd .Fa fd
をアンロックします。 をアンロックします。
.Sh 戻り値 .Sh 戻り値
正常に完了すると値 0 が返されます。値 -1 はエラーを示します。 正常に完了すると値 0 が返されます。値 -1 はエラーを示します。
@ -93,7 +96,7 @@
.El .El
.Sh 関連項目 .Sh 関連項目
.Xr sync 2 , .Xr sync 2 ,
.Xr update 4 , .Xr syncer 4 ,
.Xr sync 8 .Xr sync 8
.Sh 歴史 .Sh 歴史
.Fn fsync .Fn fsync

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getdirentries.2 8.2 (Berkeley) 5/3/95 .\" @(#)getdirentries.2 8.2 (Berkeley) 5/3/95
.\" %FreeBSD: src/lib/libc/sys/getdirentries.2,v 1.12.2.2 2000/08/23 00:45:18 jhb Exp %
.\" .\"
.Dd May 3, 1995 .Dd May 3, 1995
.Dt GETDIRENTRIES 2 .Dt GETDIRENTRIES 2
@ -37,7 +38,9 @@
.Sh 名称 .Sh 名称
.Nm getdirentries , .Nm getdirentries ,
.Nm getdents .Nm getdents
.Nd "ファイルシステムに独立な書式のディレクトリエントリを取得する" .Nd "ファイルシステムに独立なフォーマットのディレクトリエントリを取得する"
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <dirent.h> .Fd #include <dirent.h>
@ -53,7 +56,7 @@
.Fa fd .Fa fd
が参照するディレクトリから が参照するディレクトリから
.Fa buf .Fa buf
が指すバッファ内に、ファイルシステムに独立な書式 が指すバッファ内に、ファイルシステムに独立なフォーマット
ディレクトリエントリを読取ります。 ディレクトリエントリを読取ります。
最高で 最高で
.Fa nbytes .Fa nbytes
@ -153,7 +156,7 @@ char d_name[MAXNAMELEN + 1]; /*
を呼び出す関数として実装されています。戻る前に、 を呼び出す関数として実装されています。戻る前に、
.Fn getdirentries .Fn getdirentries
.Va fd .Fa fd
をアンロックします。 をアンロックします。
.Sh 戻り値 .Sh 戻り値
処理が正常に完了すると、実際に転送されたバイト数が返されます。 処理が正常に完了すると、実際に転送されたバイト数が返されます。
@ -166,7 +169,7 @@ char d_name[MAXNAMELEN + 1]; /*
.Bl -tag -width Er .Bl -tag -width Er
.It Bq Er EBADF .It Bq Er EBADF
.Fa fd .Fa fd
が読取り用に開た有効なファイル記述子ではありません。 が読取り用に開かれた有効なファイル記述子ではありません。
.It Bq Er EFAULT .It Bq Er EFAULT
.Fa buf .Fa buf
または または
@ -174,10 +177,10 @@ char d_name[MAXNAMELEN + 1]; /*
のどちらかが、割り当てられたアドレス空間の範囲外を指しています。 のどちらかが、割り当てられたアドレス空間の範囲外を指しています。
.It Bq Er EINVAL .It Bq Er EINVAL
.Fa fd .Fa fd
によって参照されるファイルがディレクトリでない、 によって参照されるファイルがディレクトリでない
.Fa nbytes .Fa nbytes
がディレクトリエントリまたはエントリのブロックを返すのには小さすぎる、 がディレクトリエントリまたはエントリのブロックを返すのには小さすぎます。
または、現在の位置ポインタが無効です。 あるいは、現在の位置ポインタが無効です。
.It Bq Er EIO .It Bq Er EIO
ファイルシステムに読み書きしている間に ファイルシステムに読み書きしている間に
.Tn I/O .Tn I/O

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getdtablesize.2 8.1 (Berkeley) 6/4/93 .\" @(#)getdtablesize.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/getdtablesize.2,v 1.1.1.1.10.1 1999/09/18 16:18:59 phantom Exp % .\" %FreeBSD: src/lib/libc/sys/getdtablesize.2,v 1.4.2.1 2000/04/22 17:06:53 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt GETDTABLESIZE 2 .Dt GETDTABLESIZE 2
@ -38,6 +38,8 @@
.Sh 名称 .Sh 名称
.Nm getdtablesize .Nm getdtablesize
.Nd 記述子テーブルのサイズを得る .Nd 記述子テーブルのサイズを得る
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft int .Ft int
@ -45,8 +47,9 @@
.Sh 解説 .Sh 解説
各プロセスには固定サイズの記述子テーブルがあり、 各プロセスには固定サイズの記述子テーブルがあり、
テーブルには最低 20 個のスロットがあることが保証されています。 テーブルには最低 20 個のスロットがあることが保証されています。
記述子テーブル内のエントリは、0 で開始する小さい整数で番号付けられています。 記述子テーブル内のエントリは、
呼び出し 0 からはじまる小さな整数で番号付けられています。
システムコール
.Fn getdtablesize .Fn getdtablesize
はこのテーブルのサイズを返します。 はこのテーブルのサイズを返します。
.Sh 関連項目 .Sh 関連項目

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getfh.2 8.1 (Berkeley) 6/9/93 .\" @(#)getfh.2 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/sys/getfh.2,v 1.7.2.2 2000/12/08 13:49:31 ru Exp %
.\" .\"
.Dd June 9, 1993 .Dd June 9, 1993
.Dt GETFH 2 .Dt GETFH 2
@ -37,6 +38,8 @@
.Sh 名称 .Sh 名称
.Nm getfh .Nm getfh
.Nd ファイルハンドルを得る .Nd ファイルハンドルを得る
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/param.h> .Fd #include <sys/param.h>
.Fd #include <sys/mount.h> .Fd #include <sys/mount.h>
@ -57,28 +60,28 @@
.Fn getfh .Fn getfh
は以下の 1 つでも真の場合、処理に失敗します。 は以下の 1 つでも真の場合、処理に失敗します。
.Bl -tag -width Er .Bl -tag -width Er
.It Bq ENOTDIR .It Bq Er ENOTDIR
.Fa path .Fa path
の構成要素中にディレクトリ以外のものが含まれています。 の構成要素中にディレクトリ以外のものが含まれています。
.It Bq ENAMETOOLONG .It Bq Er ENAMETOOLONG
.Fa path .Fa path
の構成要素が 255 文字を越えているか、 の構成要素が 255 文字を越えているか、
または または
.Fa path .Fa path
が 1023 文字を越えています。 が 1023 文字を越えています。
.It Bq ENOENT .It Bq Er ENOENT
.Fa path .Fa path
が参照するファイルが存在しません。 が参照するファイルが存在しません。
.It Bq EACCES .It Bq Er EACCES
.Fa path .Fa path
の前置パス名の構成要素について検索許可が拒否されています。 に検索が許可されていないディレクトリが含まれています。
.It Bq ELOOP .It Bq Er ELOOP
.Fa path .Fa path
を変換するときに検出されたシンボリックリンクが多すぎます。 を変換するときに検出されたシンボリックリンクが多すぎます。
.It Bq EFAULT .It Bq Er EFAULT
.Fa fhp .Fa fhp
が無効なアドレスを指しています。 が無効なアドレスを指しています。
.It Bq EIO .It Bq Er EIO
ファイルシステムに読み書きしている間に ファイルシステムに読み書きしている間に
.Tn I/O .Tn I/O
(入出力) エラーが発生しました。 (入出力) エラーが発生しました。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getfsstat.2 8.3 (Berkeley) 5/25/95 .\" @(#)getfsstat.2 8.3 (Berkeley) 5/25/95
.\" %FreeBSD: src/lib/libc/sys/getfsstat.2,v 1.7.2.2 2000/12/08 13:49:31 ru Exp %
.\" .\"
.Dd May 25, 1995 .Dd May 25, 1995
.Dt GETFSSTAT 2 .Dt GETFSSTAT 2
@ -37,6 +38,8 @@
.Sh 名称 .Sh 名称
.Nm getfsstat .Nm getfsstat
.Nd マウントされたすべてのファイルシステムのリストを得る .Nd マウントされたすべてのファイルシステムのリストを得る
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/param.h> .Fd #include <sys/param.h>
.Fd #include <sys/ucred.h> .Fd #include <sys/ucred.h>
@ -155,10 +158,10 @@ struct statfs {
.Fn getfsstat .Fn getfsstat
は以下の 1 つでも真の場合、処理に失敗します。 は以下の 1 つでも真の場合、処理に失敗します。
.Bl -tag -width Er .Bl -tag -width Er
.It EFAULT .It Bq Er EFAULT
.Fa buf .Fa buf
が無効なアドレスを指しています。 が無効なアドレスを指しています。
.It EIO .It Bq Er EIO
ファイルシステムを読み書きしている間に ファイルシステムを読み書きしている間に
.Tn I/O .Tn I/O
(入出力) エラーが発生しました。 (入出力) エラーが発生しました。

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getgid.2 8.1 (Berkeley) 6/4/93 .\" @(#)getgid.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/getgid.2,v 1.8.2.1 2000/04/22 17:06:53 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt GETGID 2 .Dt GETGID 2
@ -37,7 +38,9 @@
.Sh 名称 .Sh 名称
.Nm getgid , .Nm getgid ,
.Nm getegid .Nm getegid
.Nd グループプロセス識別を得る .Nd グループプロセス ID を取得
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <unistd.h> .Fd #include <unistd.h>
@ -47,9 +50,9 @@
.Fn getegid void .Fn getegid void
.Sh 解説 .Sh 解説
.Fn getgid .Fn getgid
関数は呼び出しプロセスの実グループ ID を返して、 関数は呼び出したプロセスの実グループ ID を返します。
.Fn getegid .Fn getegid
は呼び出しプロセスの実効グループ ID を返します。 関数は呼び出しプロセスの実効グループ ID を返します。
.Pp .Pp
実グループ ID はログイン時に指定されます。 実グループ ID はログイン時に指定されます。
.Pp .Pp

View file

@ -30,14 +30,16 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getgroups.2 8.2 (Berkeley) 4/16/94 .\" @(#)getgroups.2 8.2 (Berkeley) 4/16/94
.\" %FreeBSD: src/lib/libc/sys/getgroups.2,v 1.4.2.1 1999/08/29 14:49:01 peter Exp % .\" %FreeBSD: src/lib/libc/sys/getgroups.2,v 1.6.2.1 2000/04/22 17:06:54 phantom Exp %
.\" .\"
.Dd April 16, 1994 .Dd March 5, 1999
.Dt GETGROUPS 2 .Dt GETGROUPS 2
.Os BSD 4.2 .Os BSD 4.2
.Sh 名称 .Sh 名称
.Nm getgroups .Nm getgroups
.Nd グループアクセスリストを得る .Nd グループアクセスリストを取得
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <unistd.h> .Fd #include <unistd.h>
@ -56,16 +58,16 @@
.Fn getgroups .Fn getgroups
は、 は、
.Fa gidset .Fa gidset
に返された実際のグループの数を返します。これは に返された実際のグループの数を返します。
.Fn sysconf _SC_NGROUPS_MAX .Dv NGROUPS_MAX
によって返される値に制限されます より大きい値は返しません
.Fa gidsetlen .Fa gidsetlen
が 0 の場合に が 0 の場合に
.Fn getgroups .Fn getgroups
は、 は、
.Fa gidset .Fa gidset
が指す配列を修正せずに、呼び出しプロセスに対応する補助 が指し示す配列を修正せずに、
グループ ID の数を返します。 呼び出したプロセスに対応する補助グループ ID の数を返します。
.Sh 戻り値 .Sh 戻り値
呼び出しが正常に完了すると、グループセット内のグループの数が返されます。 呼び出しが正常に完了すると、グループセット内のグループの数が返されます。
戻り値 -1 はエラーが起こったことを示し、 戻り値 -1 はエラーが起こったことを示し、
@ -87,8 +89,7 @@
.El .El
.Sh 関連項目 .Sh 関連項目
.Xr setgroups 2 , .Xr setgroups 2 ,
.Xr initgroups 3 , .Xr initgroups 3
.Xr sysconf 3
.Sh 歴史 .Sh 歴史
.Fn getgroups .Fn getgroups
関数は 関数は

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getitimer.2 8.3 (Berkeley) 5/16/95 .\" @(#)getitimer.2 8.3 (Berkeley) 5/16/95
.\" %FreeBSD: src/lib/libc/sys/getitimer.2,v 1.10.2.2 2000/12/29 14:44:52 ru Exp %
.\" .\"
.Dd May 16, 1995 .Dd May 16, 1995
.Dt GETITIMER 2 .Dt GETITIMER 2
@ -37,28 +38,30 @@
.Sh 名称 .Sh 名称
.Nm getitimer , .Nm getitimer ,
.Nm setitimer .Nm setitimer
.Nd インターバルタイマの値を取得/設定する .Nd インターバルタイマの値を取得 / 設定
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/time.h> .Fd #include <sys/time.h>
.Fd #define ITIMER_REAL 0 .Fd "#define ITIMER_REAL 0"
.Fd #define ITIMER_VIRTUAL 1 .Fd "#define ITIMER_VIRTUAL 1"
.Fd #define ITIMER_PROF 2 .Fd "#define ITIMER_PROF 2"
.Ft int .Ft int
.Fn getitimer "int which" "struct itimerval *value" .Fn getitimer "int which" "struct itimerval *value"
.Ft int .Ft int
.Fn setitimer "int which" "const struct itimerval *value" "struct itimerval *ovalue" .Fn setitimer "int which" "const struct itimerval *value" "struct itimerval *ovalue"
.Sh 解説 .Sh 解説
システムは、 システムは、各プロセスに
.Ao Pa sys/time.h Ac .Ao Pa sys/time.h Ac
で定義された 3 つのインターバルタイマを各プロセスに提供します。 で定義された 3 つのインターバルタイマを提供しています。
.Fn getitimer .Fn getitimer
呼び出し システムコール
.Fa which .Fa which
で指定されたタイマの現在の値を で指定されたタイマの現在の値を
.Fa value .Fa value
構造体に返します。 構造体に返します。
.Fn setitimer .Fn setitimer
呼び出しはタイマを指定の システムコールはタイマを指定の
.Fa value .Fa value
に設定します に設定します
.Fa ( ovalue .Fa ( ovalue
@ -114,8 +117,8 @@ struct itimerval {
.Dv ITIMER_PROF .Dv ITIMER_PROF
タイマが時間切れになるたびに タイマが時間切れになるたびに
.Dv SIGPROF .Dv SIGPROF
シグナルが配信され シグナルが配信されます。
ます。このシグナルは進行中のシステムコールに割り込むかもしれないので、 このシグナルは進行中のシステムコールに割り込むかもしれないので、
このタイマを使用しているプログラムは割り込まれたシステムコールを このタイマを使用しているプログラムは割り込まれたシステムコールを
再実行する準備をしておかなければなりません。 再実行する準備をしておかなければなりません。
.Pp .Pp
@ -128,7 +131,7 @@ struct itimerval {
.Sh .Sh
時間の値を操作する 3 つのマクロは 時間の値を操作する 3 つのマクロは
.Ao Pa sys/time.h Ac .Ao Pa sys/time.h Ac
で定義されます。 で定義されています。
.Fa timerclear .Fa timerclear
は時間の値を 0 に設定し、 は時間の値を 0 に設定し、
.Fa timerisset .Fa timerisset

View file

@ -30,19 +30,25 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getlogin.2 8.1 (Berkeley) 6/9/93 .\" @(#)getlogin.2 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/sys/getlogin.2,v 1.10.2.1 1999/09/18 16:18:59 phantom Exp % .\" %FreeBSD: src/lib/libc/sys/getlogin.2,v 1.14.2.1 2000/04/22 17:06:54 phantom Exp %
.\" .\"
.Dd June 9, 1993 .Dd June 9, 1993
.Dt GETLOGIN 2 .Dt GETLOGIN 2
.Os BSD 4.4 .Os BSD 4.4
.Sh 名称 .Sh 名称
.Nm getlogin , .Nm getlogin ,
.Nm getlogin_r ,
.Nm setlogin .Nm setlogin
.Nd ログイン名を取得/設定する .Nd ログイン名を取得 / 設定
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft char * .Ft char *
.Fn getlogin void .Fn getlogin void
.Fd #include <sys/param.h>
.Ft char *
.Fn getlogin_r "char *name" "int len"
.Ft int .Ft int
.Fn setlogin "const char *name" .Fn setlogin "const char *name"
.Sh 解説 .Sh 解説
@ -50,13 +56,25 @@
ルーチンは、 ルーチンは、
.Fn setlogin .Fn setlogin
で設定した現在のセッションに対応する で設定した現在のセッションに対応する
ユーザのログイン名を返します。通常、名前は ユーザのログイン名を返します。
セッションが作成された時点でログインシェルに 通常、名前はセッションが作成された時点でログインシェルに対応し、
対応し、ログインシェルから派生する全てのプロセスに継承されます ログインシェルから派生する全てのプロセスに継承されます
(これらのプロセスが別のユーザ ID を想定している場合、たとえば、 (これらのプロセスが別のユーザ ID を想定している場合、たとえば、
.Xr su 1 .Xr su 1
が使用されるときでも該当します)。 が使用されるときでも該当します)。
.Pp .Pp
.Fn getlogin_r
.Fn getlogin
と同様のサービスを提供しますが、
呼び出し側は結果を保持するための長さ
.Fa len
バイトのバッファ
.Fa name
を用意しなければなりません。バッファは少なくとも
.Dv MAXLOGNAME
バイトの長さがあるべきです。
.Pp
.Fn setlogin .Fn setlogin
は、現在のセッションに対応するユーザのログイン名を は、現在のセッションに対応するユーザのログイン名を
.Fa name .Fa name
@ -84,8 +102,8 @@
.Fn daemon .Fn daemon
ライブラリは ライブラリは
.Fn setsid .Fn setsid
を呼び出しますが、これは を呼び出しますが、これは制御端末を切り離して
制御端末を切り離してフォークでバックグラウンドに入る理想的な方法です。 フォークでバックグラウンドに入る理想的な方法です。
.Pp .Pp
特に、 特に、
.Fn ioctl ttyfd TIOCNOTTY ... .Fn ioctl ttyfd TIOCNOTTY ...
@ -94,9 +112,9 @@
では十分では では十分では
.Em ありません。 .Em ありません。
.Pp .Pp
親プロセスが一旦 親プロセスがいったん
.Fn setsid .Fn setsid
呼び出しを行なえば、セッションリーダでない 呼び出しを行なえば、セッションリーダでない
そのプロセスの子が そのプロセスの子が
.Fn setlogin .Fn setlogin
を行なうことも受け入れられますが、親を含めてセッション内のすべての を行なうことも受け入れられますが、親を含めてセッション内のすべての
@ -105,15 +123,20 @@
これは特権を継承する従来の UNIX の動作と同じではありません。 これは特権を継承する従来の UNIX の動作と同じではありません。
.Pp .Pp
.Fn setlogin .Fn setlogin
システムコールはスーパユーザに制限されているので、セキュリティ侵犯を防止 システムコールはスーパユーザに制限されているので、セキュリティ侵犯を
するために (他の特権のあるすべてのプログラムと同じように) 防止するために (他の特権のあるすべてのプログラムと同じように)
プログラマが適切な注意を払うものだと仮定しています。 プログラマが適切な注意を払うものだと仮定しています。
.Sh 戻り値 .Sh 戻り値
.Fn getlogin .Fn getlogin
の呼び出しが成功すると、静的バッファ内のヌルで終端された文字列への の呼び出しが成功すると、静的バッファ内のヌルで終端された文字列への
ポインタが返されます。名前が設定されていない場合は ポインタが返されます。
.Fn getlogin_r
の呼び出しが成功すると、呼び出し側が渡したバッファへのポインタが
返されます。
名前が設定されていない場合は、どちらも
.Dv NULL .Dv NULL
が返されます。 が返されます。
.Pp
.Fn setlogin .Fn setlogin
の呼び出しが成功すると の呼び出しが成功すると
値 0 が返されます。 値 0 が返されます。
@ -132,7 +155,7 @@
パラメータが長すぎる文字列を指しています。ログイン名は パラメータが長すぎる文字列を指しています。ログイン名は
.Pf ( Ao Pa sys/param.h Ac ) .Pf ( Ao Pa sys/param.h Ac )
.Dv MAXLOGNAME .Dv MAXLOGNAME
文字に制限されます。現時点ではヌルを含めて 17 です。 文字までに制限されます。現時点ではヌルを含めて 17 文字です。
.It Bq Er EPERM .It Bq Er EPERM
ログイン名を設定しようとした呼び出し元が ログイン名を設定しようとした呼び出し元が
スーパユーザではありませんでした。 スーパユーザではありませんでした。
@ -149,8 +172,8 @@
を使用して) プロセスに制御端末がないときでも を使用して) プロセスに制御端末がないときでも
getlogin は正常に完了します。初期のバージョンでは、 getlogin は正常に完了します。初期のバージョンでは、
.Fn getlogin .Fn getlogin
が返す値はユーザ ID をチェックせずには信頼 が返す値はユーザ ID をチェックせずには
することができませんでした。 信頼することができませんでした。
移植性の高いプログラムはおそらくまだこのチェックを行なっているはずです。 移植性の高いプログラムはおそらくまだこのチェックを行なっているはずです。
.Sh 歴史 .Sh 歴史
.Fn getlogin .Fn getlogin

View file

@ -30,18 +30,21 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getpeername.2 8.1 (Berkeley) 6/4/93 .\" @(#)getpeername.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/getpeername.2,v 1.9.2.4 2000/08/23 00:45:18 jhb Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt GETPEERNAME 2 .Dt GETPEERNAME 2
.Os BSD 4.2 .Os BSD 4.2
.Sh 名称 .Sh 名称
.Nm getpeername .Nm getpeername
.Nd 接続されたピア (通信相手) の名前を得る .Nd 接続されたピア (通信相手) の名前の取得
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <sys/socket.h> .Fd #include <sys/socket.h>
.Ft int .Ft int
.Fn getpeername "int s" "struct sockaddr *name" "int *namelen" .Fn getpeername "int s" "struct sockaddr *name" "socklen_t *namelen"
.Sh 解説 .Sh 解説
.Fn getpeername .Fn getpeername
は、ソケット は、ソケット
@ -69,23 +72,25 @@
にアセンブルされ、 にアセンブルされ、
.Fn getpeername .Fn getpeername
は、読取りと書込みについて は、読取りと書込みについて
.Va s .Fa s
をロックしてから をロックしてから
.Fn _thread_sys_getpeername .Fn _thread_sys_getpeername
を呼び出す関数として実装されています。戻る前に を呼び出す関数として実装されています。戻る前に
.Fn getpeername .Fn getpeername
.Va s .Fa s
をアンロックします。 をアンロックします。
.Sh 戻り値 .Sh 戻り値
呼び出しが正常に完了すると 0 が返され、処理を失敗すると -1 が返されます。 呼び出しが正常に完了すると 0 が返され、処理を失敗すると -1 が返されます。
.Sh エラー .Sh エラー
以降の場合を除いて呼び出しは処理に成功します。 以降の場合を除いて呼び出しは処理に成功します。
.Bl -tag -width ENOTSOCKAA .Bl -tag -width Er
.It Bq Er EBADF .It Bq Er EBADF
引数 引数
.Fa s .Fa s
が有効な記述子ではありません。 が有効な記述子ではありません。
.It Bq Er ECONNRESET
接続がピアによってリセットされました。
.It Bq Er ENOTSOCK .It Bq Er ENOTSOCK
引数 引数
.Fa s .Fa s
@ -96,7 +101,7 @@
操作を実行するための十分なリソースがシステムにありません。 操作を実行するための十分なリソースがシステムにありません。
.It Bq Er EFAULT .It Bq Er EFAULT
.Fa name .Fa name
パラメータはプロセスアドレス空間の外側の領域を指しています。 パラメータはプロセスアドレス空間の有効な領域の範囲外を指しています。
.El .El
.Sh 関連項目 .Sh 関連項目
.Xr accept 2 , .Xr accept 2 ,

View file

@ -30,13 +30,16 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getpgrp.2 8.1 (Berkeley) 6/4/93 .\" @(#)getpgrp.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/getpgrp.2,v 1.11.2.1 2000/04/22 17:06:54 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt GETPGRP 2 .Dt GETPGRP 2
.Os BSD 4.2 .Os BSD 4.2
.Sh ̾¾Î .Sh ̾¾Î
.Nm getpgrp .Nm getpgrp
.Nd プロセスグループを得る .Nd プロセスグループの取得
.Sh ライブラリ
.Lb libc
.Sh ½ñ¼° .Sh ½ñ¼°
.Fd #include <unistd.h> .Fd #include <unistd.h>
.Ft pid_t .Ft pid_t

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE. .\" SUCH DAMAGE.
.\" .\"
.\" @(#)getpid.2 8.1 (Berkeley) 6/4/93 .\" @(#)getpid.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/getpid.2,v 1.7.2.1 1999/08/29 14:49:01 peter Exp % .\" %FreeBSD: src/lib/libc/sys/getpid.2,v 1.8.2.1 2000/04/22 17:06:54 phantom Exp %
.\" .\"
.Dd June 4, 1993 .Dd June 4, 1993
.Dt GETPID 2 .Dt GETPID 2
@ -38,7 +38,9 @@
.Sh 名称 .Sh 名称
.Nm getpid , .Nm getpid ,
.Nm getppid .Nm getppid
.Nd 親または呼び出しプロセスの識別子を得る .Nd 親または呼び出しプロセスの識別子を取得
.Sh ライブラリ
.Lb libc
.Sh 書式 .Sh 書式
.Fd #include <sys/types.h> .Fd #include <sys/types.h>
.Fd #include <unistd.h> .Fd #include <unistd.h>
@ -50,7 +52,7 @@
.Fn getpid .Fn getpid
は呼び出しプロセスのプロセス ID を返します。 は呼び出しプロセスのプロセス ID を返します。
ID はユニークであることが保証されており、 ID はユニークであることが保証されており、
一時的なファイルの名前を構築するのに便利です。 一時的なファイルの名前を作成するのに便利です。
.Pp .Pp
.Fn getppid .Fn getppid
は呼び出しプロセスの親のプロセス ID を返します。 は呼び出しプロセスの親のプロセス ID を返します。