X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky.h;h=8fbcc0da8b41cf25a3b9c2787013375c1ade4e80;hb=9f0e2f7de7d919d6a83944f0e7fdbd07cb6c4189;hp=87c58a2b9abcd0c29e06fc97626a29a97114c759;hpb=772058dfc33fbe4857864b4bdb8ba947eca19303;p=bluesky.git diff --git a/bluesky/bluesky.h b/bluesky/bluesky.h index 87c58a2..8fbcc0d 100644 --- a/bluesky/bluesky.h +++ b/bluesky/bluesky.h @@ -87,11 +87,18 @@ void bluesky_string_resize(BlueSkyRCStr *string, gsize len); 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, - int start, int length, gpointer data); -gpointer bluesky_rangeset_lookup(BlueSkyRangeset *rangeset, int start); + uint64_t start, uint64_t length, + gpointer data); +const BlueSkyRangesetItem *bluesky_rangeset_lookup(BlueSkyRangeset *rangeset, + uint64_t offset); /* Storage interface. This presents a key-value store abstraction, and can * have multiple implementations: in-memory, on-disk, in-cloud. */