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