mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 01:01:06 +00:00
ipfilter: radix_ipf is a kernel source file
Remove duplicate radix_ipf.* files. They live in sys/. MFC after: 1 week
This commit is contained in:
parent
8f945ad25f
commit
9a563c5e48
File diff suppressed because it is too large
Load diff
|
@ -1,97 +0,0 @@
|
|||
/* $FreeBSD$ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2012 by Darren Reed.
|
||||
*
|
||||
* See the IPFILTER.LICENCE file for details on licencing.
|
||||
*/
|
||||
#ifndef __RADIX_IPF_H__
|
||||
#define __RADIX_IPF_H__
|
||||
|
||||
#ifndef U_32_T
|
||||
typedef unsigned int u_32_t;
|
||||
# define U_32_T 1
|
||||
#endif
|
||||
|
||||
typedef struct ipf_rdx_mask {
|
||||
struct ipf_rdx_mask *next;
|
||||
struct ipf_rdx_node *node;
|
||||
u_32_t *mask;
|
||||
int maskbitcount;
|
||||
} ipf_rdx_mask_t;
|
||||
|
||||
typedef struct ipf_rdx_node {
|
||||
struct ipf_rdx_node *left;
|
||||
struct ipf_rdx_node *right;
|
||||
struct ipf_rdx_node *parent;
|
||||
struct ipf_rdx_node *dupkey;
|
||||
struct ipf_rdx_mask *masks;
|
||||
struct ipf_rdx_mask *mymask;
|
||||
u_32_t *addrkey;
|
||||
u_32_t *maskkey;
|
||||
u_32_t *addroff;
|
||||
u_32_t *maskoff;
|
||||
u_32_t lastmask;
|
||||
u_32_t bitmask;
|
||||
int offset;
|
||||
int index;
|
||||
int maskbitcount;
|
||||
int root;
|
||||
#ifdef RDX_DEBUG
|
||||
char name[40];
|
||||
#endif
|
||||
} ipf_rdx_node_t;
|
||||
|
||||
struct ipf_rdx_head;
|
||||
|
||||
typedef void (* radix_walk_func_t)(ipf_rdx_node_t *, void *);
|
||||
typedef ipf_rdx_node_t *(* idx_hamn_func_t)(struct ipf_rdx_head *,
|
||||
addrfamily_t *, addrfamily_t *,
|
||||
ipf_rdx_node_t *);
|
||||
typedef ipf_rdx_node_t *(* idx_ham_func_t)(struct ipf_rdx_head *,
|
||||
addrfamily_t *, addrfamily_t *);
|
||||
typedef ipf_rdx_node_t *(* idx_ha_func_t)(struct ipf_rdx_head *,
|
||||
addrfamily_t *);
|
||||
typedef void (* idx_walk_func_t)(struct ipf_rdx_head *,
|
||||
radix_walk_func_t, void *);
|
||||
|
||||
typedef struct ipf_rdx_head {
|
||||
ipf_rdx_node_t *root;
|
||||
ipf_rdx_node_t nodes[3];
|
||||
ipfmutex_t lock;
|
||||
idx_hamn_func_t addaddr; /* add addr/mask to tree */
|
||||
idx_ham_func_t deladdr; /* delete addr/mask from tree */
|
||||
idx_ham_func_t lookup; /* look for specific addr/mask */
|
||||
idx_ha_func_t matchaddr; /* search tree for address match */
|
||||
idx_walk_func_t walktree; /* walk entire tree */
|
||||
} ipf_rdx_head_t;
|
||||
|
||||
typedef struct radix_softc {
|
||||
u_char *zeros;
|
||||
u_char *ones;
|
||||
} radix_softc_t;
|
||||
|
||||
#undef RADIX_NODE_HEAD_LOCK
|
||||
#undef RADIX_NODE_HEAD_UNLOCK
|
||||
#ifdef _KERNEL
|
||||
# define RADIX_NODE_HEAD_LOCK(x) MUTEX_ENTER(&(x)->lock)
|
||||
# define RADIX_NODE_HEAD_UNLOCK(x) MUTEX_UNLOCK(&(x)->lock)
|
||||
#else
|
||||
# define RADIX_NODE_HEAD_LOCK(x)
|
||||
# define RADIX_NODE_HEAD_UNLOCK(x)
|
||||
#endif
|
||||
|
||||
extern void *ipf_rx_create(void);
|
||||
extern int ipf_rx_init(void *);
|
||||
extern void ipf_rx_destroy(void *);
|
||||
extern int ipf_rx_inithead(radix_softc_t *, ipf_rdx_head_t **);
|
||||
extern void ipf_rx_freehead(ipf_rdx_head_t *);
|
||||
extern ipf_rdx_node_t *ipf_rx_addroute(ipf_rdx_head_t *,
|
||||
addrfamily_t *, addrfamily_t *,
|
||||
ipf_rdx_node_t *);
|
||||
extern ipf_rdx_node_t *ipf_rx_delete(ipf_rdx_head_t *, addrfamily_t *,
|
||||
addrfamily_t *);
|
||||
extern void ipf_rx_walktree(ipf_rdx_head_t *, radix_walk_func_t,
|
||||
void *);
|
||||
|
||||
#endif /* __RADIX_IPF_H__ */
|
Loading…
Reference in a new issue