blob: e908ec25252d0d8bc074f32edc87b8ea247c6290 [file] [log] [blame]
rscf7012582003-11-25 01:40:27 +00001#ifndef _FLATE_H_
2#define _FLATE_H_ 1
3#if defined(__cplusplus)
4extern "C" {
5#endif
rsc1a0954a2005-01-04 21:18:08 +00006
7AUTOLIB(flate)
rsc97a5e5f2003-11-23 18:25:35 +00008/*
9#pragma lib "libflate.a"
10#pragma src "/sys/src/libflate"
11*/
12
13/*
14 * errors from deflate, deflateinit, deflateblock,
15 * inflate, inflateinit, inflateblock.
16 * convertable to a string by flateerr
17 */
18enum
19{
20 FlateOk = 0,
21 FlateNoMem = -1,
22 FlateInputFail = -2,
23 FlateOutputFail = -3,
24 FlateCorrupted = -4,
rsccbeb0b22006-04-01 19:24:03 +000025 FlateInternal = -5
rsc97a5e5f2003-11-23 18:25:35 +000026};
27
28int deflateinit(void);
29int deflate(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug);
30
31int inflateinit(void);
32int inflate(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
33
34int inflateblock(uchar *dst, int dsize, uchar *src, int ssize);
35int deflateblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
36
37int deflatezlib(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug);
38int inflatezlib(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
39
40int inflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize);
41int deflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
42
43char *flateerr(int err);
44
45ulong *mkcrctab(ulong);
46ulong blockcrc(ulong *tab, ulong crc, void *buf, int n);
47
48ulong adler32(ulong adler, void *buf, int n);
rscf7012582003-11-25 01:40:27 +000049#if defined(__cplusplus)
50}
51#endif
52#endif