linux/include/linux/interval_tree.h
<<
>>
Prefs
   1#ifndef _LINUX_INTERVAL_TREE_H
   2#define _LINUX_INTERVAL_TREE_H
   3
   4#include <linux/rbtree.h>
   5
   6struct interval_tree_node {
   7        struct rb_node rb;
   8        unsigned long start;    /* Start of interval */
   9        unsigned long last;     /* Last location _in_ interval */
  10        unsigned long __subtree_last;
  11};
  12
  13extern void
  14interval_tree_insert(struct interval_tree_node *node, struct rb_root *root);
  15
  16extern void
  17interval_tree_remove(struct interval_tree_node *node, struct rb_root *root);
  18
  19extern struct interval_tree_node *
  20interval_tree_iter_first(struct rb_root *root,
  21                         unsigned long start, unsigned long last);
  22
  23extern struct interval_tree_node *
  24interval_tree_iter_next(struct interval_tree_node *node,
  25                        unsigned long start, unsigned long last);
  26
  27#endif  /* _LINUX_INTERVAL_TREE_H */
  28