plan9port/include/flate.h
rsc f7012583e9 Add the #goo to allow use in C++.
Silence a few more warnings.
Strip down the mkfiles more.
Fix bug in X11 mouse handling, note groups.
2003-11-25 01:40:27 +00:00

50 lines
1.3 KiB
C

#ifndef _FLATE_H_
#define _FLATE_H_ 1
#if defined(__cplusplus)
extern "C" {
#endif
/*
#pragma lib "libflate.a"
#pragma src "/sys/src/libflate"
*/
/*
* errors from deflate, deflateinit, deflateblock,
* inflate, inflateinit, inflateblock.
* convertable to a string by flateerr
*/
enum
{
FlateOk = 0,
FlateNoMem = -1,
FlateInputFail = -2,
FlateOutputFail = -3,
FlateCorrupted = -4,
FlateInternal = -5,
};
int deflateinit(void);
int deflate(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug);
int inflateinit(void);
int inflate(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
int inflateblock(uchar *dst, int dsize, uchar *src, int ssize);
int deflateblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
int deflatezlib(void *wr, int (*w)(void*, void*, int), void *rr, int (*r)(void*, void*, int), int level, int debug);
int inflatezlib(void *wr, int (*w)(void*, void*, int), void *getr, int (*get)(void*));
int inflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize);
int deflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize, int level, int debug);
char *flateerr(int err);
ulong *mkcrctab(ulong);
ulong blockcrc(ulong *tab, ulong crc, void *buf, int n);
ulong adler32(ulong adler, void *buf, int n);
#if defined(__cplusplus)
}
#endif
#endif