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);

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.

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.

See Also

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),

Referenced By

sctp(7), 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).

2005-10-25 Linux 2.6 Linux Programmer's Manual