Provided by: libsctp-dev_1.0.8.dfsg-2_i386 bug

NAME

       sctp_connectx  - initiate a connection on an SCTP socket using multiple
       destination addresses.

SYNOPSIS

       #include <sys/types.h>
       #include <sys/socket.h>
       #include <netinet/sctp.h>

       int sctp_connectx(int sd, struct sockaddr * addrs, int addrcnt);

DESCRIPTION

       sctp_connectx initiates a connection to a set of  addresses  passed  in
       the  array  addrs  to/from  the  socket  sd.   addrcnt is the number of
       addresses in the array.

       If sd is an IPv4 socket, the addresses passed must be  IPv4  addresses.
       If  sd  is  an  IPv6 socket, the addresses passed can be either IPv4 or
       IPv6 addresses.

       addrs is a pointer to an array of one or more  socket  addresses.  Each
       address   is   contained   in  its  appropriate  structure(i.e.  struct
       sockaddr_in or struct sockaddr_in6). The family  of  the  address  type
       must  be  used  to distinguish the address length. The caller specifies
       the number of addresses in the array with addrcnt.

RETURN VALUE

       On success, 0 is returned. On failure, -1 is returned, and errno is set
       appropriately.

ERRORS

       EBADF  sd is not a valid descriptor.

       ENOTSOCK
              sd is a descriptor for a file, not a socket.

       EFAULT Error while copying in or out from the user address space.

       EINVAL Invalid port or address.

       EACCES The address is protected, and the user is not the super-user.

       EISCONN
              The socket is already connected.

       ECONNREFUSED
              No one listening on the remote address.

       ETIMEDOUT
              Timeout  while attempting connection. The server may be too busy
              to accept new connections. Note that for IP sockets the  timeout
              may be very long when syncookies are enabled on the server.

       ENETUNREACH
              Network is unreachable.

       EADDRINUSE
              Local address is already in use.

       EINPROGRESS
              The   socket  is  non-blocking  and  the  connection  cannot  be
              completed immediately.  It is possible to select(2)  or  poll(2)
              for completion by selecting the socket for writing. After select
              indicates writability, use getsockopt(2) to  read  the  SO_ERROR
              option   at   level  SOL_SOCKET  to  determine  whether  connect
              completed successfully  (SO_ERROR  is  zero)  or  unsuccessfully
              (SO_ERROR   is  one  of  the  usual  error  codes  listed  here,
              explaining the reason for the failure).

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

       EAGAIN No  more free local ports or insufficient entries in the routing
              cache. For PF_INET see the  net.ipv4.ip_local_port_range  sysctl
              in ip(7) on how to increase the number of local ports.

       EAFNOSUPPORT
              The passed address didn’t have the correct address family in its
              sa_family field.

       EACCES, EPERM
              The user tried to connect to a broadcast address without  having
              the  socket  broadcast  flag  enabled  or the connection request
              failed because of a local firewall rule.

SEE ALSO

       sctp(7) sctp_bindx(3), sctp_sendmsg(3), sctp_send(3),  sctp_recvmsg(3),
       sctp_peeloff(3),          sctp_getpaddrs(3),         sctp_getladdrs(3),
       sctp_opt_info(3),