Man page - sctp_peeloff(3)

Packages contains this manual

Manual

SCTP_PEELOFF

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
NOTES
SEE ALSO

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