#include #include #include #include #include #include int main(int argc, char **argv) { char str[INET6_ADDRSTRLEN + 5]; struct in6_addr addr; int ret, bits; memset(&addr, 0, sizeof(addr)); ret = inet_net_pton(AF_INET6, argv[1], &addr, sizeof(addr)); if (ret == -1) err(1, "%s", argv[1]); inet_ntop(AF_INET6, &addr, str, sizeof(str)); printf("%s/%d\n", str, ret); ret = inet_cidr_pton(AF_INET6, argv[1], &addr, &bits); if (ret == -1) err(1, "%s", argv[1]); inet_ntop(AF_INET6, &addr, str, sizeof(str)); printf("%s/%d\n", str, bits); return 0; }