1145519Sdarrenr/*	$FreeBSD: releng/10.3/contrib/ipfilter/lib/printhostmask.c 268563 2014-07-12 05:59:19Z cy $	*/
2145510Sdarrenr
3145510Sdarrenr/*
4255332Scy * Copyright (C) 2012 by Darren Reed.
5145510Sdarrenr *
6145510Sdarrenr * See the IPFILTER.LICENCE file for details on licencing.
7145510Sdarrenr *
8255332Scy * $Id$
9145510Sdarrenr */
10145510Sdarrenr
11145510Sdarrenr#include "ipf.h"
12145510Sdarrenr
13145510Sdarrenr
14255332Scyvoid
15255332Scyprinthostmask(family, addr, mask)
16255332Scy	int	family;
17255332Scy	u_32_t	*addr, *mask;
18145510Sdarrenr{
19145510Sdarrenr#ifdef  USE_INET6
20145510Sdarrenr	char ipbuf[64];
21145510Sdarrenr#else
22145510Sdarrenr	struct in_addr ipa;
23145510Sdarrenr#endif
24145510Sdarrenr
25255332Scy	if ((family == -1) || ((!addr || !*addr) && (!mask || !*mask)))
26255332Scy		PRINTF("any");
27145510Sdarrenr	else {
28268563Scy#ifdef  USE_INET6
29145510Sdarrenr		void *ptr = addr;
30145510Sdarrenr
31255332Scy		PRINTF("%s", inet_ntop(family, ptr, ipbuf, sizeof(ipbuf)));
32145510Sdarrenr#else
33145510Sdarrenr		ipa.s_addr = *addr;
34255332Scy		PRINTF("%s", inet_ntoa(ipa));
35145510Sdarrenr#endif
36255332Scy		if (mask != NULL)
37255332Scy			printmask(family, mask);
38145510Sdarrenr	}
39145510Sdarrenr}
40