1 /* $NetBSD: printip.c,v 1.2 2012/07/22 14:27:36 darrenr Exp $ */
2
3 /*
4 * Copyright (C) 2012 by Darren Reed.
5 *
6 * See the IPFILTER.LICENCE file for details on licencing.
7 *
8 * Id: printip.c,v 1.1.1.2 2012/07/22 13:44:40 darrenr Exp $
9 */
10
11 #include "ipf.h"
12
13
14 void
printip(family,addr)15 printip(family, addr)
16 int family;
17 u_32_t *addr;
18 {
19 struct in_addr ipa;
20
21 if (family == AF_INET) {
22 ipa.s_addr = *addr;
23 if (ntohl(ipa.s_addr) < 256)
24 PRINTF("%lu", (u_long)ntohl(ipa.s_addr));
25 else
26 PRINTF("%s", inet_ntoa(ipa));
27 }
28 #ifdef AF_INET6
29 else if (family == AF_INET6) {
30 char buf[INET6_ADDRSTRLEN + 1];
31 const char *str;
32
33 buf[0] = '\0';
34 str = inet_ntop(AF_INET6, addr, buf, sizeof(buf) - 1);
35 if (str != NULL)
36 PRINTF("%s", str);
37 else
38 PRINTF("???");
39 }
40 #endif
41 else
42 PRINTF("?(%d)?", family);
43 }
44