166861Sadrian/* $FreeBSD: releng/11.0/contrib/ipfilter/lib/printip.c 255332 2013-09-06 23:11:19Z cy $ */ 223675Speter 31558Srgrimes/* 466861Sadrian * Copyright (C) 2012 by Darren Reed. 566861Sadrian * 666861Sadrian * See the IPFILTER.LICENCE file for details on licencing. 766861Sadrian * 81558Srgrimes * $Id$ 966861Sadrian */ 1033139Sjhay 111558Srgrimes#include "ipf.h" 121558Srgrimes 131558Srgrimes 14void 15printip(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