Blame docs/code/interfaces/main.c

Packit b5b901
#include <stdio.h>
Packit b5b901
#include <uv.h>
Packit b5b901
Packit b5b901
int main() {
Packit b5b901
    char buf[512];
Packit b5b901
    uv_interface_address_t *info;
Packit b5b901
    int count, i;
Packit b5b901
Packit b5b901
    uv_interface_addresses(&info, &count);
Packit b5b901
    i = count;
Packit b5b901
Packit b5b901
    printf("Number of interfaces: %d\n", count);
Packit b5b901
    while (i--) {
Packit b5b901
        uv_interface_address_t interface = info[i];
Packit b5b901
Packit b5b901
        printf("Name: %s\n", interface.name);
Packit b5b901
        printf("Internal? %s\n", interface.is_internal ? "Yes" : "No");
Packit b5b901
        
Packit b5b901
        if (interface.address.address4.sin_family == AF_INET) {
Packit b5b901
            uv_ip4_name(&interface.address.address4, buf, sizeof(buf));
Packit b5b901
            printf("IPv4 address: %s\n", buf);
Packit b5b901
        }
Packit b5b901
        else if (interface.address.address4.sin_family == AF_INET6) {
Packit b5b901
            uv_ip6_name(&interface.address.address6, buf, sizeof(buf));
Packit b5b901
            printf("IPv6 address: %s\n", buf);
Packit b5b901
        }
Packit b5b901
Packit b5b901
        printf("\n");
Packit b5b901
    }
Packit b5b901
Packit b5b901
    uv_free_interface_addresses(info, count);
Packit b5b901
    return 0;
Packit b5b901
}