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