Lines Matching refs:start
27 #define START(node) ((node)->start)
30 #define MAKE_NODE(node, start, end, ref_cnt, flags, err, err_out) \
32 node = usnic_uiom_interval_node_alloc(start, \
42 #define MAKE_NODE_AND_APPEND(node, start, end, ref_cnt, flags, err, \
45 MAKE_NODE(node, start, end, \
55 usnic_uiom_interval_node_alloc(long int start, long int last, int ref_cnt,
63 interval->start = start;
79 if (node_a->start < node_b->start)
81 else if (node_a->start > node_b->start)
88 find_intervals_intersection_sorted(struct rb_root *root, unsigned long start,
96 for (node = usnic_uiom_interval_tree_iter_first(root, start, last);
98 node = usnic_uiom_interval_tree_iter_next(node, start, last))
104 int usnic_uiom_get_intervals_diff(unsigned long start, unsigned long last,
111 long int pivot = start;
116 find_intervals_intersection_sorted(root, start, last,
120 if (pivot < interval->start) {
121 MAKE_NODE_AND_APPEND(tmp, pivot, interval->start - 1,
124 pivot = interval->start;
128 * Invariant: Set [start, pivot] is either in diff_set or root,
163 int usnic_uiom_insert_interval(struct rb_root *root, unsigned long start,
169 unsigned long lpivot = start;
174 find_intervals_intersection_sorted(root, start, last,
182 istart = interval->start;
234 void usnic_uiom_remove_interval(struct rb_root *root, unsigned long start,
239 for (interval = usnic_uiom_interval_tree_iter_first(root, start, last);
242 start,