printhostmask.c revision 255332
1214571Sdim/* $FreeBSD: head/contrib/ipfilter/lib/printhostmask.c 255332 2013-09-06 23:11:19Z cy $ */ 2214571Sdim 3214571Sdim/* 4214571Sdim * Copyright (C) 2012 by Darren Reed. 5214571Sdim * 6214571Sdim * See the IPFILTER.LICENCE file for details on licencing. 7214571Sdim * 8214571Sdim * $Id$ 9214571Sdim */ 10214571Sdim 11214571Sdim#include "ipf.h" 12214571Sdim 13214571Sdim 14214571Sdimvoid 15214571Sdimprinthostmask(family, addr, mask) 16214571Sdim int family; 17214571Sdim u_32_t *addr, *mask; 18214571Sdim{ 19214571Sdim#ifdef USE_INET6 20214571Sdim char ipbuf[64]; 21214571Sdim#else 22214571Sdim struct in_addr ipa; 23214571Sdim#endif 24214571Sdim 25214571Sdim if ((family == -1) || ((!addr || !*addr) && (!mask || !*mask))) 26214571Sdim PRINTF("any"); 27214571Sdim else { 28214571Sdim void *ptr = addr; 29214571Sdim 30214571Sdim#ifdef USE_INET6 31214571Sdim PRINTF("%s", inet_ntop(family, ptr, ipbuf, sizeof(ipbuf))); 32214571Sdim#else 33214571Sdim ipa.s_addr = *addr; 34214571Sdim PRINTF("%s", inet_ntoa(ipa)); 35214571Sdim#endif 36214571Sdim if (mask != NULL) 37214571Sdim printmask(family, mask); 38214571Sdim } 39214571Sdim} 40214571Sdim