Commit c834df84 authored by Dave Marchevsky's avatar Dave Marchevsky Committed by Alexei Starovoitov
Browse files

bpf: Add bpf_rbtree_{add,remove,first} decls to bpf_experimental.h



These kfuncs will be used by selftests in following patches

Signed-off-by: default avatarDave Marchevsky <davemarchevsky@fb.com>
Link: https://lore.kernel.org/r/20230214004017.2534011-7-davemarchevsky@fb.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent a40d3632
Loading
Loading
Loading
Loading
+24 −0
Original line number Original line Diff line number Diff line
@@ -65,4 +65,28 @@ extern struct bpf_list_node *bpf_list_pop_front(struct bpf_list_head *head) __ks
 */
 */
extern struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __ksym;
extern struct bpf_list_node *bpf_list_pop_back(struct bpf_list_head *head) __ksym;


/* Description
 *	Remove 'node' from rbtree with root 'root'
 * Returns
 * 	Pointer to the removed node, or NULL if 'root' didn't contain 'node'
 */
extern struct bpf_rb_node *bpf_rbtree_remove(struct bpf_rb_root *root,
					     struct bpf_rb_node *node) __ksym;

/* Description
 *	Add 'node' to rbtree with root 'root' using comparator 'less'
 * Returns
 *	Nothing
 */
extern void bpf_rbtree_add(struct bpf_rb_root *root, struct bpf_rb_node *node,
			   bool (less)(struct bpf_rb_node *a, const struct bpf_rb_node *b)) __ksym;

/* Description
 *	Return the first (leftmost) node in input tree
 * Returns
 *	Pointer to the node, which is _not_ removed from the tree. If the tree
 *	contains no nodes, returns NULL.
 */
extern struct bpf_rb_node *bpf_rbtree_first(struct bpf_rb_root *root) __ksym;

#endif
#endif