SCTP_RECVV
Section: Programmer's (3)
Updated: 2018-04-29
Index
Return to Main Contents
NAME
sctp_recvv - Receive a message from a SCTP socket with an extensible way.
SYNOPSIS
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/sctp.h>
int sctp_recvv(int sd, const struct iovec * iov, int iovlen,
struct sockaddr * from, socklen_t * fromlen, void * info,
socklen_t * infolen, unsigned int * infotype, int * flags);
DESCRIPTION
sctp_recvv
provides 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).
RETURN VALUE
On success,
sctp_recvv
returns the number of bytes received or -1 if an error occurred.
SEE ALSO
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)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 16:21:00 GMT, May 03, 2024