connect(2N) connect(2N)NAME connect - initiate a connection on a socket SYNOPSIS #include <sys/types.h> #include <sys/socket.h> int connect(s, name, namelen) int s; struct sockaddr *name; int namelen; DESCRIPTION connect is used to initiate a connection on a socket. The parameter 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 attempts to make a connection to another socket. The other socket is specified by name which is an address in the com- munications space of the socket. Each communications space interprets the name parameter in its own way. RETURN VALUE If the connection or binding succeeds, then 0 is returned. Otherwise a -1 is returned, and a more specific error code is stored in errno. ERRORS connect fails if: [EBADF] s is not a valid descriptor. [ENOTSOCK] s is a descriptor for a file, not a socket. [EADDRNOTAVAIL] The specified address is not available on this machine. [EAFNOSUPPORT] Addresses in the specified address fami- ly cannot be used with this socket. [EISCONN] The socket is already connected. [ETIMEDOUT] Connection establishment timed out without establishing a connection. [ECONNREFUSED] The attempt to connect was forcefully rejected. [ENETUNREACH] The network isn't reachable from this host. April, 1990 1
connect(2N) connect(2N)[EADDRINUSE] The address is already in use. [EFAULT] The name parameter specifies an area outside the process address space. [EWOULDBLOCK] The socket is nonblocking and the and the connection cannot be completed im- mediately. It is possible to select(2N) the socket while it is connecting by selecting it for writing. SEE ALSO accept(2N), getsockname(2N), select(2N), socket(2N). 2 April, 1990