1145519Sdarrenr/* $FreeBSD$ */ 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 15255332Scyprintip(family, addr) 16255332Scy int family; 17255332Scy u_32_t *addr; 18145510Sdarrenr{ 19145510Sdarrenr struct in_addr ipa; 20145510Sdarrenr 21255332Scy if (family == AF_INET) { 22255332Scy ipa.s_addr = *addr; 23255332Scy if (ntohl(ipa.s_addr) < 256) 24255332Scy PRINTF("%lu", (u_long)ntohl(ipa.s_addr)); 25255332Scy else 26255332Scy PRINTF("%s", inet_ntoa(ipa)); 27255332Scy } 28255332Scy#ifdef AF_INET6 29255332Scy else if (family == AF_INET6) { 30255332Scy char buf[INET6_ADDRSTRLEN + 1]; 31255332Scy const char *str; 32255332Scy 33255332Scy buf[0] = '\0'; 34255332Scy str = inet_ntop(AF_INET6, addr, buf, sizeof(buf) - 1); 35255332Scy if (str != NULL) 36255332Scy PRINTF("%s", str); 37255332Scy else 38255332Scy PRINTF("???"); 39255332Scy } 40255332Scy#endif 41145510Sdarrenr else 42255332Scy PRINTF("?(%d)?", family); 43145510Sdarrenr} 44