From 12c8196ad46808dc9d0e84b3a798509dcf1a41e7 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Fri, 3 May 2019 17:35:37 +0200 Subject: Add utility functions to read the fragment data from an image Signed-off-by: David Oberhollenzer --- include/frag_reader.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 include/frag_reader.h (limited to 'include') diff --git a/include/frag_reader.h b/include/frag_reader.h new file mode 100644 index 0000000..6495f5b --- /dev/null +++ b/include/frag_reader.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later */ +#ifndef FRAG_READER_H +#define FRAG_READER_H + +#include "squashfs.h" +#include "compress.h" + +#include +#include + +typedef struct { + sqfs_fragment_t *tbl; + size_t num_fragments; + + int fd; + compressor_t *cmp; + size_t block_size; + size_t used; + size_t current_index; + uint8_t buffer[]; +} frag_reader_t; + +frag_reader_t *frag_reader_create(sqfs_super_t *super, int fd, + compressor_t *cmp); + +void frag_reader_destroy(frag_reader_t *f); + +int frag_reader_read(frag_reader_t *f, size_t index, size_t offset, + void *buffer, size_t size); + +#endif /* FRAG_READER_H */ -- cgit v1.2.3