1 // SPDX-License-Identifier: Zlib
2 #ifndef DFLTCC_INFLATE_H
3 #define DFLTCC_INFLATE_H
7 /* External functions */
8 void dfltcc_reset_inflate_state(z_streamp strm
);
9 int dfltcc_can_inflate(z_streamp strm
);
11 DFLTCC_INFLATE_CONTINUE
,
13 DFLTCC_INFLATE_SOFTWARE
,
14 } dfltcc_inflate_action
;
15 dfltcc_inflate_action
dfltcc_inflate(z_streamp strm
,
17 #define INFLATE_RESET_HOOK(strm) \
18 dfltcc_reset_inflate_state((strm))
20 #define INFLATE_TYPEDO_HOOK(strm, flush) \
21 if (dfltcc_can_inflate((strm))) { \
22 dfltcc_inflate_action action; \
25 action = dfltcc_inflate((strm), (flush), &ret); \
27 if (action == DFLTCC_INFLATE_CONTINUE) \
29 else if (action == DFLTCC_INFLATE_BREAK) \
33 #define INFLATE_NEED_CHECKSUM(strm) (!dfltcc_can_inflate((strm)))
35 #define INFLATE_NEED_UPDATEWINDOW(strm) (!dfltcc_can_inflate((strm)))
37 #endif /* DFLTCC_DEFLATE_H */