xref: /openbsd-src/sys/dev/pci/drm/include/linux/interval_tree.h (revision cfaa6efe52731784c0e5db80d9c1939a3fd93a0a)
1*cfaa6efeSjsg /* Public domain. */
2*cfaa6efeSjsg 
3*cfaa6efeSjsg #ifndef _LINUX_INTERVAL_TREE_H
4*cfaa6efeSjsg #define _LINUX_INTERVAL_TREE_H
5*cfaa6efeSjsg 
6*cfaa6efeSjsg #include <linux/rbtree.h>
7*cfaa6efeSjsg 
8*cfaa6efeSjsg struct interval_tree_node {
9*cfaa6efeSjsg 	struct rb_node rb;
10*cfaa6efeSjsg 	unsigned long start;
11*cfaa6efeSjsg 	unsigned long last;
12*cfaa6efeSjsg };
13*cfaa6efeSjsg 
14*cfaa6efeSjsg struct interval_tree_node *interval_tree_iter_first(struct rb_root_cached *,
15*cfaa6efeSjsg     unsigned long, unsigned long);
16*cfaa6efeSjsg void interval_tree_insert(struct interval_tree_node *, struct rb_root_cached *);
17*cfaa6efeSjsg void interval_tree_remove(struct interval_tree_node *, struct rb_root_cached *);
18*cfaa6efeSjsg 
19*cfaa6efeSjsg #endif
20