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__ */ |