SYNTAX

       #include "socket_if.h"

       int socket_send4(int s,const char* buf,unsigned int len,
                            const char ip[4],uint16 port);
       int socket_send6(int s,const char* buf,unsigned int len,
                            const char ip[16],uint16 port,uint32 scope_id);
       int socket_send(int s,const char* buf,unsigned int len,
                           const char ip[16],uint16 port,uint32 scope_id);


DESCRIPTION

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

       socket_send6 sends len bytes starting at buf in a UDP datagram over the
       socket s to UDP port port on IPv6 address ip and perhaps using scope_id
       as outging interface.

       For link-local IPv6 (LLU) addresses scope_id specifies the outgoing
       interface index.  socket_id can be queried for the given name of the
       interface (e.g. "eth0") by means of socket_getifidx.  scope_id should
       normally be set to 0 except for link local IPv6 addresses

       socket_send sends len bytes starting at buf in a UDP datagram over the
       socket s to UDP port port on IP address ip and perhaps using scope_id
       as outging interface.

       You can call socket_send* without calling socket_bind*.  This has the
       effect as first calling socket_bind4 with IP address 0.0.0.0 and port 0
       or socket_bind6 with IP address :: and port 0.


RETURN VALUE

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


EXAMPLE

         #include <socket_if.h>

         int s;
         char ip[4];
         uint16 p;

         s = socket_udp();
         socket_bind(s,ip,p);
         socket_send(s,"hello, world",12,ip,p,0);


SEE ALSO

       socket_if(3), socket_info(3), socket_bind(3), socket_connect(3),
       socket_recv(3), socket_setup(3), socket_tcp(3), socket_udp(3)




Man(1) output converted with man2html