rsc | f701258 | 2003-11-25 01:40:27 +0000 | [diff] [blame] | 1 | #ifndef _FLATE_H_ |
| 2 | #define _FLATE_H_ 1 |
| 3 | #if defined(__cplusplus) |
| 4 | extern "C" { |
| 5 | #endif |
rsc | 1a0954a | 2005-01-04 21:18:08 +0000 | [diff] [blame] | 6 | |
| 7 | AUTOLIB(flate) |
rsc | 97a5e5f | 2003-11-23 18:25:35 +0000 | [diff] [blame] | 8 | /* |
| 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 | */ |
| 18 | enum |
| 19 | { |
| 20 | FlateOk = 0, |
| 21 | FlateNoMem = -1, |
| 22 | FlateInputFail = -2, |
| 23 | FlateOutputFail = -3, |
| 24 | FlateCorrupted = -4, |
rsc | cbeb0b2 | 2006-04-01 19:24:03 +0000 | [diff] [blame] | 25 | FlateInternal = -5 |
rsc | 97a5e5f | 2003-11-23 18:25:35 +0000 | [diff] [blame] | 26 | }; |
| 27 | |
| 28 | int deflateinit(void); |
| 29 | int deflate(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug); |
| 30 | |
| 31 | int inflateinit(void); |
| 32 | int inflate(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*)); |
| 33 | |
| 34 | int inflateblock(uchar *dst, int dsize, uchar *src, int ssize); |
| 35 | int deflateblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug); |
| 36 | |
| 37 | int deflatezlib(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug); |
| 38 | int inflatezlib(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*)); |
| 39 | |
| 40 | int inflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize); |
| 41 | int deflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug); |
| 42 | |
| 43 | char *flateerr(int err); |
| 44 | |
| 45 | ulong *mkcrctab(ulong); |
| 46 | ulong blockcrc(ulong *tab, ulong crc, void *buf, int n); |
| 47 | |
| 48 | ulong adler32(ulong adler, void *buf, int n); |
rsc | f701258 | 2003-11-25 01:40:27 +0000 | [diff] [blame] | 49 | #if defined(__cplusplus) |
| 50 | } |
| 51 | #endif |
| 52 | #endif |