| /* |
| * Copyright (C) 2012 by Darren Reed. |
| * |
| * See the IPFILTER.LICENCE file for details on licencing. |
| * |
| * $Id$ |
| */ |
| |
| #include "ipf.h" |
| |
| void |
| printaddr(family, type, base, ifidx, addr, mask) |
| int family, type, ifidx; |
| char *base; |
| u_32_t *addr, *mask; |
| { |
| char *suffix; |
| |
| switch (type) |
| { |
| case FRI_BROADCAST : |
| suffix = "bcast"; |
| break; |
| |
| case FRI_DYNAMIC : |
| PRINTF("%s", base + ifidx); |
| printmask(family, mask); |
| suffix = NULL; |
| break; |
| |
| case FRI_NETWORK : |
| suffix = "net"; |
| break; |
| |
| case FRI_NETMASKED : |
| suffix = "netmasked"; |
| break; |
| |
| case FRI_PEERADDR : |
| suffix = "peer"; |
| break; |
| |
| case FRI_LOOKUP : |
| suffix = NULL; |
| printlookup(base, (i6addr_t *)addr, (i6addr_t *)mask); |
| break; |
| |
| case FRI_NONE : |
| case FRI_NORMAL : |
| printhostmask(family, addr, mask); |
| suffix = NULL; |
| break; |
| case FRI_RANGE : |
| printhost(family, addr); |
| putchar('-'); |
| printhost(family, mask); |
| suffix = NULL; |
| break; |
| case FRI_SPLIT : |
| printhost(family, addr); |
| putchar(','); |
| printhost(family, mask); |
| suffix = NULL; |
| break; |
| default : |
| PRINTF("<%d>", type); |
| printmask(family, mask); |
| suffix = NULL; |
| break; |
| } |
| |
| if (suffix != NULL) { |
| PRINTF("%s/%s", base + ifidx, suffix); |
| } |
| } |