Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
connect(3SOCKET)	   Sockets Library Functions	      connect(3SOCKET)

NAME
       connect - initiate a connection on a socket

SYNOPSIS
       cc [ flag ... ] file ...	-lsocket -lnsl [ library ... ]
       #include	<sys/types.h>
       #include	<sys/socket.h>

       int connect(int s, const	struct sockaddr	*name, int namelen);

DESCRIPTION
       The  parameter  s  is  a	socket.	If it is of type SOCK_DGRAM, connect()
       specifies the peer with which the socket	is to be associated; this  ad-
       dress is	the address to which datagrams are to be sent if a receiver is
       not explicitly designated; it is	the only address from which  datagrams
       are  to	be received. If	the socket s is	of type	SOCK_STREAM, connect()
       attempts	to make	a connection to	another	socket.	The  other  socket  is
       specified by name. name is an address in	the communication space	of the
       socket. Each communication space	interprets the name parameter  in  its
       own  way.  If   s is not	bound, then it will be bound to	an address se-
       lected by the underlying	transport provider. Generally, stream  sockets
       may  successfully  connect()  only  once; datagram sockets may use con-
       nect() multiple times to	change their association. Datagram sockets may
       dissolve	the association	by connecting to a null	address.

RETURN VALUES
       If  the connection or binding succeeds, 0 is returned. Otherwise, -1 is
       returned	and sets errno to indicate the error.

ERRORS
       The call	fails if:

       EACCES
	     Search permission is denied for a component of the	path prefix of
	     the pathname in name.

       EADDRINUSE
	     The address is already in use.

       EADDRNOTAVAIL
	     The specified address is not available on the remote machine.

       EAFNOSUPPORT
	     Addresses	in  the	 specified  address family cannot be used with
	     this socket.

       EALREADY
	     The socket	is non-blocking	and a previous connection attempt  has
	     not yet been completed.

       EBADF s is not a	valid descriptor.

       ECONNREFUSED
	     The  attempt to connect was forcefully rejected. The calling pro-
	     gram should close(2) the socket  descriptor,  and	issue  another
	     socket(3SOCKET) call to obtain a new descriptor before attempting
	     another connect() call.

       EINPROGRESS
	     The socket	is non-blocking	and the	connection cannot be completed
	     immediately.  It  is possible to select(3C) for completion	by se-
	     lecting the socket	for writing.

       EINTR The connection attempt was	interrupted before any data arrived by
	     the delivery of a signal.

       EINVAL
	     namelen  is not the size of a valid address for the specified ad-
	     dress family.

       EIO   An	I/O error occurred while reading from or writing to  the  file
	     system.

       EISCONN
	     The socket	is already connected.

       ELOOP Too many symbolic links were encountered in translating the path-
	     name in name.

       ENETUNREACH
	     The network is not	reachable from this host.

       ENOENT
	     A component of the	path prefix of the pathname in name  does  not
	     exist.

       ENOENT
	     The socket	referred to by the pathname in name does not exist.

       ENOSR There  were  insufficient STREAMS resources available to complete
	     the operation.

       ENXIO The server	exited before the connection was complete.

       ETIMEDOUT
	     Connection	establishment timed out	without	establishing a connec-
	     tion.

       EWOULDBLOCK
	     The socket	is marked as non-blocking, and the requested operation
	     would block.

       The following errors are	specific to connecting names in	the  UNIX  do-
       main.   These  errors may not apply in future versions of the UNIX  IPC
       domain.

       ENOTDIR
	     A component of the	path prefix of the pathname in name is	not  a
	     directory.

       ENOTSOCK
	     s is not a	socket.

       ENOTSOCK
	     name is not a socket.

       EPROTOTYPE
	     The  file	referred  to  by name is a socket of a type other than
	     type s (for example, s is a SOCK_DGRAM socket, while name	refers
	     to	a SOCK_STREAM socket).

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Safe			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       close(2),     accept(3SOCKET),	  getsockname(3SOCKET),	   select(3C),
       socket(3SOCKET),	socket(3HEAD), attributes(5)

SunOS 5.9			  11 Jan 2002		      connect(3SOCKET)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=connect&sektion=3socket&manpath=SunOS+5.9>

home | help