connect(2)
NAME
connect − initiate a connection on a socket
SYNTAX
#include <sys/types.h>
#include <sys/socket.h>
int connect(s, name, namelen)
int s, namelen;
struct sockaddr *name;
DESCRIPTION
The argument s specifies an existing socket. If it is of type SOCK_DGRAM, then the connect call permanently specifies the peer to which datagrams are to be sent. If it is of type SOCK_STREAM, then the connect call attempts to make a connection to another socket. The other socket is specified by name which is an address in the communications space of the socket. Each communications space interprets the name argument in its own way.
RETURN VALUE
If unsuccessful, returns a −1, and the global variable errno indicates the error code.
DIAGNOSTICS
The connect call fails if:
[EBADF] The specified s is not a valid descriptor.
[ENOTSOCK] The specified 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 family 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 is not reachable from this host.
[EADDRINUSE] The address is already in use.
[EFAULT] The specified name specifies an area outside the process address space.
[EWOULDBLOCK] The socket is non-blocking, and the connection cannot be completed immediately. It is possible to use a select call on the socket while it is connecting by selecting it for writing.