summaryrefslogtreecommitdiff
path: root/include/meta_writer.h
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-04-30 20:24:42 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-05-02 12:40:06 +0200
commit76267654ebd43c1dfa28aa290b0d320df9781b2d (patch)
treefe6d0d056f2a21438aba5e0a26e55dfbf0d4ebf4 /include/meta_writer.h
parentea1cb44cc85e70fdeb8514fc909c54af72b1bfe9 (diff)
Move abstract squashfs I/O code to libsquashfs.a
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/meta_writer.h')
-rw-r--r--include/meta_writer.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/meta_writer.h b/include/meta_writer.h
new file mode 100644
index 0000000..03f9a2e
--- /dev/null
+++ b/include/meta_writer.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-3.0-or-later */
+#ifndef META_WRITER_H
+#define META_WRITER_H
+
+#include "compress.h"
+#include "squashfs.h"
+
+typedef struct {
+ uint8_t data[SQFS_META_BLOCK_SIZE + 2];
+ size_t offset;
+ size_t block_offset;
+ int outfd;
+ compressor_t *cmp;
+} meta_writer_t;
+
+meta_writer_t *meta_writer_create(int fd, compressor_t *cmp);
+
+void meta_writer_destroy(meta_writer_t *m);
+
+int meta_writer_flush(meta_writer_t *m);
+
+int meta_writer_append(meta_writer_t *m, const void *data, size_t size);
+
+#endif /* META_WRITER_H */