xref: /plan9/sys/include/flate.h (revision 80ee5cbfe36716af62da8896207e9763b8e3d760)
1 #pragma	lib	"libflate.a"
2 #pragma	src	"/sys/src/libflate"
3 
4 /*
5  * errors from deflate, deflateinit, deflateblock,
6  * inflate, inflateinit, inflateblock.
7  * convertable to a string by flateerr
8  */
9 enum
10 {
11 	FlateOk			= 0,
12 	FlateNoMem		= -1,
13 	FlateInputFail		= -2,
14 	FlateOutputFail		= -3,
15 	FlateCorrupted		= -4,
16 	FlateInternal		= -5,
17 };
18 
19 int	deflateinit(void);
20 int	deflate(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug);
21 
22 int	inflateinit(void);
23 int	inflate(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
24 
25 int	inflateblock(uchar *dst, int dsize, uchar *src, int ssize);
26 int	deflateblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
27 
28 int	deflatezlib(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug);
29 int	inflatezlib(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
30 
31 int	inflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize);
32 int	deflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
33 
34 char	*flateerr(int err);
35 
36 ulong	*mkcrctab(ulong);
37 ulong	blockcrc(ulong *tab, ulong crc, void *buf, int n);
38 
39 ulong	adler32(ulong adler, void *buf, int n);
40