socket_send6 - Man Page

send a UDP datagram

Syntax

#include <socket.h>

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

Description

socket_send6 sends len bytes starting at buf in a UDP datagram over the socket s to UDP port port on IP address ip.

You can call socket_send6 without calling socket_bind6.  This has the effect as first calling socket_bind6 with IP address :: and port 0.

The meaning of scope_id is dependent on the implementation and IPv6 IP.  On link-local IPv6 addresses it specifies the outgoing interface index.  The name (e.g. "eth0") for a given interface index can be queried with getifname.  scope_id should normally be set to 0.

Return Value

socket_send6 returns 0 if the datagram was sent successfully.  If not, it returns -1 and sets errno appropriately.

Example

 #include <socket.h>

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

 s = socket_tcp4();
 socket_bind6(s,ip,p);
 socket_send6(s,"hello, world",12,ip,p,scope_id);

See Also

socket_send4(3), socket_getifidx(3)

Referenced By

socket_broadcast(3), socket_send4(3).