NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | NOTES | SEE ALSO | COLOPHON

SCTP_PEELOFF(3)           Linux Programmer's Manual          SCTP_PEELOFF(3)

NAME         top

       sctp_peeloff - Branch off an association into a separate socket.

SYNOPSIS         top

       #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         top

       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         top

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

ERRORS         top

       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         top

       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         top

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

COLOPHON         top

       This page is part of the lksctp-tools (Linux kernel SCTP tools)
       project.  Information about the project can be found at 
       ⟨http://lksctp.org/⟩.  If you have a bug report for this manual page,
       send it to sctp@vger.kernel.org.  This page was obtained from the
       project's upstream Git repository 
       ⟨git://github.com/sctp/lksctp-tools.git⟩ on 2017-09-15.  If you dis‐
       cover any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail
       to man-pages@man7.org

Linux 2.6                        2005-10-25                  SCTP_PEELOFF(3)

Pages that refer to this page: sctp_bindx(3)sctp_connectx(3)sctp_getladdrs(3)sctp_getpaddrs(3)sctp_opt_info(3)sctp_recvmsg(3)sctp_send(3)sctp_sendmsg(3)sctp(7)