*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> connect (2)              
Title
Content
Arch
Section
 

connect(2)

Contents


NAME    [Toc]    [Back]

       connect - Connect two sockets

SYNOPSIS    [Toc]    [Back]

       #include <sys/socket.h>

       int connect(
               int socket,
               const struct sockaddr *address,
               socklen_t address_len );

       [XNS4.0]  The  definition  of  the  connect()  function in
       XNS4.0 uses a size_t data type instead of a socklen_t data
       type as specified in XNS5.0 (the previous definition).

       [Tru64  UNIX]  The  following  definition of the connect()
       function does not conform to current standards and is supported
  only  for backward compatibility (see standards(5)
       ).  int connect(
               int socket,
               struct sockaddr *address,
               int address_len );

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       connect(): XNS4.0, XNS5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies a file descriptor for the socket.  Points  to  a
       sockaddr  structure,  the format of which is determined by
       the domain and by the behavior requested for  the  socket.
       The  sockaddr  structure  is an overlay for a sockaddr_in,
       sockaddr_un, sockaddr_in6, or sockaddr_storage  structure,
       depending  on  which  of the supported address families is
       active.

              [Tru64 UNIX]   If the  compile-time  option  _SOCKADDR_LEN
  is defined before the sys/socket.h header
              file is  included,  the  sockaddr  structure  takes
              4.4BSD  behavior,  with  a field for specifying the
              length  of  the  socket  address.  Otherwise,   the
              default 4.3BSD sockaddr structure is used, with the
              length of the socket address assumed to be 14 bytes
              or less.

              If  _SOCKADDR_LEN  is  defined, the 4.3BSD sockaddr
              structure  is  defined  with  the  name  osockaddr.
              Specifies  the  length  of  the  sockaddr structure
              pointed to by the address parameter.








DESCRIPTION    [Toc]    [Back]

       The connect() function requests a connection  between  two
       sockets.  The  kernel  sets  up  the  communications links
       between the  sockets;  both  sockets  must  use  the  same
       address format and protocol.

       The  connect()  function  performs  a different action for
       each of the following types of initiating sockets: If  the
       initiating  socket  is  SOCK_DGRAM, the connect() function
       establishes the peer address. The peer address  identifies
       the  socket  where  all  datagrams  are sent on subsequent
       send() functions. It also identifies the socket from where
       datagrams  can  be  received;  datagrams  from  other peer
       addresses are not delivered. If address is a null  address
       for the protocol, the socket's peer address is reset.

              No connections are made by this connect() function.
              If the initiating socket is SOCK_STREAM,  the  connect()
  function  attempts  to make a connection to
              the socket specified by the address parameter. Each
              communication  space interprets the address parameter
 differently.

       If the function fails for a connection mode socket, applications
  should use the close() function to deallocate the
       socket and descriptor.  If attempting  to  reinitiate  the
       connection, applications should create a new socket.

       If  the  connection cannot be established immediately, one
       of the following occurs: If the socket file descriptor  is
       marked non-blocking, the connect() function fails and sets
       errno to [EINPROGRESS].  However, the  connection  request
       is  not  aborted; the connection will be established asynchronously.
 If you make a call to connect() for  the  same
       socket  before the connection is established, the function
       fails and sets errno to [EALREADY].  If  the  socket  file
       descriptor  is  marked  blocking,  the  connect() function
       blocks for an unspecified amount of time until the connection
  is  established.  If  the  timeout  interval expires
       before the connection is established, the  function  fails
       and aborts the connection attempt.  While blocked, if connect()
 is interrupted by a signal, it fails and sets errno
       to   [EINTR].  However,  the  connection  request  is  not
       aborted; the connection is established asynchronously.

RETURN VALUES    [Toc]    [Back]

       Upon successful completion, the connect() function returns
       a  value of 0 (zero). Otherwise, a value of -1 is returned
       and errno is set to indicate the error.

ERRORS    [Toc]    [Back]

       If the connect() function fails, errno may be set  to  one
       of the following values: Search permission is denied for a
       component of the path prefix; or write access to the named
       socket is denied.

              [XNS4.0]  This  error  applies  to  AF_UNIX sockets
              only.  The specified address  is  already  in  use.
              The  specified  address  is  not available from the
              local machine.   The  addresses  in  the  specified
              address  family cannot be used with this socket.  A
              connection request is already in progress  for  the
              specified  socket.   The  socket  parameter  is not
              valid.  The attempt to connect was  rejected.   The
              remote  host  reset  the  connection  request.  The
              address parameter is not in a readable part of  the
              user  address  space.   The  specified  host is not
              reachable.  O_NONBLOCK is set for the file descriptor
  for  the  socket  and the connection cannot be
              immediately established;  the  connection  will  be
              established asynchronously.  The connect() function
              was interrupted by a signal while waiting  for  the
              connection to be established. The connection establishment
 may continue asynchronously.  The value of
              the address_len parameter is invalid for the specified
 address family; or the sa_family field in  the
              socket  address structure is invalid for the protocol.
  For an AF_UNIX socket, an I/O error  occurred
              while  reading  from or writing to the file system.
              The socket is already connected.   For  an  AF_UNIX
              socket, too many symbolic links were encountered in
              translating the pathname in address.   A  component
              of the pathname exceeded NAME_MAX characters, or an
              entire pathname exceeded PATH_MAX characters.   The
              local  network  connection  is not operational.  No
              route to the network or host is present.   Insufficient
 resources are available in the system to complete
 the call.  For an AF_UNIX socket, a component
              of  the  pathname does not name an existing file or
              the pathname is an  empty  string.   The  available
              STREAMS  resources were insufficient for the operation
 to complete.  For an AF_UNIX socket, a  component
  of the path prefix of the pathname in address
              is not a directory.  The socket parameter refers to
              a  file, not a socket.  The socket is listening and
              cannot be connected.  The specified address  has  a
              different  type than the socket bound to the specified
 peer address.  The establishment of a  connection
  timed  out  before  a  connection  was  made.
              [Tru64 UNIX]  The socket is marked nonblocking,  so
              the  connection  cannot  be  immediately completed.
              The application program can select the  socket  for
              writing during the connection process.

SEE ALSO    [Toc]    [Back]

      
      
       Functions:  accept(2), bind(2), socket(2), getsockname(2),
       select(2), send(2).

       Standards: standards(5).

       Network Programmer's Guide



                                                       connect(2)
[ Back ]
 Similar pages
Name OS Title
setsockopt FreeBSD get and set options on sockets
setsockopt NetBSD get and set options on sockets
setsockopt HP-UX get and set options on sockets
getsockopt NetBSD get and set options on sockets
getsockopt IRIX get and set options on sockets
setsockopt OpenBSD get and set options on sockets
getsockopt FreeBSD get and set options on sockets
getsockopt HP-UX get and set options on sockets
getsockopt IRIX get and set options on sockets
getsockopt Linux get and set options on sockets
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service