1 /* $NetBSD: printpooldata.c,v 1.1.1.2 2012/07/22 13:44:38 darrenr Exp $ */
2
3 /*
4 * Copyright (C) 2012 by Darren Reed.
5 *
6 * See the IPFILTER.LICENCE file for details on licencing.
7 */
8
9 #include "ipf.h"
10 #include <ctype.h>
11
12
13 void
printpooldata(pool,opts)14 printpooldata(pool, opts)
15 ip_pool_t *pool;
16 int opts;
17 {
18
19 if ((opts & OPT_DEBUG) == 0) {
20 if ((pool->ipo_flags & IPOOL_ANON) != 0)
21 PRINTF("# 'anonymous' tree %s\n", pool->ipo_name);
22 if ((pool->ipo_flags & IPOOL_DELETE) != 0)
23 PRINTF("# ");
24 PRINTF("table role=");
25 } else {
26 if ((pool->ipo_flags & IPOOL_DELETE) != 0)
27 PRINTF("# ");
28 PRINTF("%s: %s",
29 ISDIGIT(*pool->ipo_name) ? "Number" : "Name",
30 pool->ipo_name);
31 if ((pool->ipo_flags & IPOOL_ANON) == IPOOL_ANON)
32 PRINTF("(anon)");
33 putchar(' ');
34 PRINTF("Role: ");
35 }
36
37 printunit(pool->ipo_unit);
38
39 if ((opts & OPT_DEBUG) == 0) {
40 PRINTF(" type=tree %s=%s\n",
41 (!*pool->ipo_name || ISDIGIT(*pool->ipo_name)) ? \
42 "number" : "name", pool->ipo_name);
43 } else {
44 putchar(' ');
45
46 PRINTF("\tReferences: %d\tHits: %lu\n", pool->ipo_ref,
47 pool->ipo_hits);
48 if ((pool->ipo_flags & IPOOL_DELETE) != 0)
49 PRINTF("# ");
50 PRINTF("\tNodes Starting at %p\n", pool->ipo_list);
51 }
52 }
53