]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/ipfilter/lib/printpooldata.c
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / ipfilter / lib / printpooldata.c
1 /*
2  * Copyright (C) 2002 by Darren Reed.
3  *
4  * See the IPFILTER.LICENCE file for details on licencing.
5  */
6
7 #include "ipf.h"
8
9 #define PRINTF  (void)printf
10 #define FPRINTF (void)fprintf
11
12 void printpooldata(pool, opts)
13 ip_pool_t *pool;
14 int opts;
15 {
16
17         if ((opts & OPT_DEBUG) == 0) {
18                 if ((pool->ipo_flags & IPOOL_ANON) != 0)
19                         PRINTF("# 'anonymous' tree %s\n", pool->ipo_name);
20                 if ((pool->ipo_flags & IPOOL_DELETE) != 0)
21                         PRINTF("# ");
22                 PRINTF("table role = ");
23         } else {
24                 if ((pool->ipo_flags & IPOOL_DELETE) != 0)
25                         PRINTF("# ");
26                 PRINTF("%s: %s",
27                         isdigit(*pool->ipo_name) ? "Number" : "Name",
28                         pool->ipo_name);
29                 if ((pool->ipo_flags & IPOOL_ANON) == IPOOL_ANON)
30                         PRINTF("(anon)");
31                 putchar(' ');
32                 PRINTF("Role: ");
33         }
34
35         switch (pool->ipo_unit)
36         {
37         case IPL_LOGIPF :
38                 printf("ipf");
39                 break;
40         case IPL_LOGNAT :
41                 printf("nat");
42                 break;
43         case IPL_LOGSTATE :
44                 printf("state");
45                 break;
46         case IPL_LOGAUTH :
47                 printf("auth");
48                 break;
49         case IPL_LOGSYNC :
50                 printf("sync");
51                 break;
52         case IPL_LOGSCAN :
53                 printf("scan");
54                 break;
55         case IPL_LOGLOOKUP :
56                 printf("lookup");
57                 break;
58         case IPL_LOGCOUNT :
59                 printf("count");
60                 break;
61         default :
62                 printf("unknown(%d)", pool->ipo_unit);
63         }
64
65         if ((opts & OPT_DEBUG) == 0) {
66                 PRINTF(" type = tree %s = %s\n",
67                         isdigit(*pool->ipo_name) ? "number" : "name",
68                         pool->ipo_name);
69         } else {
70                 putchar(' ');
71
72                 PRINTF("\tReferences: %d\tHits: %lu\n", pool->ipo_ref,
73                         pool->ipo_hits);
74                 if ((pool->ipo_flags & IPOOL_DELETE) != 0)
75                         PRINTF("# ");
76                 PRINTF("\tNodes Starting at %p\n", pool->ipo_list);
77         }
78 }