sctp_sendmsg - send message from an SCTP socket
cc [ flag... ] file... -lsocket -lnsl -lsctp [ library... ]
ssize_t sctp_sendmsg(int s, const void *msg, size_t len,
const struct sockaddr *to, socklen_t tolen, uint32_t ppid,
uint32_t flags, uint16_t stream_no, uint32_t timetolive,
The sctp_sendmsg() function sends a message from the SCTP endpoint
In addition to specifying msg as the message buffer and
len as the length of the buffer, the following parameters can be
Length of the destination address
Application-specified payload protocol identifier
Target stream for the message
Time period in milliseconds after which the message
expires if transmission for the message has not been started. A value of
0 indicates that the message does not expire. When the
MSG_PR_SCTP flag is set the message expires, even if transmission has
started, unless the entire message is transmitted within the timetolive
Value returned when an error occurs in sending a
The flags parameter is formed from the bitwise OR of zero
or more of the following flags:
This flag requests un-ordered delivery of the message. If
this flag is clear the message is considered an ordered send.
When set, this flag causes the specified association to
abort by sending an ABORT to the peer. The flag is used only for one-to-many
style SCTP socket associations.
When set, this flag invokes a graceful shutdown on a
specified association. The flag is used only for one-to-many style SCTP socket
This flag indicates that the message is treated as
partially reliable. The message expires unless the entire message is
successfully transmitted within the time period specified in the
MSG_PR_SCTP implements timed reliability service for
SCTP messages. As yet, no common standard has been defined for the service
and the interface is considered unstable.
The initial call to sctp_sendmsg() can be used to create an
association, but it cannot be used subsequently on an existing association.
Since sctp_sendmsg() always uses 0 internally as the association ID,
it is not suitable for use on one-to-many sockets.
Upon successful completion, the sctp_sendmsg() function returns the
number of bytes sent. The function returns -1 if an error occurs.
The sctp_sendmsg() function will fail if:
The s argument is an invalid file
The s argument is not a socket.
MSG_OOB is set as a flag.
MSG_ABORT or MSG_EOF is set on a one-to-one
style SCTP socket.
The socket is shutting down and no more writes are
The socket is non-blocking and the transmit queue is
There is no established association.
Control message length is incorrect.
Specified destination address does not belong to the
Address family of the specified destination address is
other than AF_INET or AF_INET6.
See attributes(7) for descriptions of the following attributes:
in.h(3HEAD), socket.h(3HEAD), libsctp(3LIB),
accept(3SOCKET), bind(3SOCKET), connect(3SOCKET),
listen(3SOCKET), sendmsg(3SOCKET), sockaddr(3SOCKET),
socket(3SOCKET), sctp(4P), attributes(7)