OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man3 / bindresvport.3
index 2bcb36d..850bc6c 100644 (file)
 .\" Updated 2008-12-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.15
 .\"
 .TH BINDRESVPORT 3  2008-12-03 "" "Linux Programmer's Manual"
-.SH Ì¾Á°
-bindresvport \- ¥½¥±¥Ã¥È¤òÆø¢ IP ¥Ý¡¼¥È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+bindresvport \- ソケットを特権 IP ポートにバインドする
+.SH 書式
 .nf
 .B #include <sys/types.h>
 .B #include <netinet/in.h>
 .LP
 .BI "int bindresvport(int " sockfd ", struct sockaddr_in *" sin );
 .fi
-.SH ÀâÌÀ
+.SH 説明
 .LP
 .BR bindresvport ()
-¤Ï¡¢¥½¥±¥Ã¥È¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÆø¢ÌµÌ¾ (privileged anonymous) IP ¥Ý¡¼¥È¤Ë
-¥Ð¥¤¥ó¥É¤¹¤ë¤Î¤Ë»È¤¦¡£Æø¢ÌµÌ¾ IP ¥Ý¡¼¥È¤È¤Ï¡¢
-¥Ý¡¼¥ÈÈֹ椬 512 ¤«¤é 1023 ¤ÎÈϰϤ«¤éǤ°Õ¤ËÁªÂò¤µ¤ì¤ë¥Ý¡¼¥È¤Ç¤¢¤ë¡£
+は、ソケット・ディスクリプタを特権無名 (privileged anonymous) IP ポートに
+バインドするのに使う。特権無名 IP ポートとは、
+ポート番号が 512 から 1023 の範囲から任意に選択されるポートである。
 .\" Glibc actually starts searching with a port # in the range 600 to 1023
 
 .BR bindresvport ()
-¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤¿
+によって実行された
 .BR bind (2)
-¤¬À®¸ù¤·¡¢
+が成功し、
 .I sin
-¤¬ NULL °Ê³°¤Î¾ì¹ç¡¢¼ÂºÝ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥Ý¡¼¥ÈÈֹ椬
+が NULL 以外の場合、実際に割り当てられたポート番号が
 .I sin\->sin_port
-¤ËÆþ¤ì¤ÆÊÖ¤µ¤ì¤ë¡£
+に入れて返される。
 
 .I sin
-¤Ë¤Ï NULL ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¡¢¤½¤Î¾ì¹ç¤Ë¤Ï
+には NULL を指定することもでき、その場合には
 .I sin\->sin_family
-¤Ï°ÅÌۤΤ¦¤Á¤Ë
+は暗黙のうちに
 .B AF_INET
-¤È¤ß¤Ê¤µ¤ì¤ë¡£
-¤·¤«¤·¡¢¤³¤Î¾ì¹ç¤Ë¤Ï¡¢
+とみなされる。
+しかし、この場合には、
 .BR bindresvport ()
-¤Ï¼ÂºÝ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿¥Ý¡¼¥ÈÈÖ¹æ¤òÊÖ¤¹¼êÃʤò»ý¤¿¤Ê¤¤
-(³ä¤êÅö¤Æ¤é¤ì¤¿¥Ý¡¼¥ÈÈÖ¹æ¤Ï¡¢¸å¤Ç
+は実際に割り当てられたポート番号を返す手段を持たない
+(割り当てられたポート番号は、後で
 .BR getsockname (2)
-¤ò»È¤Ã¤Æ¼èÆÀ¤Ç¤­¤ë)¡£
-.SH ÊÖ¤êÃÍ
+を使って取得できる)。
+.SH 返り値
 .BR bindresvport ()
-¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¡¢\-1 ¤òÊÖ¤·¡¢
+は成功すると 0 を返す。それ以外の場合、\-1 を返し、
 .I errno
-¤Ë¥¨¥é¡¼¤Î¸¶°ø¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£
-.SH ¥¨¥é¡¼
+にエラーの原因を示す値を設定する。
+.SH ã\82¨ã\83©ã\83¼
 .BR bindresvport ()
-¤Ï
+は
 .BR bind (2)
-¤ÈƱ¤¸¸¶°ø¤Ç¼ºÇÔ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
-¤µ¤é¤Ë¡¢°Ê²¼¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ë:
+と同じ原因で失敗する可能性がある。
+さらに、以下のエラーが発生することがある:
 .TP
 .BR EACCES
-¸Æ¤Ó½Ð¤·¸µ¤¬¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤ÎÆø¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿ (¤è¤êÀµ³Î¤Ë¸À¤¦¤È¡¢
+呼び出し元がスーパーユーザの特権を持っていなかった (より正確に言うと、
 .B CAP_NET_BIND_SERVICE
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬É¬ÍפǤ¢¤ë)¡£
+ケーパビリティが必要である)。
 .TP
 .B EADDRINUSE
-Á´¤Æ¤ÎÆø¢¥Ý¡¼¥È¤¬»ÈÍÑÃæ¤Ç¤¢¤ë¡£
+全ての特権ポートが使用中である。
 .TP
-.BR EAFNOSUPPORT " (glibc 2.7 °ÊÁ°¤Ç¤Ï " EPFNOSUPPORT ")"
+.BR EAFNOSUPPORT " (glibc 2.7 以前では " EPFNOSUPPORT ")"
 .I sin
-¤¬ NULL °Ê³°¤Ç¡¢¤«¤Ä
+が NULL 以外で、かつ
 .I sin->sin_family
-¤¬
+が
 .B AF_INET
-¤Ç¤Ê¤«¤Ã¤¿¡£
-.SH ½àµò
-POSIX.1-2001 ¤Ë¤Ï¤Ê¤¤¡£
-BSD, Solaris ¤ª¤è¤Ó¤½¤Î¾¤Î¿¤¯¤Î¥·¥¹¥Æ¥à¤Ë¸ºß¤¹¤ë¡£
-.SH Ãí°Õ
+でなかった。
+.SH 準拠
+POSIX.1-2001 にはない。
+BSD, Solaris およびその他の多くのシステムに存在する。
+.SH 注意
 .LP
 .BR bindresvport ()
-¤Î¤¤¤¯¤Ä¤«¤Î¼ÂÁõ¤È°Û¤Ê¤ê¡¢glibc ¤Î¼ÂÁõ¤Ç¤Ï¸Æ¤Ó½Ð¤·¸µ¤¬
+のいくつかの実装と異なり、glibc の実装では呼び出し元が
 .I sin\->sin_port
-¤ÇÅϤ·¤¿ÃͤϤɤó¤ÊÃͤǤ¢¤Ã¤Æ¤â̵»ë¤µ¤ì¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+で渡した値はどんな値であっても無視される。
+.SH 関連項目
 .BR bind (2),
 .BR getsockname (2)