| CONNECT(2) | System Calls Manual | CONNECT(2) | 
connect —
#include <sys/socket.h>
int
  
  connect(int
    s, const struct sockaddr
    *name, socklen_t
    namelen);
SOCK_DGRAM, 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, this 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. namelen indicates the amount of space
  pointed to by name, in bytes. Each communications space
  interprets the name parameter in its own way. Generally,
  stream sockets may successfully connect() only once;
  datagram sockets may use connect() multiple times to
  change their association. Datagram sockets may dissolve the association by
  connecting to an invalid address, such as a null address.
If a connect() call is interrupted by a
    signal, it will return with errno set to EINTR and
    the connection attempt will proceed as if the socket was non-blocking.
    Subsequent calls to connect() will set errno to
    EALREADY.
connect() call fails if:
EBADF]ENOTSOCK]EINVAL]EADDRNOTAVAIL]EAFNOSUPPORT]EISCONN]ETIMEDOUT]ECONNREFUSED]ENETUNREACH]EADDRINUSE]EFAULT]EINPROGRESS]SO_ERROR option
      at the SOL_SOCKET level. The returned socket error
      status is zero on success, or one of the error codes listed here on
      failure.EALREADY]connect() was interrupted by a signal, and the
      connection attempt has not yet been completed.EINTR]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.
ENOTDIR]ENAMETOOLONG]NAME_MAX}
      characters, or an entire path name exceeded
      {PATH_MAX} characters.ENOENT]EACCES]ELOOP]connect() function call appeared in
  4.2BSD.
| March 27, 2021 | NetBSD 10.0 |