003 File Manager
Current Path:
/usr/src/sys/contrib/ipfilter/netinet
usr
/
src
/
sys
/
contrib
/
ipfilter
/
netinet
/
📁
..
📄
IPFILTER.LICENCE
(1.41 KB)
📄
fil.c
(317.13 KB)
📄
ip_auth.c
(36.11 KB)
📄
ip_auth.h
(2.4 KB)
📄
ip_compat.h
(30.71 KB)
📄
ip_dns_pxy.c
(8.11 KB)
📄
ip_dstlist.c
(43.85 KB)
📄
ip_dstlist.h
(1.43 KB)
📄
ip_fil.h
(54.87 KB)
📄
ip_fil_freebsd.c
(31.55 KB)
📄
ip_frag.c
(43.2 KB)
📄
ip_frag.h
(3.5 KB)
📄
ip_ftp_pxy.c
(50.12 KB)
📄
ip_htable.c
(43.72 KB)
📄
ip_htable.h
(2.04 KB)
📄
ip_ipsec_pxy.c
(10.34 KB)
📄
ip_irc_pxy.c
(8.19 KB)
📄
ip_log.c
(25.82 KB)
📄
ip_lookup.c
(30.94 KB)
📄
ip_lookup.h
(4.61 KB)
📄
ip_nat.c
(248.84 KB)
📄
ip_nat.h
(23.04 KB)
📄
ip_nat6.c
(116.43 KB)
📄
ip_netbios_pxy.c
(3.22 KB)
📄
ip_pool.c
(46.01 KB)
📄
ip_pool.h
(1.34 KB)
📄
ip_pptp_pxy.c
(13.77 KB)
📄
ip_proxy.c
(44.36 KB)
📄
ip_proxy.h
(11.53 KB)
📄
ip_raudio_pxy.c
(7.65 KB)
📄
ip_rcmd_pxy.c
(7.04 KB)
📄
ip_rpcb_pxy.c
(39.93 KB)
📄
ip_rules.c
(6.29 KB)
📄
ip_rules.h
(470 B)
📄
ip_scan.c
(11.06 KB)
📄
ip_scan.h
(2.56 KB)
📄
ip_state.c
(161.15 KB)
📄
ip_state.h
(9.55 KB)
📄
ip_sync.c
(43.47 KB)
📄
ip_sync.h
(3.46 KB)
📄
ip_tftp_pxy.c
(10.57 KB)
📄
ipf_rb.h
(10.37 KB)
📄
ipl.h
(360 B)
📄
mlfk_ipl.c
(15.57 KB)
📄
radix_ipf.c
(41.94 KB)
📄
radix_ipf.h
(2.63 KB)
Editing: radix_ipf.h
/* * 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 __P((void)); extern int ipf_rx_init __P((void *)); extern void ipf_rx_destroy __P((void *)); extern int ipf_rx_inithead __P((radix_softc_t *, ipf_rdx_head_t **)); extern void ipf_rx_freehead __P((ipf_rdx_head_t *)); extern ipf_rdx_node_t *ipf_rx_addroute __P((ipf_rdx_head_t *, addrfamily_t *, addrfamily_t *, ipf_rdx_node_t *)); extern ipf_rdx_node_t *ipf_rx_delete __P((ipf_rdx_head_t *, addrfamily_t *, addrfamily_t *)); extern void ipf_rx_walktree __P((ipf_rdx_head_t *, radix_walk_func_t, void *)); #endif /* __RADIX_IPF_H__ */
Upload File
Create Folder