sctp_sendmsg(3) — Linux manual page


SCTP_SENDMSG(3)         Linux Programmer's Manual        SCTP_SENDMSG(3)

NAME         top

       sctp_sendmsg - Send a message from a SCTP socket.

SYNOPSIS         top

       #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         top

       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.

              This flags requests the un-ordered delivery of the

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

              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

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

              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.

              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

              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         top

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

SEE ALSO         top

       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),

COLOPHON         top

       This page is part of the lksctp-tools (Linux kernel SCTP tools)
       project.  Information about the project can be found at [unknown
       -- if you know, please contact] If you have a
       bug report for this manual page, send it to
       This page was obtained from the project's upstream Git repository
       ⟨⟩ on 2023-06-23.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2023-04-04.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

Linux 2.6                      2004-10-25                SCTP_SENDMSG(3)

Pages that refer to this page: sctp_bindx(3)sctp_connectx(3)sctp_getladdrs(3)sctp_getpaddrs(3)sctp_opt_info(3)sctp_peeloff(3)sctp_recvmsg(3)sctp_recvv(3)sctp_send(3)sctp(7)