diff options
Diffstat (limited to 'man/socket_recv.3')
-rw-r--r-- | man/socket_recv.3 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/man/socket_recv.3 b/man/socket_recv.3 new file mode 100644 index 0000000..bebef08 --- /dev/null +++ b/man/socket_recv.3 @@ -0,0 +1,56 @@ +.TH qlibs: socket_recv 3 +.SH NAME +socket_recv \- receive UDP datagrams over IPv4/IPv6 connections +.SH SYNTAX +.B #include \(dqsocket_if.h\(dq + +int \fBsocket_recv\fP(int \fIs\fR, const char *\fIbuf\fR, unsigned int \fIlen\fR, + const char \fIip\fR[16], uint16 *\fIport\fR, uint32 *\fIscope_id\fR); +.SH DESCRIPTION +.B socket_recv +reads \fIlen\fR bytes starting at \fIbuf\fR in a UDP datagram +over the socket \fIs\fR while providing information about the +remote IP address \fIip\fR and the UDP \fIport\fR and +the perhaps \fIscope_id\fR of the receiving interface. + +You can call +.B socket_recv +without calling +.BR socket_bind . +This has the effect as first calling +.B socket_bind +with IP address :: and port 0. +.SH RETURN VALUE +.B socket_recv +returns +.IR 0 , +otherwise +.I -1 +and sets +.I errno +appropriately. +.SH EXAMPLE + #include <socket_if.h> + #include <ip.h> + + int \fIs\fR; + char \fIlocalip\fR[16]; + char \fIremoteip\fR[16]; + uint16 \fIp\fR, \fIport\fR; + uint32 \fIscope_id\fR; + unsigned int \fIlen\fR; + int \fIr\fR; + char buf[MTUSIZE+1]; + + s = socket_udp(); + socket_bind_reuse(s,localip,p,0); + r = socket_recv(s,buf,len,remoteip,&port,&scope_id); +.SH SEE ALSO +socket_if(3), +socket_info(3), +socket_bind(3), +socket_connect(3) +socket_send(3), +socket_setup(3), +socket_tcp(3), +socket_udp(3) |