radix.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  squid_radix_node
 
struct  squid_radix_mask
 
struct  squid_radix_node_head
 

Macros

#define RNF_NORMAL   1 /* leaf contains normal route */
 
#define RNF_ROOT   2 /* leaf is root leaf for tree */
 
#define RNF_ACTIVE   4 /* This node is alive (for rtfree) */
 
#define rn_key   rn_u.rn_leaf.rn_Key
 
#define rn_mask   rn_u.rn_leaf.rn_Mask
 

Functions

SQUIDCEXTERN void squid_rn_init (void)
 
SQUIDCEXTERN int squid_rn_inithead (struct squid_radix_node_head **, int)
 
SQUIDCEXTERN int squid_rn_refines (void *, void *)
 
SQUIDCEXTERN int squid_rn_walktree (struct squid_radix_node_head *, int(*)(struct squid_radix_node *, void *), void *)
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_addmask (void *, int, int)
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_addroute (void *, void *, struct squid_radix_node_head *, struct squid_radix_node[2])
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_delete (void *, void *, struct squid_radix_node_head *)
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_insert (void *, struct squid_radix_node_head *, int *, struct squid_radix_node[2])
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_match (void *, struct squid_radix_node_head *)
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_newpair (void *, int, struct squid_radix_node[2])
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_search (void *, struct squid_radix_node *)
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_search_m (void *, struct squid_radix_node *, void *)
 
SQUIDCEXTERN struct squid_radix_nodesquid_rn_lookup (void *, void *, struct squid_radix_node_head *)
 

Macro Definition Documentation

◆ rn_key

#define rn_key   rn_u.rn_leaf.rn_Key

Definition at line 82 of file radix.h.

◆ rn_mask

#define rn_mask   rn_u.rn_leaf.rn_Mask

Definition at line 83 of file radix.h.

◆ RNF_ACTIVE

#define RNF_ACTIVE   4 /* This node is alive (for rtfree) */

Definition at line 61 of file radix.h.

◆ RNF_NORMAL

#define RNF_NORMAL   1 /* leaf contains normal route */

Definition at line 59 of file radix.h.

◆ RNF_ROOT

#define RNF_ROOT   2 /* leaf is root leaf for tree */

Definition at line 60 of file radix.h.

Function Documentation

◆ squid_rn_addmask()

◆ squid_rn_addroute()

◆ squid_rn_delete()

◆ squid_rn_init()

SQUIDCEXTERN void squid_rn_init ( void  )

Definition at line 883 of file radix.c.

References addmask_key, NULL, rn_ones, rn_zeros, squid_mask_rnhead, squid_max_keylen, squid_R_Malloc, and squid_rn_inithead().

Referenced by asnInit().

◆ squid_rn_inithead()

◆ squid_rn_insert()

SQUIDCEXTERN struct squid_radix_node * squid_rn_insert ( void *  v_arg,
struct squid_radix_node_head head,
int dupentry,
struct squid_radix_node  nodes[2] 
)

◆ squid_rn_lookup()

SQUIDCEXTERN struct squid_radix_node * squid_rn_lookup ( void *  v_arg,
void *  m_arg,
struct squid_radix_node_head head 
)

Definition at line 206 of file radix.c.

References head, NULL, squid_rn_addmask(), and squid_rn_match().

Referenced by asnAddNet(), and squid_rn_inithead().

◆ squid_rn_match()

◆ squid_rn_newpair()

SQUIDCEXTERN struct squid_radix_node * squid_rn_newpair ( void *  v,
int  b,
struct squid_radix_node  nodes[2] 
)

◆ squid_rn_refines()

SQUIDCEXTERN int squid_rn_refines ( void *  m_arg,
void *  n_arg 
)

Definition at line 180 of file radix.c.

References int.

Referenced by squid_rn_addroute().

◆ squid_rn_search()

SQUIDCEXTERN struct squid_radix_node * squid_rn_search ( void *  v_arg,
struct squid_radix_node head 
)

Definition at line 151 of file radix.c.

References head, squid_radix_node::rn_b, and squid_radix_node::rn_bmask.

Referenced by squid_rn_addmask(), squid_rn_delete(), and squid_rn_insert().

◆ squid_rn_search_m()

SQUIDCEXTERN struct squid_radix_node * squid_rn_search_m ( void *  v_arg,
struct squid_radix_node head,
void *  m_arg 
)

Definition at line 165 of file radix.c.

References head, squid_radix_node::rn_b, and squid_radix_node::rn_bmask.

Referenced by squid_rn_match().

◆ squid_rn_walktree()

SQUIDCEXTERN int squid_rn_walktree ( struct squid_radix_node_head h,
int(*)(struct squid_radix_node *, void *)  f,
void *  w 
)

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors