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