1*f3ac6781SToomas Soome /*
2*f3ac6781SToomas Soome * Copyright (C) 2000-2005 by Darren Reed.
3*f3ac6781SToomas Soome *
4*f3ac6781SToomas Soome * See the IPFILTER.LICENCE file for details on licencing.
5*f3ac6781SToomas Soome *
6*f3ac6781SToomas Soome * $Id: printhostmask.c,v 1.8 2002/04/11 15:01:19 darrenr Exp $
7*f3ac6781SToomas Soome *
8*f3ac6781SToomas Soome * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
9*f3ac6781SToomas Soome * Use is subject to license terms.
10*f3ac6781SToomas Soome */
11*f3ac6781SToomas Soome
12*f3ac6781SToomas Soome #include "ipf.h"
13*f3ac6781SToomas Soome
14*f3ac6781SToomas Soome
printhostmask(v,addr,mask)15*f3ac6781SToomas Soome void printhostmask(v, addr, mask)
16*f3ac6781SToomas Soome int v;
17*f3ac6781SToomas Soome u_32_t *addr, *mask;
18*f3ac6781SToomas Soome {
19*f3ac6781SToomas Soome #ifdef USE_INET6
20*f3ac6781SToomas Soome char ipbuf[INET6_ADDRSTRLEN];
21*f3ac6781SToomas Soome #else
22*f3ac6781SToomas Soome struct in_addr ipa;
23*f3ac6781SToomas Soome #endif
24*f3ac6781SToomas Soome
25*f3ac6781SToomas Soome if ((v == 4) && (!*addr) && (!*mask))
26*f3ac6781SToomas Soome printf("any");
27*f3ac6781SToomas Soome else {
28*f3ac6781SToomas Soome #ifdef USE_INET6
29*f3ac6781SToomas Soome void *ptr = addr;
30*f3ac6781SToomas Soome int af;
31*f3ac6781SToomas Soome
32*f3ac6781SToomas Soome if (v == 4)
33*f3ac6781SToomas Soome af = AF_INET;
34*f3ac6781SToomas Soome else if (v == 6)
35*f3ac6781SToomas Soome af = AF_INET6;
36*f3ac6781SToomas Soome else
37*f3ac6781SToomas Soome af = 0;
38*f3ac6781SToomas Soome printf("%s", inet_ntop(af, ptr, ipbuf, sizeof(ipbuf)));
39*f3ac6781SToomas Soome #else
40*f3ac6781SToomas Soome ipa.s_addr = *addr;
41*f3ac6781SToomas Soome printf("%s", inet_ntoa(ipa));
42*f3ac6781SToomas Soome #endif
43*f3ac6781SToomas Soome if (mask != NULL)
44*f3ac6781SToomas Soome printmask(v, mask);
45*f3ac6781SToomas Soome }
46*f3ac6781SToomas Soome }
47