kolibrios/drivers/include/linux/interval_tree.h
Sergey Semyonov (Serge) 0ede580d2f ddk: 3.17-rc1
git-svn-id: svn://kolibrios.org@5056 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-08-23 10:29:27 +00:00

28 lines
757 B
C

#ifndef _LINUX_INTERVAL_TREE_H
#define _LINUX_INTERVAL_TREE_H
#include <linux/rbtree.h>
struct interval_tree_node {
struct rb_node rb;
unsigned long start; /* Start of interval */
unsigned long last; /* Last location _in_ interval */
unsigned long __subtree_last;
};
extern void
interval_tree_insert(struct interval_tree_node *node, struct rb_root *root);
extern void
interval_tree_remove(struct interval_tree_node *node, struct rb_root *root);
extern struct interval_tree_node *
interval_tree_iter_first(struct rb_root *root,
unsigned long start, unsigned long last);
extern struct interval_tree_node *
interval_tree_iter_next(struct interval_tree_node *node,
unsigned long start, unsigned long last);
#endif /* _LINUX_INTERVAL_TREE_H */