Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ connect(3N) — Amiga System V Release 4 Version 2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

accept(3N)

connect(3N)

getsockname(3N)

socket(3N)



connect(3N)             NETWORK FUNCTIONS             connect(3N)



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  SOCKDGRAM,
     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 SOCKSTREAM, connect()
     attempts to make a connection to another socket.  The  other
     socket is specified by name.  name is an address in the com-
     munications 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
     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.

     EINVAL              namelen is  not  the  size  of  a  valid
                         address  for  the specified address fam-
                         ily.

     EADDRNOTAVAIL       The specified address is  not  available
                         on the remote machine.

     EAFNOSUPPORT        Addresses in the specified address  fam-
                         ily cannot be used with this socket.



                          Last change:                          1





connect(3N)             NETWORK FUNCTIONS             connect(3N)



     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 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  con-
                         nection cannot be completed immediately.
                         It is possible to select(3N) for comple-
                         tion  by  selecting the socket for writ-
                         ing.  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  previ-
                         ous  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 exam-
                         ple, s is  a  SOCKDGRAM  socket,  while
                         name refers to a SOCKSTREAM 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



                          Last change:                          2





connect(3N)             NETWORK FUNCTIONS             connect(3N)



                         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  com-
                         ponent  of  the path prefix of the path-
                         name 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.

SEE ALSO
     accept(3N), connect(3N), getsockname(3N), socket(3N).



































                          Last change:                          3



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