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 |
}
|