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
@@ -19,17 +25,25 @@ The parameter
 .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
-.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.
+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
@@ -70,12 +84,42 @@ The address is already in use.
 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)
-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)