printaddr.c revision 254219
1254219Scy/* 2254219Scy * Copyright (C) 2012 by Darren Reed. 3254219Scy * 4254219Scy * See the IPFILTER.LICENCE file for details on licencing. 5254219Scy * 6254219Scy * $Id$ 7254219Scy */ 8254219Scy 9254219Scy#include "ipf.h" 10254219Scy 11254219Scyvoid 12254219Scyprintaddr(family, type, base, ifidx, addr, mask) 13254219Scy int family, type, ifidx; 14254219Scy char *base; 15254219Scy u_32_t *addr, *mask; 16254219Scy{ 17254219Scy char *suffix; 18254219Scy 19254219Scy switch (type) 20254219Scy { 21254219Scy case FRI_BROADCAST : 22254219Scy suffix = "bcast"; 23254219Scy break; 24254219Scy 25254219Scy case FRI_DYNAMIC : 26254219Scy PRINTF("%s", base + ifidx); 27254219Scy printmask(family, mask); 28254219Scy suffix = NULL; 29254219Scy break; 30254219Scy 31254219Scy case FRI_NETWORK : 32254219Scy suffix = "net"; 33254219Scy break; 34254219Scy 35254219Scy case FRI_NETMASKED : 36254219Scy suffix = "netmasked"; 37254219Scy break; 38254219Scy 39254219Scy case FRI_PEERADDR : 40254219Scy suffix = "peer"; 41254219Scy break; 42254219Scy 43254219Scy case FRI_LOOKUP : 44254219Scy suffix = NULL; 45254219Scy printlookup(base, (i6addr_t *)addr, (i6addr_t *)mask); 46254219Scy break; 47254219Scy 48254219Scy case FRI_NONE : 49254219Scy case FRI_NORMAL : 50254219Scy printhostmask(family, addr, mask); 51254219Scy suffix = NULL; 52254219Scy break; 53254219Scy case FRI_RANGE : 54254219Scy printhost(family, addr); 55254219Scy putchar('-'); 56254219Scy printhost(family, mask); 57254219Scy suffix = NULL; 58254219Scy break; 59254219Scy case FRI_SPLIT : 60254219Scy printhost(family, addr); 61254219Scy putchar(','); 62254219Scy printhost(family, mask); 63254219Scy suffix = NULL; 64254219Scy break; 65254219Scy default : 66254219Scy PRINTF("<%d>", type); 67254219Scy printmask(family, mask); 68254219Scy suffix = NULL; 69254219Scy break; 70254219Scy } 71254219Scy 72254219Scy if (suffix != NULL) { 73254219Scy PRINTF("%s/%s", base + ifidx, suffix); 74254219Scy } 75254219Scy} 76