Provided by: libowfat-dev_0.30-2ubuntu1_amd64 bug

NAME

       socket_recv6 - receive a UDP datagram

SYNTAX

       #include <socket.h>

       ssize_t socket_recv6(int s, char* buf, size_t len,
               char ip[16], uint16* port, uint32* scope_id);

DESCRIPTION

       socket_recv6 receives up to len bytes starting at buf from a UDP datagram coming in on the
       socket s.  It writes the UDP port to port and the IP address to ip, and returns the number
       of bytes actually received (or -1 if anything went wrong).

       For  link-local addresses, scope_id will become the network interface number, which can be
       translated into the name of the interface ("eth0") with socket_getifname.

RETURN VALUE

       socket_recv6 returns the number of bytes in the datagram if one was received.  If not,  it
       returns -1 and sets errno appropriately.

EXAMPLE

         #include <socket.h>

         int s;
         char ip[16];
         uint16 p;
         char buf[1000];
         int len;
         uint32 scope_id;

         s = socket_tcp4();
         socket_bind6(s,ip,p);
         len = socket_recv6(s,buf,sizeof(buf),ip,&p,&scope_id);

SEE ALSO

       socket_recv4(3), socket_getifname(3)

                                                                                  socket_recv6(3)