printhostmask.c revision 145519
1145519Sdarrenr/* $FreeBSD: head/contrib/ipfilter/lib/printhostmask.c 145519 2005-04-25 18:20:15Z darrenr $ */ 2145510Sdarrenr 3145510Sdarrenr/* 4145510Sdarrenr * Copyright (C) 1993-2001 by Darren Reed. 5145510Sdarrenr * 6145510Sdarrenr * See the IPFILTER.LICENCE file for details on licencing. 7145510Sdarrenr * 8145510Sdarrenr * Id: printhostmask.c,v 1.8 2002/04/11 15:01:19 darrenr Exp 9145510Sdarrenr */ 10145510Sdarrenr 11145510Sdarrenr#include "ipf.h" 12145510Sdarrenr 13145510Sdarrenr 14145510Sdarrenrvoid printhostmask(v, addr, mask) 15145510Sdarrenrint v; 16145510Sdarrenru_32_t *addr, *mask; 17145510Sdarrenr{ 18145510Sdarrenr#ifdef USE_INET6 19145510Sdarrenr char ipbuf[64]; 20145510Sdarrenr#else 21145510Sdarrenr struct in_addr ipa; 22145510Sdarrenr#endif 23145510Sdarrenr 24145510Sdarrenr if (!*addr && !*mask) 25145510Sdarrenr printf("any"); 26145510Sdarrenr else { 27145510Sdarrenr#ifdef USE_INET6 28145510Sdarrenr void *ptr = addr; 29145510Sdarrenr int af; 30145510Sdarrenr 31145510Sdarrenr if (v == 4) { 32145510Sdarrenr ptr = addr; 33145510Sdarrenr af = AF_INET; 34145510Sdarrenr } else if (v == 6) { 35145510Sdarrenr ptr = addr; 36145510Sdarrenr af = AF_INET6; 37145510Sdarrenr } else 38145510Sdarrenr af = 0; 39145510Sdarrenr printf("%s", inet_ntop(af, ptr, ipbuf, sizeof(ipbuf))); 40145510Sdarrenr#else 41145510Sdarrenr ipa.s_addr = *addr; 42145510Sdarrenr printf("%s", inet_ntoa(ipa)); 43145510Sdarrenr#endif 44145510Sdarrenr printmask(mask); 45145510Sdarrenr } 46145510Sdarrenr} 47