Provided by: libsctp-dev_1.0.21+dfsg-1_amd64 bug

NAME

       sctp_peeloff - Branch off an association into a separate socket.

SYNOPSIS

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

       int sctp_peeloff(int sd, sctp_assoc_t assoc_id);
       int sctp_peeloff_flags(int sd, sctp_assoc_t assoc_id, unsigned flags);

DESCRIPTION

       sctp_peeloff  branches  off an existing association assoc_id on a one-to-many style socket
       sd into a separate socket. The new socket is a one-to-one style socket.

       This is particularly desirable when, for instance, the application wishes to have a number
       of  sporadic message senders/receivers remain under the original one-to-many style socket,
       but branch off those assocations carrying high volume data traffic into their own separate
       socket descriptors.

       sctp_peeloff_flags is a variant of sctp_peeloff, in which flags describing the behavior of
       the newly peeled off socket can be specified.  Currently the supported flags are:

       SOCK_NONBLOCK
              Specifies that the new socket should not block on io operations.

       SOCK_CLOEXEC
              Specifies that the new socket should be closed when the owning process calls exec.

RETURN VALUE

       On success,  the  new  socket  descriptor  representing  the  branched-off  asociation  is
       returned.  On error, -1 is returned, and errno is set appropriately.

ERRORS

       EBADF  sd is not a valid descriptor.

       EINVAL The assoc id passed is invalid or if the socket is a one-to-one style socket.

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

NOTES

       sctp_peeloff_flags  is a linux specific variant of sctp_peeloff.  While it will compile on
       other systems, its use  will  result  in  an  error  return.   Portable  code  should  use
       sctp_peeloff.

SEE ALSO

       sctp(7)  sctp_bindx(3),  sctp_connectx(3),  sctp_sendmsg(3),  sctp_sendv(3), sctp_send(3),
       sctp_recvmsg(3), sctp_recvv(3), sctp_getpaddrs(3), sctp_getladdrs(3), sctp_opt_info(3),