1 /* $NetBSD: printlookup.c,v 1.2 2012/07/22 14:27:36 darrenr Exp $ */ 2 3 /* 4 * Copyright (C) 2012 by Darren Reed. 5 * 6 * See the IPFILTER.LICENCE file for details on licencing. 7 * 8 * Id: printlookup.c,v 1.1.1.2 2012/07/22 13:44:41 darrenr Exp $ 9 */ 10 11 #include "ipf.h" 12 13 14 void 15 printlookup(base, addr, mask) 16 char *base; 17 i6addr_t *addr, *mask; 18 { 19 char name[32]; 20 21 switch (addr->iplookuptype) 22 { 23 case IPLT_POOL : 24 PRINTF("pool/"); 25 break; 26 case IPLT_HASH : 27 PRINTF("hash/"); 28 break; 29 case IPLT_DSTLIST : 30 PRINTF("dstlist/"); 31 break; 32 default : 33 PRINTF("lookup(%x)=", addr->iplookuptype); 34 break; 35 } 36 37 if (addr->iplookupsubtype == 0) 38 PRINTF("%u", addr->iplookupnum); 39 else if (addr->iplookupsubtype == 1) { 40 strncpy(name, base + addr->iplookupname, sizeof(name)); 41 name[sizeof(name) - 1] = '\0'; 42 PRINTF("%s", name); 43 } 44 } 45