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:
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
|
@ -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
|
||||
は戻りません。
|
||||
|
|
|
@ -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 関連項目
|
||||
|
|
|
@ -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
|
||||
は、プロセスに割り当てられたアドレス空間の範囲外を指しています。
|
||||
|
|
|
@ -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
|
||||
で登場しました。
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
が更新しました。
|
||||
|
|
|
@ -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 関連項目
|
||||
|
|
|
@ -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
|
||||
内の無効な情報はカーネルを混乱させる可能性があります。
|
||||
|
|
|
@ -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 規格
|
||||
|
|
|
@ -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 つの要求が
|
||||
|
|
|
@ -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
|
||||
内の誤った情報はカーネルを混乱させる可能性があります。
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
が設定した限界を越えました。
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 関連項目
|
||||
|
|
|
@ -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
|
||||
(入出力) エラーが発生しました。
|
||||
|
|
|
@ -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
|
||||
(入出力) エラーが発生しました。
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
関数は
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 を返します。
|
||||
|
|
Loading…
Reference in a new issue