Submitted by: OHSAWA Chitoshi <ohsawa@catv1.ccn-net.ne.jp>, SUZUKI Koichi <metal@vc-net.ne.jp>, kuma@jp.FreeBSD.org Reviewed by:kuma@jp.FreeBSD.org
166 lines
5.3 KiB
Groff
166 lines
5.3 KiB
Groff
.\" Copyright (c) 1983, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)connect.2 8.1 (Berkeley) 6/4/93
|
|
.\" %FreeBSD: src/lib/libc/sys/connect.2,v 1.11.2.3 2000/12/08 13:49:31 ru Exp %
|
|
.\"
|
|
.Dd June 4, 1993
|
|
.Dt CONNECT 2
|
|
.Os BSD 4.2
|
|
.Sh ̾¾Î
|
|
.Nm connect
|
|
.Nd ¥½¥±¥Ã¥È¾å¤ÇÀܳ¤ò³«»Ï¤¹¤ë
|
|
.Sh ¥é¥¤¥Ö¥é¥ê
|
|
.Lb libc
|
|
.Sh ½ñ¼°
|
|
.Fd #include <sys/types.h>
|
|
.Fd #include <sys/socket.h>
|
|
.Ft int
|
|
.Fn connect "int s" "const struct sockaddr *name" "socklen_t namelen"
|
|
.Sh ²òÀâ
|
|
¥Ñ¥é¥á¡¼¥¿
|
|
.Fa s
|
|
¤Ï¥½¥±¥Ã¥È¤Ç¤¹¡£¤³¤Î¥¿¥¤¥×¤¬
|
|
.Dv SOCK_DGRAM
|
|
¤Î¾ì¹ç¡¢¤³¤Î¸Æ¤Ó½Ð¤·¤Ï¥½¥±¥Ã¥È¤¬·ë¤ÓÉÕ¤±¤é¤ì¤ë
|
|
ÄÌ¿®Áê¼ê¤ò»ØÄꤷ¤Þ¤¹¡£¤³¤Î¥¢¥É¥ì¥¹¤ÏÁ÷¿®¥Ç¡¼¥¿¥°¥é¥à¤ÎÁ÷¿®Àè¤Ç¤¢¤ê¡¢
|
|
¼õ¿®¥Ç¡¼¥¿¥°¥é¥à¤ÎÁ÷¿®¸µ¤È¤Ê¤ëÍ£°ì¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£¥½¥±¥Ã¥È¤Î¥¿¥¤¥×¤¬
|
|
.Dv SOCK_STREAM
|
|
¤Î¾ì¹ç¡¢¤³¤Î¸Æ¤Ó½Ð¤·¤ÏÄÌ¿®Áê¼ê¤Î¥½¥±¥Ã¥È¤ËÀܳ¤ò³ÎΩ
|
|
¤·¤è¤¦¤È¤·¤Þ¤¹¡£ÄÌ¿®Áê¼ê¤Î¥½¥±¥Ã¥È¤Ï
|
|
.Fa name
|
|
¤Ç»ØÄꤵ¤ì¤Þ¤¹¡£
|
|
.Fa name
|
|
¤Ï¥½¥±¥Ã¥ÈÄÌ¿®¶õ´ÖÆâ¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£³ÆÄÌ¿®¶õ´Ö¤Ï
|
|
.Fa name
|
|
¥Ñ¥é¥á¡¼¥¿¤òÆÈ¼«¤ÎÊýË¡¤Ç²ò¼á¤·¤Þ¤¹¡£°ìÈ̤ˡ¢¥¹¥È¥ê¡¼¥à¥½¥±¥Ã¥È¤¬Àµ¾ï¤Ë
|
|
.Fn connect
|
|
¤Ç¤¤ë¤Î¤Ï 1 ²ó¤À¤±¤Ç¤¹¡£¥Ç¡¼¥¿¥°¥é¥à¥½¥±¥Ã¥È¤Ï
|
|
.Fn connect
|
|
¤òÊ£¿ô²ó»ÈÍѤ·¤Æ¤½¤Î·ë¤ÓÉÕ¤±¤òÊѹ¹¤Ç¤¤Þ¤¹¡£¥Ç¡¼¥¿¥°¥é¥à
|
|
¥½¥±¥Ã¥È¤Ï¡¢NULL ¥¢¥É¥ì¥¹¤Î¤è¤¦¤Ê̵¸ú¤Ê¥¢¥É¥ì¥¹¤ËÀܳ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ
|
|
·ë¤ÓÉÕ¤±¤ò²ò½ü¤Ç¤¤Þ¤¹¡£
|
|
.Sh ¼ÂÁõ¤Ë´Ø¤¹¤ëÃí
|
|
.Pp
|
|
Èó¥¹¥ì¥Ã¥É¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¢
|
|
.Fn connect
|
|
¤Ï
|
|
.Va connect
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.Pp
|
|
¥¹¥ì¥Ã¥É¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¢
|
|
.Va connect
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
|
|
.Fn _thread_sys_connect
|
|
¤Ë¥¢¥»¥ó¥Ö¥ë¤µ¤ì¡¢
|
|
.Fn connect
|
|
¤Ï¡¢ÆÉ¤ß½ñ¤¤Ë¤Ä¤¤¤Æ
|
|
.Va s
|
|
¤ò¥í¥Ã¥¯¤·¤Æ¤«¤é
|
|
.Fn _thread_sys_connect
|
|
¤ò¸Æ¤Ó½Ð¤¹´Ø¿ô¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.Fn _thread_sys_connect
|
|
¤Î¸Æ¤Ó½Ð¤·¤¬¥Ö¥í¥Ã¥¯¤¹¤ë¾ì¹ç¡¢¥³¥ó¥Æ¥¥¹¥È¥¹¥¤¥Ã¥Á¤¬
|
|
¼Â¹Ô¤µ¤ì¤Þ¤¹¡£Ìá¤ëÁ°¤Ë
|
|
.Fn connect
|
|
¤Ï
|
|
.Va s
|
|
¤ò¥¢¥ó¥í¥Ã¥¯¤·¤Þ¤¹¡£
|
|
.Sh Ìá¤êÃÍ
|
|
Àܳ¤Þ¤¿¤Ï·ë¤ÓÉÕ¤±¤¬Àµ¾ï¤Ë´°Î»¤¹¤ë¤È 0 ¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£
|
|
¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢¥¨¥é¡¼¤ò¼¨¤¹¤¿¤á¤Ë¥°¥í¡¼¥Ð¥ëÊÑ¿ô
|
|
.Va errno
|
|
¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
|
|
.Sh ¥¨¥é¡¼
|
|
.Fn connect
|
|
¤Ï¼¡¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹¡£
|
|
.Bl -tag -width Er
|
|
.It Bq Er EBADF
|
|
.Fa s
|
|
¤¬Í¸ú¤Êµ½Ò»Ò¤Ç¤¢¤ê¤Þ¤»¤ó¡£
|
|
.It Bq Er ENOTSOCK
|
|
.Fa s
|
|
¤¬¥½¥±¥Ã¥È¤Ç¤Ï¤Ê¤¯¥Õ¥¡¥¤¥ë¤Îµ½Ò»Ò¤Ç¤¹¡£
|
|
.It Bq Er EADDRNOTAVAIL
|
|
»ØÄê¤Î¥¢¥É¥ì¥¹¤¬¤³¤Î¥Þ¥·¥ó¤Ç¤ÏÍøÍѤǤ¤Þ¤»¤ó¡£
|
|
.It Bq Er EAFNOSUPPORT
|
|
»ØÄê¤Î¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥êÆâ¤Î¥¢¥É¥ì¥¹¤¬¤³¤Î¥½¥±¥Ã¥È¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó¡£
|
|
.It Bq Er EISCONN
|
|
¥½¥±¥Ã¥È¤Ï´û¤ËÀܳ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ETIMEDOUT
|
|
Àܳ¤ò³ÎΩ¤¹¤ë¤³¤È¤Ê¤¯¡¢¥¿¥¤¥à¥¢¥¦¥È¤·¤Þ¤·¤¿¡£
|
|
.It Bq Er ECONNREFUSED
|
|
Àܳ¤¬¶¯À©Åª¤ËµñÀ䤵¤ì¤Þ¤·¤¿¡£
|
|
.It Bq Er ENETUNREACH
|
|
¤³¤Î¥Û¥¹¥È¤«¤é¤½¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤ËÅþã¤Ç¤¤Þ¤»¤ó¡£
|
|
.It Bq Er EADDRINUSE
|
|
¥¢¥É¥ì¥¹¤¬´û¤Ë»ÈÍÑÃæ¤Ç¤¹¡£
|
|
.It Bq Er EFAULT
|
|
.Fa name
|
|
¥Ñ¥é¥á¡¼¥¿¤Ï¥×¥í¥»¥¹¥¢¥É¥ì¥¹¶õ´Ö¤Î³°Â¦¤ÎÎΰè¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er EINPROGRESS
|
|
Èó¥Ö¥í¥Ã¥¥ó¥°¤Î¥½¥±¥Ã¥È¤Ç¡¢Àܳ¤¬¤¹¤°¤Ë¤Ï³ÎΩ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
|
|
¥½¥±¥Ã¥È¤Ø¤Î½ñ¹þ¤ß¤ò
|
|
.Xr select 2
|
|
¤ÇÂԤĤ³¤È¤Ë¤è¤Ã¤Æ¡¢Àܳ´°Î»¤òÂԤĤ³¤È¤¬¤Ç¤¤Þ¤¹¡£
|
|
.It Bq Er EALREADY
|
|
Èó¥Ö¥í¥Ã¥¥ó¥°¤Î¥½¥±¥Ã¥È¤Ç¡¢°ÊÁ°¤ÎÀܳ¤Î»î¤ß¤¬¤Þ¤À´°Î»¤·¤Æ¤¤¤Þ¤»¤ó¡£
|
|
.El
|
|
.Pp
|
|
°Ê¹ß¤Î¥¨¥é¡¼¤Ï¡¢UNIX ¥É¥á¥¤¥ó¤ÎÀܳ̾¤Ë¸ÇͤǤ¹¡£
|
|
¤³¤ì¤é¤Î¥¨¥é¡¼¤Ï¡¢UNIX IPC ¥É¥á¥¤¥ó¤Î¾Íè¤Î
|
|
¥Ð¡¼¥¸¥ç¥ó¤Ë¤ÏŬÍѤµ¤ì¤Ê¤¤²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
|
|
.Bl -tag -width Er
|
|
.It Bq Er ENOTDIR
|
|
¥Ñ¥¹¤Î¹½À®Í×ÁÇÃæ¤Ë¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENAMETOOLONG
|
|
¥Ñ¥¹Ì¾¤Î¹½À®Í×ÁǤ¬ 255 ʸ»ú¤ò±Û¤¨¤Æ¤¤¤ë¤«¡¢
|
|
¤Þ¤¿¤Ï¥Ñ¥¹Ì¾Á´ÂΤ¬ 1023 ʸ»ú¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENOENT
|
|
»ØÄê¤Î¥½¥±¥Ã¥È¤¬Â¸ºß¤·¤Þ¤»¤ó¡£
|
|
.It Bq Er EACCES
|
|
»ØÄꤵ¤ì¤¿¥Ñ¥¹¤Ë¤Ï¡¢¸¡º÷¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er EACCES
|
|
»ØÄê¤Î¥½¥±¥Ã¥È¤Ø¤Î½ñ¹þ¤ß¥¢¥¯¥»¥¹¤¬µñÀ䤵¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ELOOP
|
|
¥Ñ¥¹Ì¾¤òÊÑ´¹¤¹¤ë¤È¤¤Ë¸¡½Ð¤µ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿¤¹¤®¤Þ¤¹¡£
|
|
.El
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr accept 2 ,
|
|
.Xr getpeername 2 ,
|
|
.Xr getsockname 2 ,
|
|
.Xr select 2 ,
|
|
.Xr socket 2
|
|
.Sh Îò»Ë
|
|
.Fn connect
|
|
´Ø¿ô¤Ï
|
|
.Bx 4.2
|
|
¤ÇÅо줷¤Þ¤·¤¿¡£
|