10Sstevel@tonic-gate /* 2*7176Syx160601 * Copyright (C) 2000-2005 by Darren Reed. 30Sstevel@tonic-gate * 40Sstevel@tonic-gate * See the IPFILTER.LICENCE file for details on licencing. 50Sstevel@tonic-gate * 60Sstevel@tonic-gate * $Id: printhostmask.c,v 1.8 2002/04/11 15:01:19 darrenr Exp $ 7637Sml37995 * 8*7176Syx160601 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 9637Sml37995 * Use is subject to license terms. 100Sstevel@tonic-gate */ 110Sstevel@tonic-gate 12637Sml37995 #pragma ident "%Z%%M% %I% %E% SMI" 13637Sml37995 140Sstevel@tonic-gate #include "ipf.h" 150Sstevel@tonic-gate 160Sstevel@tonic-gate 170Sstevel@tonic-gate void printhostmask(v, addr, mask) 180Sstevel@tonic-gate int v; 190Sstevel@tonic-gate u_32_t *addr, *mask; 200Sstevel@tonic-gate { 210Sstevel@tonic-gate #ifdef USE_INET6 22637Sml37995 char ipbuf[INET6_ADDRSTRLEN]; 230Sstevel@tonic-gate #else 240Sstevel@tonic-gate struct in_addr ipa; 250Sstevel@tonic-gate #endif 260Sstevel@tonic-gate 27*7176Syx160601 if ((v == 4) && (!*addr) && (!*mask)) 280Sstevel@tonic-gate printf("any"); 290Sstevel@tonic-gate else { 300Sstevel@tonic-gate #ifdef USE_INET6 310Sstevel@tonic-gate void *ptr = addr; 320Sstevel@tonic-gate int af; 330Sstevel@tonic-gate 34*7176Syx160601 if (v == 4) 350Sstevel@tonic-gate af = AF_INET; 36*7176Syx160601 else if (v == 6) 370Sstevel@tonic-gate af = AF_INET6; 38*7176Syx160601 else 390Sstevel@tonic-gate af = 0; 400Sstevel@tonic-gate printf("%s", inet_ntop(af, ptr, ipbuf, sizeof(ipbuf))); 410Sstevel@tonic-gate #else 420Sstevel@tonic-gate ipa.s_addr = *addr; 430Sstevel@tonic-gate printf("%s", inet_ntoa(ipa)); 440Sstevel@tonic-gate #endif 45*7176Syx160601 if (mask != NULL) 46*7176Syx160601 printmask(v, mask); 470Sstevel@tonic-gate } 480Sstevel@tonic-gate } 49