xref: /onnv-gate/usr/src/cmd/ipf/lib/common/printaddr.c (revision 7176:101cc5da1498)
1*7176Syx160601 /*
2*7176Syx160601  * Copyright (C) 2005 by Darren Reed.
3*7176Syx160601  *
4*7176Syx160601  * See the IPFILTER.LICENCE file for details on licencing.
5*7176Syx160601  *
6*7176Syx160601  */
7*7176Syx160601 
8*7176Syx160601 #pragma ident	"%Z%%M%	%I%	%E% SMI"
9*7176Syx160601 
10*7176Syx160601 #include "ipf.h"
11*7176Syx160601 
12*7176Syx160601 
printaddr(v,type,ifname,addr,mask)13*7176Syx160601 void printaddr(v, type, ifname, addr, mask)
14*7176Syx160601 int v, type;
15*7176Syx160601 char *ifname;
16*7176Syx160601 u_32_t *addr, *mask;
17*7176Syx160601 {
18*7176Syx160601 	char *suffix;
19*7176Syx160601 
20*7176Syx160601 	switch (type)
21*7176Syx160601 	{
22*7176Syx160601 	case FRI_BROADCAST :
23*7176Syx160601 		suffix = "/bcast";
24*7176Syx160601 		break;
25*7176Syx160601 
26*7176Syx160601 	case FRI_DYNAMIC :
27*7176Syx160601 		printf("%s", ifname);
28*7176Syx160601 		printmask(v, mask);
29*7176Syx160601 		suffix = NULL;
30*7176Syx160601 		break;
31*7176Syx160601 
32*7176Syx160601 	case FRI_NETWORK :
33*7176Syx160601 		suffix = "/net";
34*7176Syx160601 		break;
35*7176Syx160601 
36*7176Syx160601 	case FRI_NETMASKED :
37*7176Syx160601 		suffix = "/netmasked";
38*7176Syx160601 		break;
39*7176Syx160601 
40*7176Syx160601 	case FRI_PEERADDR :
41*7176Syx160601 		suffix = "/peer";
42*7176Syx160601 		break;
43*7176Syx160601 
44*7176Syx160601 	case FRI_LOOKUP :
45*7176Syx160601 		suffix = NULL;
46*7176Syx160601 		printlookup((i6addr_t *)addr, (i6addr_t *)mask);
47*7176Syx160601 		break;
48*7176Syx160601 
49*7176Syx160601 	case FRI_NORMAL :
50*7176Syx160601 		printhostmask(v, addr, mask);
51*7176Syx160601 		suffix = NULL;
52*7176Syx160601 		break;
53*7176Syx160601 	default :
54*7176Syx160601 		printf("<%d>", type);
55*7176Syx160601 		printmask(v, mask);
56*7176Syx160601 		suffix = NULL;
57*7176Syx160601 		break;
58*7176Syx160601 	}
59*7176Syx160601 
60*7176Syx160601 	if (suffix != NULL) {
61*7176Syx160601 		printf("%s/%s", ifname, suffix);
62*7176Syx160601 	}
63*7176Syx160601 }
64