summaryrefslogtreecommitdiff
path: root/firmware/include
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/include')
-rw-r--r--firmware/include/inflate.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/firmware/include/inflate.h b/firmware/include/inflate.h
index b56ccf181a..7dae0448e3 100644
--- a/firmware/include/inflate.h
+++ b/firmware/include/inflate.h
@@ -23,6 +23,7 @@
23#define _INFLATE_H_ 23#define _INFLATE_H_
24 24
25#include <stdint.h> 25#include <stdint.h>
26#include <stddef.h>
26 27
27enum { 28enum {
28 INFLATE_RAW, 29 INFLATE_RAW,
@@ -43,4 +44,18 @@ extern const uint32_t inflate_align;
43// see above enum for possible options. 44// see above enum for possible options.
44int inflate(struct inflate* it, int st, inflate_reader read, void* rctx, inflate_writer write, void* wctx); 45int inflate(struct inflate* it, int st, inflate_reader read, void* rctx, inflate_writer write, void* wctx);
45 46
47struct inflate_bufferctx {
48 // initialize this with your input/output buffer.
49 // the pointer is updated as data is read or written.
50 void* buf;
51
52 // buffer end marker (= buf + buf_size).
53 void* end;
54};
55
56// reader and writer for using an in-memory buffer.
57// Use 'inflate_bufferctx' as the context argument.
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);
60
46#endif 61#endif