разветвите ассоциацию в отдельный сокет (Branch off an association into a separate socket.)
Имя (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.
Ошибки (Error)
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.
Примечание (Note)
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),