X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Fportmap-client.c;fp=examples%2Fportmap-client.c;h=a7cf7c23521d64599cf48d97aab42a94feda208e;hb=ea20b4ec24c2206ddabfe240025fbe383142623a;hp=1c3b240a39c509cbbfdf84e04513721e63cc93aa;hpb=b3525a9439db7c2438f44fa68d1db321f6ae00fa;p=deb_libnfs.git diff --git a/examples/portmap-client.c b/examples/portmap-client.c index 1c3b240..a7cf7c2 100644 --- a/examples/portmap-client.c +++ b/examples/portmap-client.c @@ -34,9 +34,11 @@ #include #endif +#include #include #include #include +#include #include #include "libnfs-zdr.h" #include "libnfs.h" @@ -189,6 +191,8 @@ void pmap3_uaddr2taddr_cb(struct rpc_context *rpc, int status, void *data, void { struct client *client = private_data; struct pmap3_netbuf *nb = data; + struct sockaddr_storage *ss; + char host[256], port[6]; int i; if (status == RPC_STATUS_ERROR) { @@ -210,6 +214,19 @@ void pmap3_uaddr2taddr_cb(struct rpc_context *rpc, int status, void *data, void } } printf("\n"); + printf(" ---\n"); + ss = (struct sockaddr_storage *)&nb->buf.buf_val[0]; + getnameinfo((struct sockaddr *)ss, sizeof(struct sockaddr_in6), + &host[0], sizeof(host), &port[0], sizeof(port), + NI_NUMERICHOST|NI_NUMERICSERV); + switch (ss->ss_family) { + case AF_INET: + printf(" IPv4: %s:%s\n", &host[0], &port[0]); + break; + case AF_INET6: + printf(" IPv6: %s:%s\n", &host[0], &port[0]); + break; + } client->is_finished = 1; }