cc [ flag... ] file... –lsocket –lnsl –lsctp [ library... ] #include <sys/types.h> #include <sys/socket.h> #include <netinet/sctp.h> ssize_t sctp_send(int s, const void *msg, size_t *len, const struct sctp_sndrcvinfo *sinfo, int flags);
The sctp_send() function sends messages from one-to-one and one-to-many style SCTP endpoints. The following parameters can be set:
Socket created by socket(3SOCKET)
Message to be sent
Size of the message to be sent in bytes
The caller completes the sinfo parameter with values used to send a message. Such values might include the stream number, payload protocol identifier, time to live, and the SCTP message flag and context. For a one-to-many socket, the association ID can be specified in the sinfo parameter to send a message to the association represented in the ID.
Flags supported for sctp_send() are reserved for future use.
Upon successful completion, the sctp_send() function returns the number of bytes sent. The function returns -1 if an error occurs.
The sctp_send() function fails under the following conditions.
The s argument is an invalid file descriptor.
The s argument is not a socket.
MSG_ABORT or MSG_EOF is set in the sinfo_flags field of sinfo for a one-to-one style SCTP socket.
The socket is shutting down and no more writes are allowed.
The socket is non-blocking and the transmit queue is full.
There is no established association.
Control message length is incorrect.
Specified destination address does not belong to the association.
The stream_no is outside the number of outbound streams supported by the association.
Address family of the specified destination address is other than AF_INET or AF_INET6.
See attributes(5) for descriptions of the following attributes: