Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ connect(2) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

accept(2)

select(2)

socket(2)



     CONNECT(2)                                             CONNECT(2)



     NAME
          connect - initiate a connection on a socket

     SYNOPSIS
          #include <sys/types.h>
          #include <sys/socket.h>

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

     DESCRIPTION
          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 the socket 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 communications space of the socket.  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.

     RETURN VALUE
          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
          The call fails if:

          [EBADF]             S is not a valid descriptor.

          [ENOTSOCK]          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.




     Page 1                                        (last mod. 8/20/87)





     CONNECT(2)                                             CONNECT(2)



          [ECONNREFUSED]      The attempt to connect was forcefully
                              rejected.

          [ENETUNREACH]       The network isn't reachable from this
                              host.

          [EADDRINUSE]        The address is already in use.

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

          [EINPROGRESS]       The socket is non-blocking and the
                              connection cannot be completed
                              immediately.  It is possible to
                              select(2) for completion by selecting
                              the socket for writing.

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

          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 is not a
                         directory.

          [EINVAL]       The pathname contains a character with the
                         high-order bit set.

          [ENAMETOOLONG] A component of a pathname exceeded 255
                         characters, or an entire path name exceeded
                         1023 characters.

          [ENOENT]       The named socket does not exist.

          [EACCES]       Search permission is denied for a component
                         of the path prefix.

          [EACCES]       Write access to the named socket is denied.

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

     SEE ALSO
          accept(2), select(2), socket(2)

     NOTE
          The primitives documented on this manual page are system
          calls, but unlike most system calls they are not resolved by
          libc.  To compile and link a program that makes these calls,



     Page 2                                        (last mod. 8/20/87)





     CONNECT(2)                                             CONNECT(2)



          follow the procedures for section (3B) routines as described
          in intro(3).

     ORIGIN
          4.3 BSD


















































     Page 3                                        (last mod. 8/20/87)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026