Deleted Added
full compact
ip_pool.h (153872) ip_pool.h (170263)
1/*
2 * Copyright (C) 1993-2001, 2003 by Darren Reed.
3 *
4 * See the IPFILTER.LICENCE file for details on licencing.
5 *
1/*
2 * Copyright (C) 1993-2001, 2003 by Darren Reed.
3 *
4 * See the IPFILTER.LICENCE file for details on licencing.
5 *
6 * $Id: ip_pool.h,v 2.26.2.3 2005/06/12 07:18:27 darrenr Exp $
6 * $Id: ip_pool.h,v 2.26.2.5 2007/01/14 14:06:12 darrenr Exp $
7 */
8
9#ifndef __IP_POOL_H__
10#define __IP_POOL_H__
11
12#if defined(_KERNEL) && !defined(__osf__) && !defined(__hpux) && \
13 !defined(linux) && !defined(sun) && !defined(AIX)
14# include <net/radix.h>

--- 15 unchanged lines hidden (view full) ---

30#define IP_POOL_NOMATCH 0
31#define IP_POOL_POSITIVE 1
32
33typedef struct ip_pool_node {
34 struct radix_node ipn_nodes[2];
35 addrfamily_t ipn_addr;
36 addrfamily_t ipn_mask;
37 int ipn_info;
7 */
8
9#ifndef __IP_POOL_H__
10#define __IP_POOL_H__
11
12#if defined(_KERNEL) && !defined(__osf__) && !defined(__hpux) && \
13 !defined(linux) && !defined(sun) && !defined(AIX)
14# include <net/radix.h>

--- 15 unchanged lines hidden (view full) ---

30#define IP_POOL_NOMATCH 0
31#define IP_POOL_POSITIVE 1
32
33typedef struct ip_pool_node {
34 struct radix_node ipn_nodes[2];
35 addrfamily_t ipn_addr;
36 addrfamily_t ipn_mask;
37 int ipn_info;
38 char ipn_name[FR_GROUPLEN];
39 u_long ipn_hits;
38 int ipn_ref;
39char ipn_name[FR_GROUPLEN];
40u_long ipn_hits;
40 struct ip_pool_node *ipn_next, **ipn_pnext;
41} ip_pool_node_t;
42
43
44typedef struct ip_pool_s {
45 struct ip_pool_s *ipo_next;
46 struct ip_pool_s **ipo_pnext;
47 struct radix_node_head *ipo_head;
48 ip_pool_node_t *ipo_list;
49 u_long ipo_hits;
50 int ipo_unit;
51 int ipo_flags;
52 int ipo_ref;
53 char ipo_name[FR_GROUPLEN];
54} ip_pool_t;
55
41 struct ip_pool_node *ipn_next, **ipn_pnext;
42} ip_pool_node_t;
43
44
45typedef struct ip_pool_s {
46 struct ip_pool_s *ipo_next;
47 struct ip_pool_s **ipo_pnext;
48 struct radix_node_head *ipo_head;
49 ip_pool_node_t *ipo_list;
50 u_long ipo_hits;
51 int ipo_unit;
52 int ipo_flags;
53 int ipo_ref;
54 char ipo_name[FR_GROUPLEN];
55} ip_pool_t;
56
56#define IPOOL_ANON 0x80000000
57#define IPOOL_DELETE 0x01
58#define IPOOL_ANON 0x02
57
58
59typedef struct ip_pool_stat {
60 u_long ipls_pools;
61 u_long ipls_tables;
62 u_long ipls_nodes;
63 ip_pool_t *ipls_list[IPL_LOGSIZE];
64} ip_pool_stat_t;
65
66
67extern ip_pool_stat_t ipoolstat;
68extern ip_pool_t *ip_pool_list[IPL_LOGSIZE];
69
70extern int ip_pool_search __P((void *, int, void *));
71extern int ip_pool_init __P((void));
72extern void ip_pool_fini __P((void));
73extern int ip_pool_create __P((iplookupop_t *));
74extern int ip_pool_insert __P((ip_pool_t *, i6addr_t *, i6addr_t *, int));
75extern int ip_pool_remove __P((ip_pool_t *, ip_pool_node_t *));
59
60
61typedef struct ip_pool_stat {
62 u_long ipls_pools;
63 u_long ipls_tables;
64 u_long ipls_nodes;
65 ip_pool_t *ipls_list[IPL_LOGSIZE];
66} ip_pool_stat_t;
67
68
69extern ip_pool_stat_t ipoolstat;
70extern ip_pool_t *ip_pool_list[IPL_LOGSIZE];
71
72extern int ip_pool_search __P((void *, int, void *));
73extern int ip_pool_init __P((void));
74extern void ip_pool_fini __P((void));
75extern int ip_pool_create __P((iplookupop_t *));
76extern int ip_pool_insert __P((ip_pool_t *, i6addr_t *, i6addr_t *, int));
77extern int ip_pool_remove __P((ip_pool_t *, ip_pool_node_t *));
76extern int ip_pool_destroy __P((iplookupop_t *));
78extern int ip_pool_destroy __P((int, char *));
77extern void ip_pool_free __P((ip_pool_t *));
78extern void ip_pool_deref __P((ip_pool_t *));
79extern void ip_pool_free __P((ip_pool_t *));
80extern void ip_pool_deref __P((ip_pool_t *));
81extern void ip_pool_node_deref __P((ip_pool_node_t *));
79extern void *ip_pool_find __P((int, char *));
80extern ip_pool_node_t *ip_pool_findeq __P((ip_pool_t *,
81 addrfamily_t *, addrfamily_t *));
82extern int ip_pool_flush __P((iplookupflush_t *));
83extern int ip_pool_statistics __P((iplookupop_t *));
82extern void *ip_pool_find __P((int, char *));
83extern ip_pool_node_t *ip_pool_findeq __P((ip_pool_t *,
84 addrfamily_t *, addrfamily_t *));
85extern int ip_pool_flush __P((iplookupflush_t *));
86extern int ip_pool_statistics __P((iplookupop_t *));
87extern int ip_pool_getnext __P((ipftoken_t *, ipflookupiter_t *));
88extern void ip_pool_iterderef __P((u_int, int, void *));
84
85#endif /* __IP_POOL_H__ */
89
90#endif /* __IP_POOL_H__ */