Man page - socket_recv6(3)

Packages contains this manual

Manual

socket_recv6

NAME
SYNTAX
DESCRIPTION
RETURN VALUE
EXAMPLE
SEE ALSO

NAME

socket_recv6 - receive a UDP datagram

SYNTAX

#include <libowfat/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 <libowfat/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)