summaryrefslogtreecommitdiff
path: root/core/compress.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/compress.h')
-rw-r--r--core/compress.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/core/compress.h b/core/compress.h
new file mode 100644
index 0000000..64d7dde
--- /dev/null
+++ b/core/compress.h
@@ -0,0 +1,35 @@
+// file : core/compress.h
+// project : Salis-VM
+// author : Paul Oliver <contact@pauloliver.dev>
+
+#pragma once
+
+// index:
+// [section] structs
+// [section] declarations
+
+// ----------------------------------------------------------------------------
+// [section] structs
+// ----------------------------------------------------------------------------
+struct DeflateParams {
+ z_stream strm;
+ size_t size;
+ Bytef *in;
+ Bytef *out;
+};
+
+struct InflateParams {
+ z_stream strm;
+ size_t avail_in;
+ size_t size;
+ Bytef *in;
+ Bytef *out;
+};
+
+// ----------------------------------------------------------------------------
+// [section] declarations
+// ----------------------------------------------------------------------------
+int comp_deflate(struct DeflateParams *params);
+int comp_inflate(struct InflateParams *params);
+void comp_deflate_end(struct DeflateParams *params);
+void comp_inflate_end(struct InflateParams *params);