main.c 911 B

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