1 1.1 christos /* $NetBSD: printmask.c,v 1.1 2012/03/23 21:20:09 christos Exp $ */ 2 1.1 christos 3 1.1 christos /* 4 1.1 christos * Copyright (C) 2009 by Darren Reed. 5 1.1 christos * 6 1.1 christos * See the IPFILTER.LICENCE file for details on licencing. 7 1.1 christos * 8 1.1 christos * Id 9 1.1 christos */ 10 1.1 christos 11 1.1 christos #include "ipf.h" 12 1.1 christos 13 1.1 christos 14 1.1 christos void 15 1.1 christos printmask(family, mask) 16 1.1 christos int family; 17 1.1 christos u_32_t *mask; 18 1.1 christos { 19 1.1 christos struct in_addr ipa; 20 1.1 christos int ones; 21 1.1 christos 22 1.1 christos if (use_inet6 || (family == AF_INET6)) { 23 1.1 christos PRINTF("/%d", count6bits(mask)); 24 1.1 christos } else if ((ones = count4bits(*mask)) == -1) { 25 1.1 christos ipa.s_addr = *mask; 26 1.1 christos PRINTF("/%s", inet_ntoa(ipa)); 27 1.1 christos } else { 28 1.1 christos PRINTF("/%d", ones); 29 1.1 christos } 30 1.1 christos } 31