Current File : //usr/man/man3socket/sctp_recvmsg.3socket
'\" te
.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
.TH sctp_recvmsg 3SOCKET "14 Jul 2004" "SunOS 5.11" "Sockets Library Functions"
.SH NAME
sctp_recvmsg \- receive message from an SCTP socket
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lsocket\fR \fB -lnsl \fR \fB -lsctp \fR [ \fIlibrary\fR... ]
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/sctp.h>

\fBssize_t\fR \fBsctp_recvmsg\fR(\fBint\fR \fIs\fR, \fBvoid *\fR\fImsg\fR, \fBsize_t\fR \fIlen\fR, \fBstruct sockaddr *\fR\fIfrom\fR,
     \fBsocklen_t *\fR\fIfromlen\fR, \fBstruct sctp_sndrcvinfo *\fR\fIsinfo\fR, \fBint *\fR\fImsg_flags\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBsctp_recvmsg()\fR function receives a message from the SCTP endpoint \fIs\fR.
.sp
.LP
In addition to specifying the message buffer \fImsg\fR and the length \fIlen\fR of the buffer, the following parameters can be set:
.sp
.ne 2
.mk
.na
\fB\fIfrom\fR\fR
.ad
.RS 13n
.rt  
Pointer to an address, filled in with the sender's address
.RE

.sp
.ne 2
.mk
.na
\fB\fIfromlen\fR\fR
.ad
.RS 13n
.rt  
Size of the buffer associated with the \fIfrom\fR parameter
.RE

.sp
.ne 2
.mk
.na
\fB\fIsinfo\fR\fR
.ad
.RS 13n
.rt  
Pointer to an \fBsctp_sndrcvinfo\fR structure, filled in upon the receipt of the message
.RE

.sp
.ne 2
.mk
.na
\fB\fImsg_flags\fR\fR
.ad
.RS 13n
.rt  
Message flags such as \fBMSG_CTRUNC\fR, \fBMSG_NOTIFICATION\fR, \fBMSG_EOR\fR
.RE

.sp
.LP
The \fIsinfo\fR parameter is filled in only when the caller has enabled \fBsctp_data_io_events\fR by calling \fBsetsockopt()\fR with the socket option \fBSCTP_EVENTS\fR.
.SH RETURN VALUES
.sp
.LP
Upon successful completion, the \fBsctp_recvmsg()\fR function returns the number of bytes received. The function returns \fB-1\fR if an error occurs.
.SH ERRORS
.sp
.LP
The \fBsctp_recvmsg()\fR function fails under the following conditions.
.sp
.ne 2
.mk
.na
\fB\fBEBADF\fR\fR
.ad
.RS 14n
.rt  
The \fIs\fR argument is an invalid file descriptor.
.RE

.sp
.ne 2
.mk
.na
\fB\fBENOTSOCK\fR\fR
.ad
.RS 14n
.rt  
The \fIs\fR argument is not a socket.
.RE

.sp
.ne 2
.mk
.na
\fB\fBEOPNOTSUPP\fR\fR
.ad
.RS 14n
.rt  
\fBMSG_OOB\fR is set as a flag.
.RE

.sp
.ne 2
.mk
.na
\fB\fBENOTCONN\fR\fR
.ad
.RS 14n
.rt  
There is no established association.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp

.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i) 
lw(2.75i) |lw(2.75i) 
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
Interface StabilityCommitted
_
MT-LevelSafe
.TE

.SH SEE ALSO
.sp
.LP
\fBaccept\fR(3SOCKET), \fBbind\fR(3SOCKET), \fBconnect\fR(3SOCKET), \fBin.h\fR(3HEAD), \fBlibsctp\fR(3LIB), \fBlisten\fR(3SOCKET), \fBrecvmsg\fR(3SOCKET), \fBsctp_opt_info\fR(3SOCKET), \fBsetsockopt\fR(3SOCKET), \fBsocket\fR(3SOCKET), \fBsocket.h\fR(3HEAD), \fBsctp\fR(7P)