From 6ba88daae14e64009619562209060532eb6eadbb Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 1 May 2019 16:11:16 +0200 Subject: Add meta data reader implementation Signed-off-by: David Oberhollenzer --- include/meta_reader.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 include/meta_reader.h (limited to 'include') diff --git a/include/meta_reader.h b/include/meta_reader.h new file mode 100644 index 0000000..4c03996 --- /dev/null +++ b/include/meta_reader.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later */ +#ifndef META_READER_H +#define META_READER_H + +#include "compress.h" +#include "squashfs.h" + +typedef struct { + uint64_t block_offset; + uint64_t next_block; + size_t offset; + int fd; + compressor_t *cmp; + uint8_t data[SQFS_META_BLOCK_SIZE]; +} meta_reader_t; + +meta_reader_t *meta_reader_create(int fd, compressor_t *cmp); + +void meta_reader_destroy(meta_reader_t *m); + +int meta_reader_seek(meta_reader_t *m, uint64_t block_start, + size_t offset); + +int meta_reader_read(meta_reader_t *m, void *data, size_t size); + +#endif /* META_READER_H */ -- cgit v1.2.3