summaryrefslogtreecommitdiff
path: root/firmware/include
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-02-26 20:17:05 +0000
committerAidan MacDonald <amachronic@protonmail.com>2022-03-04 08:44:56 -0500
commit3bd5f335f75398382944386cd36cfa3224e991c4 (patch)
treeda2ef60f80a94bafb16c7561031ae4cb607f53fb /firmware/include
parentce4620413b42e93db4c58449691eec113f0723b1 (diff)
downloadrockbox-3bd5f335f75398382944386cd36cfa3224e991c4.tar.gz
rockbox-3bd5f335f75398382944386cd36cfa3224e991c4.zip
inflate: Add helper for getting decompressed data size
Helper for another semi-typical operation: find out how big of a buffer should be allocated before decompressing. This can be useful when the stream container doesn't specify the decompressed size. Change-Id: I5f1536f809bb6f9bc6023120c024c3de7cea4269
Diffstat (limited to 'firmware/include')
-rw-r--r--firmware/include/inflate.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/firmware/include/inflate.h b/firmware/include/inflate.h
index 7dae0448e3..1fce186f34 100644
--- a/firmware/include/inflate.h
+++ b/firmware/include/inflate.h
@@ -58,4 +58,13 @@ struct inflate_bufferctx {
58uint32_t inflate_buffer_reader(void* block, uint32_t block_size, void* ctx); 58uint32_t inflate_buffer_reader(void* block, uint32_t block_size, void* ctx);
59uint32_t inflate_buffer_writer(const void* block, uint32_t block_size, void* ctx); 59uint32_t inflate_buffer_writer(const void* block, uint32_t block_size, void* ctx);
60 60
61// dummy writer used if you just want to figure out how big the decompressed
62// data will be. It does not actually write any data. Example usage:
63//
64// size_t size = 0;
65// inflate(it, st, read, rctx, inflate_getsize_writer, &size);
66//
67// Now 'size' will be the size of the decompressed data (assuming no errors).
68uint32_t inflate_getsize_writer(const void* block, uint32_t block_size, void* ctx);
69
61#endif 70#endif