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

View file

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

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Dt ACCESS 2
@ -38,6 +38,8 @@
.Sh 名称
.Nm access
.Nd ファイルまたはパス名のアクセス許可をチェックする
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <unistd.h>
.Ft int
@ -54,7 +56,7 @@
.Dv R_OK
、書込み許可については
.Dv W_OK
、実行/検索許可については
、実行 / 検索許可については
.Dv X_OK )
のビット単位の OR、または存在試験
.Dv F_OK
@ -79,7 +81,7 @@
にも該当します。
.Sh 戻り値
.Fa path
が見つからない場合、または希望のアクセスモードが認証されない場合、
が見つからない場合、または希望のアクセスモードが認められない場合、
値 -1 が返されます。そうでない場合は、値 0 が返されます。
.Sh エラー
ファイルへのアクセスは次の場合に拒絶されます。
@ -101,13 +103,13 @@
ファイルについて書込みアクセスが要求されています。
.It Bq Er EACCES
ファイルモードの許可ビットが要求されたアクセスを許容しないか、
またはパスの先頭構成要素について検索許可が拒絶されています。
ファイルの所有者は``所有者(owner)''読取り、書込み、
および実行のモードビットについてパーミッションがチェックされます。
所有者以外のファイルのグループのメンバは``グループ(group)''モードビットに
ついてパーミッションがチェックされており
他のすべてのものは``その他(other)''モードビットについて
パーミッションをチェックされています。
またはパスの構成要素について検索許可が拒絶されています。
ファイルの所有者は ``所有者 (owner)''読取り、書込み、
および実行のモードビットに従ってチェックされた許可を持ちます。
所有者以外のファイルのグループのメンバは ``グループ (group)'' モードビットに
従ってチェックされた許可を持ち
他のすべてのものは ``その他 (other)'' モードビットに
従ってチェックされた許可を持ちます。
.It Bq Er EFAULT
.Fa path
は、プロセスに割り当てられたアドレス空間の範囲外を指しています。

View file

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

View file

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

View file

@ -22,30 +22,52 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" 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
.Os
.Sh 名称
.Nm aio_cancel
.Nd 未解決の非同期入出力操作をキャンセルする (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <aio.h>
.Ft int
.Fn aio_cancel "int something" "struct aiocb * iocb"
.Fn aio_cancel "int fildes" "struct aiocb * iocb"
.Sh 解説
.Fn aio_cancel
関数は、指定の未解決の非同期入出力要求をキャンセルすると想定されます。
関数は
.Fa fildes
で指定されるファイル記述子の未解決の非同期入出力をキャンセルします。
.Fa iocb
が指定された場合、指定された非同期入出力要求だけをキャンセルします。
.Pp
通常の非同期通知がキャンセルされた要求に対して発生します。要求は
.Er ECANCELED
のエラー結果となって完了します。
.Sh 制限
.Fn aio_cancel
は今回は実現されず、必ず処理失敗して
.Dv ENOSYS
を返しています。
関数は raw ディスクデバイスに対する非同期入出力をキャンセルしません。
.Fn aio_cancel
は、raw ディスクデバイスに関連づけられたファイル記述子に対しては常に
.Dv AIO_NOTCANCELED
を返します。
.Sh 戻り値
.Fn aio_cancel
は、処理失敗しなければならない場合、
.Dv ENOSYS
を返して、これがサポートされていないことを示します。
は -1 を返してエラーまたは次のうちの一つを示します。
.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 関連項目
.Xr aio_error 2 ,
.Xr aio_read 2 ,
@ -54,22 +76,33 @@
.Xr aio_write 2 .
.Sh エラー
.Fn aio_cancel
関数は次の理由で現時点では必ず処理失敗します。
から返されるエラーは、次のことを示します:
.Bl -tag -width Er
.It Bq Er ENOSYS
この操作は今回は実現されていません。
.It Bq Er EBADF
.Fa fildes
が有効なファイル記述子ではありません。
.El
.Sh 規格
.Nm
.Sh STANDARDS
.Fn aio_cancel
.St -p1003.2
標準に準拠していません
に準拠しています
.Sh 歴史
.Nm
.Fn aio_cancel
関数は
.Fx 3.0
ではじめて登場しました。機能する
.Fn aio_cancel
の実装は
.Fx 4.0
ではじめて登場しました。
.Sh 作者
このマニュアルは
このマニュアルは始めに
.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
.\" 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
.Dt AIO_ERROR 2
@ -30,21 +30,23 @@
.Sh 名称
.Nm aio_error
.Nd 非同期入出力操作のエラーステータスを取り出す (REALTIME)
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <aio.h>
.Ft int
.Fn aio_error "struct aiocb *iocb"
.Fn aio_error "const struct aiocb *iocb"
.Sh 解説
.Fn aio_error
関数は、
.Ar iocb
.Fa iocb
の指す構造体に対応する非同期入出力要求のエラー状態を返します。
.Sh 戻り値
非同期入出力要求が成功した上で正常に完了している場合に
.Fn aio_error
は 0 を返します。
要求がまだ完了していない場合は
.Dv EINPROGRESS
.Er EINPROGRESS
が返されます。
要求が失敗した上で完了している場合、
.Xr read 2 ,
@ -63,7 +65,7 @@
は次の場合に失敗します:
.Bl -tag -width Er
.It Bq Er EINVAL
.Ar iocb
.Fa iocb
が未解決の非同期 I/O 要求を参照していません。
.El
.Sh 関連項目

View file

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

View file

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

View file

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

View file

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

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Dt BRK 2
@ -38,6 +39,8 @@
.Nm brk ,
.Nm sbrk
.Nd データセグメントのサイズを変更する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <unistd.h>
.Ft char *
@ -99,7 +102,7 @@ brk
.Fn sbrk
は、以降のうちの 1 つが真の場合に処理に失敗し、新しくメモリを
割当てられません。
.Bl -tag -width [ENOMEM]
.Bl -tag -width Er
.It Bq Er ENOMEM
.Xr setrlimit 2
が設定した限界を越えました。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Dt FORK 2
@ -38,6 +38,8 @@
.Sh 名称
.Nm fork
.Nd 新しいプロセスを作成する
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <unistd.h>
@ -84,9 +86,9 @@
次の場合に
.Fn fork
は処理に失敗し、子プロセスは作成されません。
.Bl -tag -width [EAGAIN]
.Bl -tag -width Er
.It Bq Er EAGAIN
実行中のプロセスの合計数についてシステムが課する限界を超えます。限界値は
実行中のプロセスの合計数がシステムの限界を超えます。限界値は
.Xr sysctl 3
の MIB 変数の
.Dv KERN_MAXPROC

View file

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

View file

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

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Dt GETDTABLESIZE 2
@ -38,6 +38,8 @@
.Sh 名称
.Nm getdtablesize
.Nd 記述子テーブルのサイズを得る
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <unistd.h>
.Ft int
@ -45,8 +47,9 @@
.Sh 解説
各プロセスには固定サイズの記述子テーブルがあり、
テーブルには最低 20 個のスロットがあることが保証されています。
記述子テーブル内のエントリは、0 で開始する小さい整数で番号付けられています。
呼び出し
記述子テーブル内のエントリは、
0 からはじまる小さな整数で番号付けられています。
システムコール
.Fn getdtablesize
はこのテーブルのサイズを返します。
.Sh 関連項目

View file

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

View file

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

View file

@ -30,6 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Dt GETGID 2
@ -37,7 +38,9 @@
.Sh 名称
.Nm getgid ,
.Nm getegid
.Nd グループプロセス識別を得る
.Nd グループプロセス ID を取得
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <unistd.h>
@ -47,9 +50,9 @@
.Fn getegid void
.Sh 解説
.Fn getgid
関数は呼び出しプロセスの実グループ ID を返して、
関数は呼び出したプロセスの実グループ ID を返します。
.Fn getegid
は呼び出しプロセスの実効グループ ID を返します。
関数は呼び出しプロセスの実効グループ ID を返します。
.Pp
実グループ ID はログイン時に指定されます。
.Pp

View file

@ -30,14 +30,16 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Os BSD 4.2
.Sh 名称
.Nm getgroups
.Nd グループアクセスリストを得る
.Nd グループアクセスリストを取得
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <unistd.h>
@ -56,16 +58,16 @@
.Fn getgroups
は、
.Fa gidset
に返された実際のグループの数を返します。これは
.Fn sysconf _SC_NGROUPS_MAX
によって返される値に制限されます
に返された実際のグループの数を返します。
.Dv NGROUPS_MAX
より大きい値は返しません
.Fa gidsetlen
が 0 の場合に
が 0 の場合に
.Fn getgroups
は、
.Fa gidset
が指す配列を修正せずに、呼び出しプロセスに対応する補助
グループ ID の数を返します。
が指し示す配列を修正せずに、
呼び出したプロセスに対応する補助グループ ID の数を返します。
.Sh 戻り値
呼び出しが正常に完了すると、グループセット内のグループの数が返されます。
戻り値 -1 はエラーが起こったことを示し、
@ -87,8 +89,7 @@
.El
.Sh 関連項目
.Xr setgroups 2 ,
.Xr initgroups 3 ,
.Xr sysconf 3
.Xr initgroups 3
.Sh 歴史
.Fn getgroups
関数は

View file

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

View file

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

View file

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

View file

@ -30,13 +30,16 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Dt GETPGRP 2
.Os BSD 4.2
.Sh 名称
.Nm getpgrp
.Nd プロセスグループを得る
.Nd プロセスグループの取得
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <unistd.h>
.Ft pid_t
@ -59,7 +62,7 @@
.Pp
プロセスグループはシグナルの配信用に使用され、
また端末によって入力の要求を調整するのにも使用されます。
端末と同じプロセスグループを持つ (1つ以上の) プロセスは
端末と同じプロセスグループを持つ (1 つ以上の) プロセスは
フォアグラウンドであり読み取りできます。一方でその他のプロセスが
読み取ろうした場合はシグナルによってブロックさせられます。
.Pp

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)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
.Dt GETPID 2
@ -38,7 +38,9 @@
.Sh 名称
.Nm getpid ,
.Nm getppid
.Nd 親または呼び出しプロセスの識別子を得る
.Nd 親または呼び出しプロセスの識別子を取得
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <sys/types.h>
.Fd #include <unistd.h>
@ -50,7 +52,7 @@
.Fn getpid
は呼び出しプロセスのプロセス ID を返します。
ID はユニークであることが保証されており、
一時的なファイルの名前を構築するのに便利です。
一時的なファイルの名前を作成するのに便利です。
.Pp
.Fn getppid
は呼び出しプロセスの親のプロセス ID を返します。