1#include <stdio.h> 2#include <uv.h> 3 4int main() { 5 char buf[512]; 6 uv_interface_address_t *info; 7 int count, i; 8 9 uv_interface_addresses(&info, &count); 10 i = count; 11 12 printf("Number of interfaces: %d\n", count); 13 while (i--) { 14 uv_interface_address_t interface_a = info[i]; 15 16 printf("Name: %s\n", interface_a.name); 17 printf("Internal? %s\n", interface_a.is_internal ? "Yes" : "No"); 18 19 if (interface_a.address.address4.sin_family == AF_INET) { 20 uv_ip4_name(&interface_a.address.address4, buf, sizeof(buf)); 21 printf("IPv4 address: %s\n", buf); 22 } 23 else if (interface_a.address.address4.sin_family == AF_INET6) { 24 uv_ip6_name(&interface_a.address.address6, buf, sizeof(buf)); 25 printf("IPv6 address: %s\n", buf); 26 } 27 28 printf("\n"); 29 } 30 31 uv_free_interface_addresses(info, count); 32 return 0; 33} 34