2 * Copyright (C) 2012 by Darren Reed.
4 * See the IPFILTER.LICENCE file for details on licencing.
12 #include "netinet/ip_lookup.h"
13 #include "radix_ipf.h"
15 #define IP_POOL_NOMATCH 0
16 #define IP_POOL_POSITIVE 1
18 typedef struct ip_pool_node {
19 ipf_rdx_node_t ipn_nodes[2];
20 addrfamily_t ipn_addr;
21 addrfamily_t ipn_mask;
25 char ipn_name[FR_GROUPLEN];
29 struct ip_pool_node *ipn_next, **ipn_pnext;
30 struct ip_pool_node *ipn_dnext, **ipn_pdnext;
31 struct ip_pool_s *ipn_owner;
35 typedef struct ip_pool_s {
36 struct ip_pool_s *ipo_next;
37 struct ip_pool_s **ipo_pnext;
38 ipf_rdx_head_t *ipo_head;
39 ip_pool_node_t *ipo_list;
40 ip_pool_node_t **ipo_tail;
41 ip_pool_node_t *ipo_nextaddr;
47 char ipo_name[FR_GROUPLEN];
50 #define IPOOL_DELETE 0x01
51 #define IPOOL_ANON 0x02
54 typedef struct ipf_pool_stat {
58 ip_pool_t *ipls_list[LOOKUP_POOL_SZ];
61 extern ipf_lookup_t ipf_pool_backend;
64 extern void ipf_pool_dump __P((ipf_main_softc_t *, void *));
67 #endif /* __IP_POOL_H__ */