SYNTAX

       #include "socket_if.h"

       uint32 socket_getifidx(const char* ifname);

       const char* socket_getifname(uint32 scope_id);


DESCRIPTION

       socket_getifidx returns the scope_id of an interface named as ifname
       typically ''eth0''.

       socket_getifname retrieves from the operating system's assigned
       scope_id the interface name ifname.


INTERFACE_NAME VERSUS SCOPE_ID

       For IPv6 LLU addresses an additional ifname (interface name) has to be
       provided accompanying the IPv6 address: fe80::1%eth0.  The operating
       systems rather uses scope_id as index for ifname.

       For global IPv6 and ULA addresses ifname can be set to 0.  Since IPv4
       addresses on any interface are always unique, simply use 0 for all
       cases.


BACKGROUND

       Qlib's socket routines provide an easy API to setup TCP or UDP
       connections over IPv4 or IPv6 networks. Together with Qlib's IP address
       parsing capabilities, a set of high-level socket routines allow a
       common IPv4/IPv6 handling.


SOCKET FILES

       socket_bind.c
            bind to or reuse the local IPv4/IPv6 address and port for a socket
            connection

       socket_connect.c
            attempts to setup a TCP or UDP client connection

       socket_info.c
            get local/remote IPv4/IPv6 address of socket

       socket_recv.c
            set up a receiving IPv4/IPv6 connection

       socket_send.c
            send UDP datagram over a IPv4 or IPv6 connection

       socket_setup.c
            listen to and accept an IPv4/IPv6 TCP socket connection

       socket_tcp.c
            create a non-blocking TCP stream socket

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



                                       3                     qlibs:(socket_if)

Man(1) output converted with man2html