summaryrefslogtreecommitdiff
path: root/libstore/store.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2001-12-29 00:31:52 +0000
committerRoland McGrath <roland@gnu.org>2001-12-29 00:31:52 +0000
commite251acc12f50473729daa7c1b1890f1c050063c0 (patch)
tree88028e6999f09108f42a3a378459d07b50e0ed21 /libstore/store.h
parent1d751a7a5810c6b1bdf4557dfb8bdfdb27405fea (diff)
2001-12-26 Roland McGrath <roland@frob.com>
* unknown.c: New file. * Makefile (SRCS): Add it. * store.h (store_unknown_class, store_unknown_decode): Declare them. * create.c (store_create): If store_decode fails with EINVAL, and we were called with the STORE_NO_FILEIO flag bit set, then use store_unknown_decode.
Diffstat (limited to 'libstore/store.h')
-rw-r--r--libstore/store.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libstore/store.h b/libstore/store.h
index 0f13f96f..6fc77950 100644
--- a/libstore/store.h
+++ b/libstore/store.h
@@ -428,6 +428,14 @@ error_t store_url_open (const char *name, int flags,
const struct store_class *const *classes,
struct store **store);
+/* Return a new store of type "unknown" that holds a copy of the
+ given encoding. The name of the store is taken from ENC->data.
+ Future calls to store_encode/store_return will produce exactly
+ the encoding supplied here. All i/o operations fail with EFTYPE. */
+error_t store_unknown_decode (struct store_enc *enc,
+ const struct store_class *const *classes,
+ struct store **store);
+
/* Return a new store in STORE that interleaves all the stores in STRIPES
(NUM_STRIPES of them) every INTERLEAVE bytes; INTERLEAVE must be an
integer multiple of each stripe's block size. The stores in STRIPES are
@@ -534,6 +542,7 @@ extern const struct store_class store_gunzip_class;
extern const struct store_class store_bunzip2_class;
extern const struct store_class store_typed_open_class;
extern const struct store_class store_url_open_class;
+extern const struct store_class store_unknown_class;
/* The following are not included in STORE_STD_CLASSES. */
extern const struct store_class store_mvol_class;