Lines Matching defs:rangelist

36 #include "rangelist.h"
38 static enum rl_overlaptype rl_scan_from(struct rl_head *rangelist, off_t start, off_t end, struct rl_entry **overlap, struct rl_entry *range);
39 static void rl_collapse_forwards(struct rl_head *rangelist, struct rl_entry *range);
40 static void rl_collapse_backwards(struct rl_head *rangelist, struct rl_entry *range);
41 static void rl_collapse_neighbors(struct rl_head *rangelist, struct rl_entry *range);
46 rl_verify(struct rl_head *rangelist) {
51 TAILQ_FOREACH_SAFE(rangelist, entry, rl_link, next) {
65 rl_init(struct rl_head *rangelist)
67 TAILQ_INIT(rangelist);
76 rl_add(off_t start, off_t end, struct rl_head *rangelist)
86 ovcase = rl_scan(rangelist, start, end, &overlap);
111 TAILQ_INSERT_AFTER(rangelist, overlap, range, rl_link);
113 TAILQ_INSERT_HEAD(rangelist, range, rl_link);
119 rl_collapse_neighbors(rangelist, range);
133 rl_collapse_neighbors(rangelist, overlap);
142 rl_collapse_forwards(rangelist, overlap);
151 rl_collapse_backwards(rangelist, overlap);
157 rl_verify(rangelist);
170 rl_remove(off_t start, off_t end, struct rl_head *rangelist)
179 if (TAILQ_EMPTY(rangelist)) {
183 range = TAILQ_FIRST(rangelist);
184 while ((ovcase = rl_scan_from(rangelist, start, end, &overlap, range))) {
188 TAILQ_REMOVE(rangelist, overlap, rl_link);
214 TAILQ_INSERT_AFTER(rangelist, overlap, splitrange, rl_link);
220 TAILQ_REMOVE(rangelist, overlap, rl_link);
244 rl_verify(rangelist);
258 rl_scan(struct rl_head *rangelist,
263 if (TAILQ_EMPTY(rangelist)) {
268 return rl_scan_from(rangelist, start, end, overlap, TAILQ_FIRST(rangelist));
281 rl_scan_from(struct rl_head *rangelist,
287 if (TAILQ_EMPTY(rangelist)) {
293 rl_verify(rangelist);
370 rl_collapse_forwards(struct rl_head *rangelist, struct rl_entry *range) {
380 TAILQ_REMOVE(rangelist, next_range, rl_link);
384 rl_verify(rangelist);
392 rl_collapse_backwards(struct rl_head *rangelist, struct rl_entry *range) {
398 rl_verify(rangelist);
407 TAILQ_REMOVE(rangelist, prev_range, rl_link);
415 rl_collapse_neighbors(struct rl_head *rangelist, struct rl_entry *range)
417 rl_collapse_forwards(rangelist, range);
418 rl_collapse_backwards(rangelist, range);
426 void rl_add(off_t start, off_t end, void *rangelist);
427 void rl_init(void *rangelist);
428 void rl_remove(off_t start, off_t end, void *rangelist);
429 int rl_scan(void *rangelist, off_t start, off_t end, void **overlap);
431 void rl_add(__unused off_t start, __unused off_t end, __unused void *rangelist)
436 void rl_init(__unused void *rangelist)
441 void rl_remove(__unused off_t start, __unused off_t end, __unused void *rangelist)
446 int rl_scan(__unused void *rangelist, __unused off_t start, __unused off_t end, __unused void **overlap)