1145519Sdarrenr/* $FreeBSD: releng/10.3/contrib/ipfilter/lib/printhostmask.c 268563 2014-07-12 05:59:19Z cy $ */ 2145510Sdarrenr 3145510Sdarrenr/* 4255332Scy * Copyright (C) 2012 by Darren Reed. 5145510Sdarrenr * 6145510Sdarrenr * See the IPFILTER.LICENCE file for details on licencing. 7145510Sdarrenr * 8255332Scy * $Id$ 9145510Sdarrenr */ 10145510Sdarrenr 11145510Sdarrenr#include "ipf.h" 12145510Sdarrenr 13145510Sdarrenr 14255332Scyvoid 15255332Scyprinthostmask(family, addr, mask) 16255332Scy int family; 17255332Scy u_32_t *addr, *mask; 18145510Sdarrenr{ 19145510Sdarrenr#ifdef USE_INET6 20145510Sdarrenr char ipbuf[64]; 21145510Sdarrenr#else 22145510Sdarrenr struct in_addr ipa; 23145510Sdarrenr#endif 24145510Sdarrenr 25255332Scy if ((family == -1) || ((!addr || !*addr) && (!mask || !*mask))) 26255332Scy PRINTF("any"); 27145510Sdarrenr else { 28268563Scy#ifdef USE_INET6 29145510Sdarrenr void *ptr = addr; 30145510Sdarrenr 31255332Scy PRINTF("%s", inet_ntop(family, ptr, ipbuf, sizeof(ipbuf))); 32145510Sdarrenr#else 33145510Sdarrenr ipa.s_addr = *addr; 34255332Scy PRINTF("%s", inet_ntoa(ipa)); 35145510Sdarrenr#endif 36255332Scy if (mask != NULL) 37255332Scy printmask(family, mask); 38145510Sdarrenr } 39145510Sdarrenr} 40