summaryrefslogtreecommitdiff
path: root/lib/fstream/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/fstream/internal.h')
-rw-r--r--lib/fstream/internal.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/fstream/internal.h b/lib/fstream/internal.h
index ae6a29a..160a523 100644
--- a/lib/fstream/internal.h
+++ b/lib/fstream/internal.h
@@ -37,6 +37,18 @@ typedef struct ostream_comp_t {
void (*cleanup)(struct ostream_comp_t *ostrm);
} ostream_comp_t;
+typedef struct istream_comp_t {
+ istream_t base;
+
+ istream_t *wrapped;
+
+ sqfs_u8 uncompressed[BUFSZ];
+
+ bool eof;
+
+ void (*cleanup)(struct istream_comp_t *strm);
+} istream_comp_t;
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -45,6 +57,10 @@ SQFS_INTERNAL ostream_comp_t *ostream_gzip_create(const char *filename);
SQFS_INTERNAL ostream_comp_t *ostream_xz_create(const char *filename);
+SQFS_INTERNAL istream_comp_t *istream_gzip_create(const char *filename);
+
+SQFS_INTERNAL istream_comp_t *istream_xz_create(const char *filename);
+
#ifdef __cplusplus
}
#endif