BSD 4_3 release
[unix-history] / usr / man / man2 / connect.2
index a2e26f1..35415c6 100644 (file)
@@ -1,5 +1,11 @@
-.TH CONNECT 2 "7 July 1983"
-.UC 4
+.\" Copyright (c) 1983 Regents of the University of California.
+.\" All rights reserved.  The Berkeley software License Agreement
+.\" specifies the terms and conditions for redistribution.
+.\"
+.\"    @(#)connect.2   6.6 (Berkeley) 5/22/86
+.\"
+.TH CONNECT 2 "May 22, 1986"
+.UC 5
 .SH NAME
 connect \- initiate a connection on a socket
 .SH SYNOPSIS
 .SH NAME
 connect \- initiate a connection on a socket
 .SH SYNOPSIS
@@ -19,17 +25,25 @@ The parameter
 .I s
 is a socket.
 If it is of type SOCK_DGRAM,
 .I s
 is a socket.
 If it is of type SOCK_DGRAM,
-then this call permanently specifies the peer to which
-datagrams are to be sent;
-if it is of type SOCK_STREAM,
+then this call specifies the peer with which the socket is to be associated;
+this address is that to which datagrams are to be sent,
+and the only address from which datagrams are to be received.
+If the socket is of type SOCK_STREAM,
 then this call attempts to make a connection to
 another socket.
 The other socket is specified by
 then this call attempts to make a connection to
 another socket.
 The other socket is specified by
-.I name
+.I name,
 which is an address in the communications space of the socket.
 Each communications space interprets the
 .I name
 parameter in its own way.
 which is an address in the communications space of the socket.
 Each communications space interprets the
 .I name
 parameter in its own way.
+Generally, stream sockets may successfully
+.I connect
+only once; datagram sockets may use
+.I connect
+multiple times to change their association.
+Datagram sockets may dissolve the association
+by connecting to an invalid address, such as a null address.
 .SH "RETURN VALUE
 If the connection or binding succeeds, then 0 is returned.
 Otherwise a \-1 is returned, and a more specific error
 .SH "RETURN VALUE
 If the connection or binding succeeds, then 0 is returned.
 Otherwise a \-1 is returned, and a more specific error
@@ -70,12 +84,42 @@ The address is already in use.
 The \fIname\fP parameter specifies an area outside
 the process address space.
 .TP 20
 The \fIname\fP parameter specifies an area outside
 the process address space.
 .TP 20
-[EWOULDBLOCK]
-The socket is non-blocking and the
+[EINPROGRESS]
+The socket is non-blocking 
 and the connection cannot
 be completed immediately.
 It is possible to
 .IR select (2)
 and the connection cannot
 be completed immediately.
 It is possible to
 .IR select (2)
-the socket while it is connecting by selecting it for writing.
+for completion by selecting the socket for writing.
+.TP 20
+[EALREADY]
+The socket is non-blocking
+and a previous connection attempt
+has not yet been completed.
+.PP
+The following errors are specific to connecting names in the UNIX domain.
+These errors may not apply in future versions of the UNIX IPC domain.
+.TP 15
+[ENOTDIR]
+A component of the path prefix is not a directory.
+.TP 15
+[EINVAL]
+The pathname contains a character with the high-order bit set.
+.TP 15
+[ENAMETOOLONG]
+A component of a pathname exceeded 255 characters,
+or an entire path name exceeded 1023 characters.
+.TP 15
+[ENOENT]
+The named socket does not exist.
+.TP 15
+[EACCES]
+Search permission is denied for a component of the path prefix.
+.TP 15
+[EACCES]
+Write access to the named socket is denied.
+.TP 15
+[ELOOP]
+Too many symbolic links were encountered in translating the pathname.
 .SH SEE ALSO
 accept(2), select(2), socket(2), getsockname(2)
 .SH SEE ALSO
 accept(2), select(2), socket(2), getsockname(2)