summaryrefslogtreecommitdiff
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
parentea1cb44cc85e70fdeb8514fc909c54af72b1bfe9 (diff)
Move abstract squashfs I/O code to libsquashfs.a
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r--include/meta_writer.h24
-rw-r--r--lib/Makemodule.am5
-rw-r--r--lib/sqfs/meta_writer.c (renamed from mkfs/meta_writer.c)3
-rw-r--r--mkfs/Makemodule.am5
-rw-r--r--mkfs/mksquashfs.h16
5 files changed, 32 insertions, 21 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 */
diff --git a/lib/Makemodule.am b/lib/Makemodule.am
index 67804d8..c969eff 100644
--- a/lib/Makemodule.am
+++ b/lib/Makemodule.am
@@ -6,6 +6,9 @@ libcompress_a_SOURCES = lib/comp/compressor.c lib/comp/internal.h
libcompress_a_CFLAGS = $(AM_CFLAGS)
libcompress_a_CPPFLAGS = $(AM_CPPFLAGS)
+libsquashfs_a_SOURCES = include/meta_writer.h include/squashfs.h
+libsquashfs_a_SOURCES += lib/sqfs/meta_writer.c
+
libutil_a_SOURCES = lib/util/canonicalize_name.c lib/util/write_retry.c
libutil_a_SOURCES += lib/util/read_retry.c include/util.h
@@ -23,4 +26,4 @@ libcompress_a_CFLAGS += $(XZ_CFLAGS)
libcompress_a_CPPFLAGS += -DWITH_LZMA
endif
-noinst_LIBRARIES += libfstree.a libcompress.a libutil.a
+noinst_LIBRARIES += libfstree.a libcompress.a libutil.a libsquashfs.a
diff --git a/mkfs/meta_writer.c b/lib/sqfs/meta_writer.c
index 3219c91..95092d5 100644
--- a/mkfs/meta_writer.c
+++ b/lib/sqfs/meta_writer.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: GPL-3.0-or-later */
-#include "mksquashfs.h"
+#include "meta_writer.h"
+#include "squashfs.h"
#include "util.h"
#include <string.h>
diff --git a/mkfs/Makemodule.am b/mkfs/Makemodule.am
index a9ee7fa..838b7b9 100644
--- a/mkfs/Makemodule.am
+++ b/mkfs/Makemodule.am
@@ -1,7 +1,6 @@
mksquashfs_SOURCES = mkfs/mksquashfs.c mkfs/mksquashfs.h mkfs/block.c
-mksquashfs_SOURCES += mkfs/options.c mkfs/meta_writer.c mkfs/super.c
-mksquashfs_SOURCES += include/squashfs.h
-mksquashfs_LDADD = libfstree.a libcompress.a libutil.a
+mksquashfs_SOURCES += mkfs/options.c mkfs/super.c
+mksquashfs_LDADD = libsquashfs.a libfstree.a libcompress.a libutil.a
if WITH_LZMA
mksquashfs_LDADD += $(XZ_LIBS)
diff --git a/mkfs/mksquashfs.h b/mkfs/mksquashfs.h
index da9c937..a9b163f 100644
--- a/mkfs/mksquashfs.h
+++ b/mkfs/mksquashfs.h
@@ -28,14 +28,6 @@ typedef struct {
} options_t;
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;
-
-typedef struct {
int outfd;
options_t opt;
sqfs_super_t super;
@@ -62,14 +54,6 @@ int sqfs_padd_file(sqfs_info_t *info);
int sqfs_super_write(sqfs_info_t *info);
-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);
-
int write_data_to_image(sqfs_info_t *info);
#endif /* MKSQUASHFS_H */