diff options
author | Saúl Ibarra Corretgé <saghul@gmail.com> | 2017-04-25 08:27:52 +0200 |
---|---|---|
committer | Saúl Ibarra Corretgé <saghul@gmail.com> | 2017-04-28 11:16:15 +0200 |
commit | d59d6e6f22b4c11c37e34843d111a748df73bda2 (patch) | |
tree | f2a46fbfb3e308b3f474d086b122f4b591a78bcc /docs/code/interfaces/main.c | |
parent | 2ce5734d76a8bfbf01af4a4854edf1e3cc42e029 (diff) | |
download | libuv-d59d6e6f22b4c11c37e34843d111a748df73bda2.tar.gz libuv-d59d6e6f22b4c11c37e34843d111a748df73bda2.zip |
doc: add code samples from uvbook (unadapted)
PR-URL: https://github.com/libuv/libuv/pull/1246
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Diffstat (limited to 'docs/code/interfaces/main.c')
-rw-r--r-- | docs/code/interfaces/main.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/docs/code/interfaces/main.c b/docs/code/interfaces/main.c new file mode 100644 index 00000000..cac12c26 --- /dev/null +++ b/docs/code/interfaces/main.c @@ -0,0 +1,33 @@ +#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; +} |