Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Apropos / Subsearch:
optional field

CONNECT(2)                    System Calls Manual                   CONNECT(2)

       connect - initiate a connection on a socket

       #include <&lt;sys/types.h>&gt;
       #include <&lt;sys/socket.h>&gt;
       int connect(s, name, namelen)
       int s;
       struct sockaddr *name;
       int namelen;

       The  parameter  s  is a socket.  If it is of type SOCK_DGRAM, then 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 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 communica-
       tions  space  of  the socket.  Each communications space interprets the
       name parameter in its own way.  Generally, stream sockets may  success-
       fully  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

       connect() returns:

       0      on success.

       -1     on failure and sets errno to indicate the error.

       The call fails if:

       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  connec-
                           tion attempt has not yet been completed.

       EBADF               s is not a valid descriptor.

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

       EFAULT              The  name  parameter  specifies an area outside the
                           process address space.

       EINPROGRESS         The socket is non-blocking and the connection  can-
                           not  be  completed  immediately.  It is possible to
                           select(2) for completion by  selecting  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 address family.

       EISCONN             The socket is already connected.

       ENETUNREACH         The network is not reachable from this host.

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

       ETIMEDOUT           Connection  establishment  timed out without estab-
                           lishing a connection.

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

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

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

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

       ENAMETOOLONG        The length of the path argument exceeds {PATH_MAX}.

                           A pathname component is longer than {NAME_MAX} (see
                           sysconf(2V)) while {_POSIX_NO_TRUNC} is  in  effect
                           (see pathconf(2V)).

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

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

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

       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  the type of s (e.g., s is a SOCK_DGRAM
                           socket, while name refers to a SOCK_STREAM socket).

       accept(2), close(2V), connect(2), getsockname(2), select(2), socket(2)

                                21 January 1990                     CONNECT(2)