sctp_peeloff - Branch off an association into a separate socket.
Contents
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.
Errors
EBADFsd 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.
Name
sctp_peeloff - Branch off an association into a separate 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.
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.
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), Linux 2.6 2005-10-25 SCTP_PEELOFF(3)
Synopsis
#include<sys/types.h>#include<sys/socket.h>#include<netinet/sctp.h>intsctp_peeloff(intsd,sctp_assoc_tassoc_id);intsctp_peeloff_flags(intsd,sctp_assoc_tassoc_id,unsignedflags);
