GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_io_zlib.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2/*
3 * Copyright (C) 2009-2014 Cyril Hrubis <metan@ucw.cz>
4 */
5
6 /*
7
8 Zlib decompression stream.
9
10 */
11
12#ifndef LOADERS_GP_IO_ZLIB_H
13#define LOADERS_GP_IO_ZLIB_H
14
15#include <loaders/gp_io.h>
16
17/*
18 * Create an Zlib RAW inflate stream on the top of the existing I/O stream.
19 *
20 * The stream will read up to comp_size bytes from the parent I/O.
21 *
22 * If comp_size is 0, no limit on number bytes from the parent stream is set.
23 * However if end of compressed stream is reached the last read will attempt to
24 * seek back by the number of extra buffered bytes.
25 */
26gp_io *gp_io_zlib(gp_io *io, size_t comp_size);
27
28/*
29 * Repurposes existing Zlib stream for new decompression.
30 *
31 * Returns zero on success. Returns non-zero on failure and errno is set.
32 */
33int gp_io_zlib_reset(gp_io *io, gp_io *sub_io, size_t comp_size);
34
35#endif /* LOADERS_GP_IO_ZLIB_H */