doc/ja_JP.eucJP/man/man3/bindresvport.3
Kazuo Horikawa 996d2f02f9 Recent update of man3 entries
Submitted by:	Yuko Sasaki <yuko@veltec.co.jp>
2002-11-03 06:38:28 +00:00

103 lines
2.6 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.\" @(#)bindresvport.3n 2.2 88/08/02 4.0 RPCSRC; from 1.7 88/03/14 SMI
.\" %FreeBSD: src/lib/libc/rpc/bindresvport.3,v 1.10.2.2 2001/12/14 18:33:56 ru Exp %
.\"
.\" $FreeBSD$
.Dd January 27, 2000
.Dt BINDRESVPORT 3
.Os
.Sh 名称
.Nm bindresvport ,
.Nm bindresvport_sa
.Nd 特権 IP ポートにソケットをバインドする
.Sh 書式
.In rpc/rpc.h
.Ft int
.Fn bindresvport "int sd" "struct sockaddr_in *sin"
.Ft int
.Fn bindresvport_sa "int sd" "struct sockaddr *sa"
.Sh 解説
.Nm bindresvport
.Nm bindresvport_sa
は、ソケット記述子を、特権
.Tn IP
ポート、すなわち範囲 0 1023 のポートに結合するために使用されます。
.Pp
root だけが特権ポートに結合できます。この呼び出しは他のユーザについては
処理失敗します。
.Pp
.Va sin
がヌルポインタでない場合、
.Va sin->sin_family
.Va sd
によって渡されるソケットのアドレスファミリで初期化する
必要があります。
sin->sin_port の値が 0 でない場合、
.Fn bindresvport
は、指定したポートを使用しようとします。
それに失敗すると、別の特権付きポートを自動的に選択します。
.Pp
.Va sin
にヌルポインタを渡すことは正当です。
この場合、呼び出し側は
.Fn bindresvport
が拾ったポート番号を得ることができません。
.Pp
.Fn bindresvport
の関数プロトタイプは、
.Dv AF_INET
ソケットに特化しています。
.Fn bindresvport_sa
は、より中立的な関数プロトタイプを持ちますが、
正確に同じように動作します。両方の関数とも
正確に同じ挙動を示すことと、両方とも
.Dv AF_INET
ソケットと同様に、
.Dv AF_INET6
ソケットをサポートすることに注意してください。
.Sh 戻り値
.Fn bindresvport
.Fn bindresvport_sa
は、処理が成功したら値 0 を返します。そうでない場合は \-1 が返され、
エラーを示すために
.Va errno
が設定されます。
.Sh エラー
.Fn bindresvport
.Fn bindresvport_sa
関数は次の場合に失敗します。
.Bl -tag -width Er
.It Bq Er EBADF
.Fa sd
が有効な記述子ではありません。
.It Bq Er ENOTSOCK
.Fa sd
はソケットではありません。
.It Bq Er EADDRNOTAVAIL
指定されたアドレスはこのローカルマシンから利用可能ではありません。
.It Bq Er EADDRINUSE
指定されたアドレスはすでに使用中です。
.It Bq Er EINVAL
ソケットはすでにあるアドレスにバインドされています、または、
ソケットファミリと指定されたアドレスのファミリとが一致しません。
.It Bq Er EACCES
要求されたアドレスは保護されており、現在のユーザは、そこに
アクセスするには不適切なパーミッションを持っています。
.It Bq Er EFAULT
.Fa name
パラメータは、ユーザアドレス空間の正当な部分に存在しません。
.It Bq Er ENOBUFS
システムには、この操作を実行するために十分な資源がありません。
.It Bq Er EPFNOSUPPORT
システムにプロトコルファミリが設定されていないか、
プロトコルファミリに対する実装が存在しないか、
引数の間でアドレスファミリが一致しません。
.El
.Sh 関連項目
.Xr bind 2 ,
.Xr socket 2 ,
.Xr rresvport 3 ,
.Xr rresvport_af 3