NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |SEE ALSO |COLOPHON | |
SCTP_RECVV(3) LinuxSCTP_RECVV(3)sctp_recvv - Receive a message from a SCTP socket with an extensible way.
#include <sys/types.h>#include <sys/socket.h>#include <netinet/sctp.h>int sctp_recvv(intsd, const struct iovec *iov, intiovlen,struct sockaddr *from, socklen_t *fromlen, void *info,socklen_t *infolen, unsigned int *infotype, int *flags);
sctp_recvvprovides an extensible way for the SCTP stack to pass up different SCTP attributes associated with a received message to an application. There are two types of attributes that can be returned by this call: the attribute of the received message and the attribute of the next message in the receive buffer. The caller enables the SCTP_RECVRCVINFO and SCTP_RECVNXTINFO socket options, respectively, to receive these attributes. Attributes of the received message are returned in struct sctp_rcvinfo, and attributes of the next message are returned in struct sctp_nxtinfo. If both options are enabled, both attributes are returned using the following structure. struct sctp_recvv_rn { struct sctp_rcvinfo recvv_rcvinfo; struct sctp_nxtinfo recvv_nxtinfo; };sd is the socket descriptor.iov is the scatter buffer, and only one user message is returned in this buffer.iovlen is the number of elements in iov.from is a pointer to a buffer to be filled with the sender of the received message's address.fromlen is an in/out parameter describing the from length.info is a pointer to the buffer to hold the attributes of the received message, the structure type of info is determined by the info_type parameter.infolen is an in/out parameter describing the size of the info buffer. On return,infotype is set to the type of the info buffer, and the current defined values are as follows:SCTP_RECVV_NOINFO If neither SCTP_RECVRCVINFO nor SCTP_RECVNXTINFO options are enabled, no attribute will be returned. If only the SCTP_RECVNXTINFO option is enabled but there is no next message in the buffer, no attribute will be returned. In these cases, *info_type will be set to SCTP_RECVV_NOINFO.SCTP_RECVV_RCVINFO The type of info is struct sctp_rcvinfo, and the attribute relates to the received message.SCTP_RECVV_NXTINFO The type of info is struct sctp_nxtinfo, and the attribute relates to the next message in the receive buffer. This is the case when only the SCTP_RECVNXTINFO option is enabled and there is a next message in the buffer.SCTP_RECVV_RN The type of info is struct sctp_recvv_rn. The recvv_rcvinfo field is the attribute of the received message, and the recvv_nxtinfo field is the attribute of the next message in the buffer. This is the case when both SCTP_RECVRCVINFO and SCTP_RECVNXTINFO options are enabled and there is a next message in the receive buffer.flags is pointer to an integer to be filled with any message flags (e.g., MSG_NOTIFICATION).On success,sctp_recvvreturns the number of bytes received or -1 if an error occurred.
sctp(7)sctp_bindx(3),sctp_connectx(3),sctp_sendmsg(3),sctp_sendv(3),sctp_send(3),sctp_peeloff(3),sctp_getpaddrs(3),sctp_getladdrs(3),sctp_opt_info(3)
This page is part of thelksctp-tools (Linux kernel SCTP tools) project. Information about the project can be found at [unknown -- if you know, please contact man-pages@man7.org] If you have a bug report for this manual page, send it to sctp@vger.kernel.org. This page was obtained from the project's upstream Git repository ⟨https://github.com/sctp/lksctp-tools.git⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2024-09-26.) 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 isnot part of the original manual page), send a mail to man-pages@man7.orgLinux 4.16 2018-04-29SCTP_RECVV(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_send(3), sctp_sendmsg(3), sctp_sendv(3), sctp(7)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |