5 #ifndef vnsw_agent_patricia_api_h
6 #define vnsw_agent_patricia_api_h
18 #define PATNODE_TO_STRUCT(function, structure, pat_node) \
19 static inline structure *(function)(patnode *node) { \
21 return (structure *)((char *)node - offsetof(structure, pat_node)); \
27 uint16_t klen, uint8_t offset);
void patricia_root_delete(patroot *root)
patnode * patricia_lookup_least(patroot *root)
patnode * patricia_lookup_greatest(patroot *root)
patnode * patricia_get_next(patroot *root, patnode *node)
patnode * patricia_get_previous(patroot *root, patnode *node)
boolean patricia_add(patroot *root, patnode *node)
patnode * patricia_lookup(patroot *root, const void *key)
patroot * patricia_root_init(patroot *root, boolean key_is_ptr, uint16_t klen, uint8_t koffset)
boolean patricia_delete(patroot *root, patnode *node)
patnode * patricia_lookup_geq(patroot *root, patnode *node)