Sockets Library Functions sctpsendmsg(3SOCKET)
NAME
sctpsendmsg - send message from an SCTP socket
SYNOPSIS
cc [ flag... ] file... -lsocket -lnsl -lsctp [ library... ]
#include
#include
#include
ssizet sctpsendmsg(int s, const void *msg, sizet len,
const struct sockaddr *to, socklent tolen, uint32t ppid,
uint32t flags, uint16t streamno, uint32t timetolive,
uint32t context);
DESCRIPTION
The sctpsendmsg() function sends a message from the SCTP
endpoint s.
In addition to specifying msg as the message buffer and len
as the length of the buffer, the following parameters can be
set:
to Destination address
tolen Length of the destination address
ppid Application-specified payload protocol iden-
tifier
streamno Target stream for the message
timetolive Time period in milliseconds after which the
message expires if transmission for the mes-
sage has not been started. A value of 0 indi-
cates that the message does not expire. When
the MSGPRSCTP flag is set the message
expires, even if transmission has started,
unless the entire message is transmitted
within the timetolive period.
context Value returned when an error occurs in sending
a message
SunOS 5.11 Last change: 22 Aug 2007 1
Sockets Library Functions sctpsendmsg(3SOCKET)
The flags parameter is formed from the bitwise OR of zero or
more of the following flags:
MSGUNORDERED This flag requests un-ordered delivery of
the message. If this flag is clear the mes-
sage is considered an ordered send.
MSGABORT 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.
MSGEOF When set, this flag invokes a graceful
shutdown on a specified association. The
flag is used only for one-to-many style
SCTP socket associations.
MSGPRSCTP This flag indicates that the message is
treated as partially reliable. The message
expires unless the entire message is suc-
cessfully transmitted within the time
period specified in the timetolive parame-
ter.
MSGPRSCTP implements timed reliability
service for SCTP messages. As yet, no com-
mon standard has been defined for the ser-
vice and the interface is considered
unstable.
The initial call to sctpsendmsg() can be used to create an
association, but it cannot be used subsequently on an exist-
ing association. Since sctpsendmsg() always uses 0 inter-
nally as the association ID, it is not suitable for use on
one-to-many sockets.
RETURN VALUES
Upon successful completion, the sctpsendmsg() function
returns the number of bytes sent. The function returns -1 if
an error occurs.
ERORS
The sctpsendmsg() function will fail if:
EBADF The s argument is an invalid file descrip-
tor.
SunOS 5.11 Last change: 22 Aug 2007 2
Sockets Library Functions sctpsendmsg(3SOCKET)
ENOTSOCK The s argument is not a socket.
EOPNOTSUP MSGOB is set as a flag.
EOPNOTSUP MSGABORT or MSGEOF is set on a one-to-one
style SCTP socket.
EPIPE The socket is shutting down and no more
writes are allowed.
EAGAIN The socket is non-blocking and the transmit
queue is full.
ENOTCON There is no established association.
EINVAL Control message length is incorrect.
EINVAL Specified destination address does not
belong to the association.
EAFNOSUPORT Address family of the specified destination
address is other than AFINET or AFINET6.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level Safe
SEE ALSO
accept(3SOCKET), bind(3SOCKET), connect(3SOCKET),
in.h(3HEAD), libsctp(3LIB), listen(3SOCKET),
sendmsg(3SOCKET), socket(3SOCKET), socket.h(3HEAD), attri-
butes(5), sctp(7P)
SunOS 5.11 Last change: 22 Aug 2007 3
|