Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ connect(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

select(3C)

accept(3N)

getsockname(3N)

socket(3N)

connect(3N)                                                     connect(3N)

NAME
     connect - initiate a connection on a socket

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

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

DESCRIPTION
     The parameter s indicates a socket. If it is a socket of type
     SOCKDGRAM, the function specifies the address of the communication
     partner 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 expli-
     citly designated; it is the only address from which datagrams are to
     be received. If the socket s is of type SOCKSTREAM, connect()
     attempts to make a connection to another socket. name is one of the
     addresses in the address family of the socket. Each address family
     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
     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.

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






Page 1                       Reliant UNIX 5.44                Printed 11/98

connect(3N)                                                     connect(3N)

     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 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. select(3C) can be used to query
                    an incoming write event for this socket; in this way it
                    is possible to find out when a connection has been set
                    up. 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 nor-
                    mally be the case.

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

     EINTR          The connection attempt was interrupted by the delivery
                    of a signal.

     EPROTOTYPE     The protocol has the wrong type for the socket name.

     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                       Reliant UNIX 5.44                Printed 11/98

connect(3N)                                                     connect(3N)

SEE ALSO
     select(3C), accept(3N), getsockname(3N), socket(3N).




















































Page 3                       Reliant UNIX 5.44                Printed 11/98

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