+struct BlueSkyRangeset;
+typedef struct BlueSkyRangeset BlueSkyRangeset;
+typedef struct {
+ uint64_t start, length;
+ gpointer data;
+} BlueSkyRangesetItem;
+
+BlueSkyRangeset *bluesky_rangeset_new();
+void bluesky_rangeset_free(BlueSkyRangeset *rangeset);
+gboolean bluesky_rangeset_insert(BlueSkyRangeset *rangeset,
+ uint64_t start, uint64_t length,
+ gpointer data);
+const BlueSkyRangesetItem *bluesky_rangeset_lookup(BlueSkyRangeset *rangeset,
+ uint64_t offset);
+const BlueSkyRangesetItem *bluesky_rangeset_lookup_next(BlueSkyRangeset *rangeset, uint64_t offset);
+void bluesky_rangeset_get_extents(BlueSkyRangeset *rangeset,
+ uint64_t *start, uint64_t *length);
+