1 1.2 darrenr /* $NetBSD: printaddr.c,v 1.2 2012/07/22 14:27:36 darrenr Exp $ */ 2 1.1 christos 3 1.1 christos /* 4 1.2 darrenr * Copyright (C) 2012 by Darren Reed. 5 1.1 christos * 6 1.1 christos * See the IPFILTER.LICENCE file for details on licencing. 7 1.1 christos * 8 1.2 darrenr * Id: printaddr.c,v 1.1.1.2 2012/07/22 13:44:40 darrenr Exp $ 9 1.1 christos */ 10 1.1 christos 11 1.1 christos #include "ipf.h" 12 1.1 christos 13 1.1 christos void 14 1.1 christos printaddr(family, type, base, ifidx, addr, mask) 15 1.1 christos int family, type, ifidx; 16 1.1 christos char *base; 17 1.1 christos u_32_t *addr, *mask; 18 1.1 christos { 19 1.1 christos char *suffix; 20 1.1 christos 21 1.1 christos switch (type) 22 1.1 christos { 23 1.1 christos case FRI_BROADCAST : 24 1.1 christos suffix = "bcast"; 25 1.1 christos break; 26 1.1 christos 27 1.1 christos case FRI_DYNAMIC : 28 1.1 christos PRINTF("%s", base + ifidx); 29 1.1 christos printmask(family, mask); 30 1.1 christos suffix = NULL; 31 1.1 christos break; 32 1.1 christos 33 1.1 christos case FRI_NETWORK : 34 1.1 christos suffix = "net"; 35 1.1 christos break; 36 1.1 christos 37 1.1 christos case FRI_NETMASKED : 38 1.1 christos suffix = "netmasked"; 39 1.1 christos break; 40 1.1 christos 41 1.1 christos case FRI_PEERADDR : 42 1.1 christos suffix = "peer"; 43 1.1 christos break; 44 1.1 christos 45 1.1 christos case FRI_LOOKUP : 46 1.1 christos suffix = NULL; 47 1.1 christos printlookup(base, (i6addr_t *)addr, (i6addr_t *)mask); 48 1.1 christos break; 49 1.1 christos 50 1.1 christos case FRI_NONE : 51 1.1 christos case FRI_NORMAL : 52 1.1 christos printhostmask(family, addr, mask); 53 1.1 christos suffix = NULL; 54 1.1 christos break; 55 1.1 christos case FRI_RANGE : 56 1.1 christos printhost(family, addr); 57 1.1 christos putchar('-'); 58 1.1 christos printhost(family, mask); 59 1.1 christos suffix = NULL; 60 1.1 christos break; 61 1.1 christos case FRI_SPLIT : 62 1.1 christos printhost(family, addr); 63 1.1 christos putchar(','); 64 1.1 christos printhost(family, mask); 65 1.1 christos suffix = NULL; 66 1.1 christos break; 67 1.1 christos default : 68 1.1 christos PRINTF("<%d>", type); 69 1.1 christos printmask(family, mask); 70 1.1 christos suffix = NULL; 71 1.1 christos break; 72 1.1 christos } 73 1.1 christos 74 1.1 christos if (suffix != NULL) { 75 1.1 christos PRINTF("%s/%s", base + ifidx, suffix); 76 1.1 christos } 77 1.1 christos } 78