aboutsummaryrefslogtreecommitdiff
path: root/sys/libn/gz.c
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-04-22 10:29:35 -0700
committerNicholas Noll <nbnoll@eml.cc>2021-04-22 10:29:35 -0700
commit4b0ef5bf1644520bcec05a7b2f59d6787eb616f8 (patch)
tree0d92e510096020202a50c177db802dab77fba118 /sys/libn/gz.c
parent4bee1c911c0a710da47b62a31e84535d2e0b7c76 (diff)
chore(refactor): explicit definition of useful interfaces
Diffstat (limited to 'sys/libn/gz.c')
-rw-r--r--sys/libn/gz.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/libn/gz.c b/sys/libn/gz.c
index c1dda9e..79bc13f 100644
--- a/sys/libn/gz.c
+++ b/sys/libn/gz.c
@@ -3,6 +3,23 @@
#include <zlib.h>
+// -----------------------------------------------------------------------
+// interface implementations
+
+/* actual interfaces */
+io·Reader gz·FileReader = (io·Reader){ gz·read };
+io·Peeker gz·FilePeeker = (io·Peeker){ gz·getbyte, gz·ungetbyte };
+io·FullReader gz·FullFileReader = (io·FullReader){ gz·read, gz·getbyte, gz·ungetbyte };
+
+io·Writer gz·FileWriter = (io·Writer){ gz·write };
+io·Putter gz·FilePutter = (io·Putter){ gz·putbyte, gz·putstring };
+io·FullWriter gz·FullFileWriter = (io·FullWriter){ gz·write, gz·putbyte, gz·putstring };
+
+io·ReadWriter gz·FileReadWriter = (io·ReadWriter){ gz·read, gz·write };
+
+// -----------------------------------------------------------------------
+// functions implementations
+
gz·Stream*
gz·open(byte *path, byte *mode)
{