oracular (3) sctp_sendmsg.3.gz

Provided by: libsctp-dev_1.0.20+dfsg-1_amd64 bug

NAME

       sctp_sendmsg - Send a message from a SCTP socket.

SYNOPSIS

       #include <sys/types.h>
       #include <sys/socket.h>
       #include <netinet/sctp.h>

       int sctp_sendmsg(int sd, const void * msg, size_t len,
                        struct sockaddr *to, socklen_t tolen,
                        uint32_t ppid, uint32_t flags,
                        uint16_t stream_no, uint32_t timetolive,
                        uint32_t context);

DESCRIPTION

       sctp_sendmsg  is  a wrapper library function that can be used to send a message from a socket while using
       the advanced features of SCTP.  sd is the socket descriptor from which the message pointed to by  msg  of
       length  len  is  sent.   to  is  the  destination  address  of the message and tolen is the length of the
       destination address.  stream_no identifies the stream number that the application  wishes  to  send  this
       message to.  flags parameter is composed of a bitwise OR of the following values.

       SCTP_UNORDERED
              This flags requests the un-ordered delivery of the message.

       SCTP_ADDR_OVER
              This  flag,  in the one-to-many style, requests the SCTP stack to override the primary destination
              address with address specified in to.

       SCTP_ABORT
              Setting this flag causes the specified association to abort by sending an  ABORT  message  to  the
              peer(one-to-many  style  only). The ABORT chunk will contain an error cause 'User Initiated Abort'
              with cause code 12. The cause specific information of this error cause is provided in msg.

       SCTP_EOF
              Setting this flag invokes the SCTP graceful shutdown procedure on the specific association(one-to-
              many style only).

       SCTP_SENDALL
              This  flag,  if set, will cause a one-to-many style socket to send the message to all associations
              that are currently established on this socket. For the one-to-one style socket, this flag  has  no
              effect.

       SCTP_SACK_IMMEDIATELY
              This  flag  allows  the application to set the I bit of the last DATA chunk when sending each user
              message to make sure the corresponding SACK can be sent by peer without delay.

       SCTP_PR_SCTP_{TTL|RTX|PRIO}
              One of these 3 pr_policies can be used through this flag  with  its  pr_value  set  in  timetolive
              parameter for this message. Note that sctp_sendv(3) with infotype SCTP_SENDV_PRINFO also works for
              PR-SCTP.

       timetolive specifies the time duration in milliseconds. The sending side will expire the message  if  the
       message  has  not  been sent to the peer within this time period.  A value of 0 indicates that no timeout
       should occur on this message. It also works as the pr_value if flags parameter is set to pr_policy.  ppid
       is an opaque unsigned value that is passed to the remote end along with the message.  context is a 32 bit
       opaque value that is passed back to the upper layer along with the undelivered message if an error occurs
       on the send of the message.

RETURN VALUE

       On success, sctp_sendmsg returns the number of bytes sent or -1 if an error occurred.

SEE ALSO

       sctp(7)  sctp_bindx(3),  sctp_connectx(3),  sctp_sendv(3),  sctp_send(3), sctp_recvmsg(3), sctp_recvv(3),
       sctp_peeloff(3), sctp_getpaddrs(3), sctp_getladdrs(3), sctp_opt_info(3),