Sha256: 0fb7b52d9920f0183ec229468f60a1f0077bf6549aa45709abd2a798f1690894

Contents?: true

Size: 911 Bytes

Versions: 15

Compression:

Stored size: 911 Bytes

Contents

#include <stdio.h>
#include <uv.h>

int main() {
    char buf[512];
    uv_interface_address_t *info;
    int count, i;

    uv_interface_addresses(&info, &count);
    i = count;

    printf("Number of interfaces: %d\n", count);
    while (i--) {
        uv_interface_address_t interface = info[i];

        printf("Name: %s\n", interface.name);
        printf("Internal? %s\n", interface.is_internal ? "Yes" : "No");
        
        if (interface.address.address4.sin_family == AF_INET) {
            uv_ip4_name(&interface.address.address4, buf, sizeof(buf));
            printf("IPv4 address: %s\n", buf);
        }
        else if (interface.address.address4.sin_family == AF_INET6) {
            uv_ip6_name(&interface.address.address6, buf, sizeof(buf));
            printf("IPv6 address: %s\n", buf);
        }

        printf("\n");
    }

    uv_free_interface_addresses(info, count);
    return 0;
}

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
mt-libuv-4.1.04 ext/libuv/docs/code/interfaces/main.c
mt-libuv-4.1.03 ext/libuv/docs/code/interfaces/main.c
mt-libuv-4.1.02 ext/libuv/docs/code/interfaces/main.c
libuv-4.0.9 ext/libuv/docs/code/interfaces/main.c
libuv-4.0.2 ext/libuv/docs/code/interfaces/main.c
libuv-4.0.1 ext/libuv/docs/code/interfaces/main.c
libuv-4.0.0 ext/libuv/docs/code/interfaces/main.c
libuv-3.3.0 ext/libuv/docs/code/interfaces/main.c
libuv-3.2.4 ext/libuv/docs/code/interfaces/main.c
libuv-3.2.3 ext/libuv/docs/code/interfaces/main.c
libuv-3.2.2 ext/libuv/docs/code/interfaces/main.c
libuv-3.2.1 ext/libuv/docs/code/interfaces/main.c
libuv-3.2.0 ext/libuv/docs/code/interfaces/main.c
libuv-3.1.9 ext/libuv/docs/code/interfaces/main.c
libuv-3.1.8 ext/libuv/docs/code/interfaces/main.c