*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> connect (3n)              
Title
Content
Arch
Section
 

Contents


connect(3N)							   connect(3N)


NAME    [Toc]    [Back]

     connect - initiate	a connection on	a socket

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>

     connect(int s, caddr_t name, int namelen);

DESCRIPTION    [Toc]    [Back]

     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
     address 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 communications space	of the
     socket.  Each communications space	interprets the name parameter in its
     own way.  If s is not bound, then it will be bound	to an address selected
     by	the underlying transport provider.  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 a null address.

RETURN VALUE    [Toc]    [Back]

     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    [Toc]    [Back]

     The call fails if:

     EBADF		 s is not a valid descriptor.

     ENOTSOCK		 s is a	descriptor for a file, not a socket.

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

     EADDRNOTAVAIL	 The specified address is not available	on the remote
			 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.  The
			 calling program should	close(2) the socket
			 descriptor, and issue another socket(3N) call to
			 obtain	a new descriptor before	attempting another



									Page 1






connect(3N)							   connect(3N)



			 connect() call.

     ENETUNREACH	 The network is	not reachable from this	host.

     EADDRINUSE		 The address is	already	in use.

     EINPROGRESS	 The socket is non-blocking and	the connection cannot
			 be completed immediately.  It is possible to
			 select(3N) for	completion by selecting	the socket for
			 writing.  However, this is only possible if the
			 socket	STREAMS	module is the topmost module on	the
			 protocol stack	with a write service procedure.	 This
			 will be the normal case.

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

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

     ENOTSOCK		 The file referred to by 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).

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

     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		 A component of	the path prefix	of the pathname	in
			 name is not a directory.

     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.

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

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

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






									Page 2






connect(3N)							   connect(3N)


SEE ALSO    [Toc]    [Back]

      
      
     accept(3N), connect(3N), getsockname(3N), socket(3N)

NOTES    [Toc]    [Back]

     The type of address structure passed to connect() depends on the address
     family.  UNIX domain sockets (address family AF_UNIX) require a struct
     socketaddr_un as defined in sys/un.h; Internet domain sockets (address
     family AF_INET) require a struct sockaddr_in as defined in	netinet/in.h.
     Other address families may	require	other structures.  Use the structure
     appropriate to the	address	family;	cast the structure address to a
     generic caddr_t in	the call to connect() and pass the size	of the
     structure in the length argument.


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
accept IRIX accept a connection on a socket
accept FreeBSD accept a connection on a socket
accept OpenBSD accept a connection on a socket
accept Linux accept a connection on a socket
accept NetBSD accept a connection on a socket
accept HP-UX accept a connection on a socket
accept Tru64 Accept a new connection on a socket
accept IRIX accept a connection on a socket
mac_get_fd FreeBSD get the label of a file, socket, socket peer or process
mac_get_file FreeBSD get the label of a file, socket, socket peer or process
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service