socket_send6 man page

socket_send6 — 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).