+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct S3Store;
+
+/* Reference-counted blocks of memory, used for passing data in and out of
+ * storage backends and in other places. */
+typedef struct {
+ gint refcount;
+ gchar *data;
+ gsize len;
+} BlueSkyRCStr;
+
+BlueSkyRCStr *bluesky_string_new(gpointer data, gsize len);
+void bluesky_string_ref(BlueSkyRCStr *string);
+void bluesky_string_unref(BlueSkyRCStr *string);
+BlueSkyRCStr *bluesky_string_dup(BlueSkyRCStr *string);
+