Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ connect(3N) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

accept(3N)

close(2)

connect(3N)

getsockname(3N)

socket(3N)






       connect(3N)                                              connect(3N)


       NAME
             connect - initiate a connection on a socket

       SYNOPSIS
             cc [options] file -lsocket -lnsl
             #include <sys/types.h>
             #include <sys/socket.h>
             int connect(int s, const struct sockaddr *name, size_t 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 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.

          Files
             /usr/lib/locale/locale/LC_MESSAGES/uxns1

          Return Values
             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            Either s is a descriptor for a file, not a
                                 socket, or the file referred to by name is
                                 not a socket.

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



                           Copyright 1994 Novell, Inc.               Page 1













      connect(3N)                                              connect(3N)


            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 the socket descriptor, and issue
                                another socket call to obtain a new
                                descriptor before attempting another
                                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 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.

            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).



                          Copyright 1994 Novell, Inc.               Page 2













       connect(3N)                                              connect(3N)


             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.

       REFERENCES
             accept(3N), close(2), connect(3N), getsockname(3N), socket(3N)

       NOTICES
             The type of address structure passed to connect depends on the
             address family.  UNIX domain sockets (address family AF_UNIX)
             require a socketaddr_un structure as defined in sys/un.h;
             Internet domain sockets (address family AF_INET) require a
             sockaddr_in structure 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.









                           Copyright 1994 Novell, Inc.               Page 3








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