aboutsummaryrefslogtreecommitdiff
path: root/include/flate.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/flate.h')
-rw-r--r--include/flate.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/include/flate.h b/include/flate.h
new file mode 100644
index 00000000..79c888c2
--- /dev/null
+++ b/include/flate.h
@@ -0,0 +1,41 @@
+/*
+#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);