printmask.c revision 255332
1272343Sngie/* $FreeBSD: head/contrib/ipfilter/lib/printmask.c 255332 2013-09-06 23:11:19Z cy $ */ 2272343Sngie 3272343Sngie/* 4272343Sngie * Copyright (C) 2012 by Darren Reed. 5272343Sngie * 6272343Sngie * See the IPFILTER.LICENCE file for details on licencing. 7272343Sngie * 8272343Sngie * $Id$ 9272343Sngie */ 10272343Sngie 11272343Sngie#include "ipf.h" 12272343Sngie 13272343Sngie 14272343Sngievoid 15272343Sngieprintmask(family, mask) 16272343Sngie int family; 17272343Sngie u_32_t *mask; 18272343Sngie{ 19272343Sngie struct in_addr ipa; 20272343Sngie int ones; 21272343Sngie 22272343Sngie if (family == AF_INET6) { 23272343Sngie PRINTF("/%d", count6bits(mask)); 24272343Sngie } else if ((ones = count4bits(*mask)) == -1) { 25272343Sngie ipa.s_addr = *mask; 26272343Sngie PRINTF("/%s", inet_ntoa(ipa)); 27272343Sngie } else { 28272343Sngie PRINTF("/%d", ones); 29272343Sngie } 30272343Sngie} 31272343Sngie