Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #ifndef _LINUX_INTERVAL_TREE_H
  2. #define _LINUX_INTERVAL_TREE_H
  3.  
  4. #include <linux/rbtree.h>
  5.  
  6. struct 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.  
  13. extern void
  14. interval_tree_insert(struct interval_tree_node *node, struct rb_root *root);
  15.  
  16. extern void
  17. interval_tree_remove(struct interval_tree_node *node, struct rb_root *root);
  18.  
  19. extern struct interval_tree_node *
  20. interval_tree_iter_first(struct rb_root *root,
  21.                          unsigned long start, unsigned long last);
  22.  
  23. extern struct interval_tree_node *
  24. interval_tree_iter_next(struct interval_tree_node *node,
  25.                         unsigned long start, unsigned long last);
  26.  
  27. #endif  /* _LINUX_INTERVAL_TREE_H */
  28.