aboutsummaryrefslogtreecommitdiff
path: root/include/base/gz.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/base/gz.h')
-rw-r--r--include/base/gz.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/base/gz.h b/include/base/gz.h
new file mode 100644
index 0000000..3b3a830
--- /dev/null
+++ b/include/base/gz.h
@@ -0,0 +1,29 @@
+#pragma once
+
+typedef void gz·Stream;
+
+/* interfaces */
+extern io·Reader gz·Reader;
+extern io·Peeker gz·Peeker;
+extern io·Seeker gz·Seeker;
+extern io·SeekReader gz·SeekReader;
+extern io·PeekReader gz·PeekReader;
+
+extern io·Writer gz·Writer;
+extern io·Putter gz·Putter;
+extern io·PutWriter gz·PutWriter;
+extern io·ReadWriter gz·ReadWriter;
+
+gz·Stream *gz·open(byte *path, byte *mode);
+int gz·close(gz·Stream* s);
+int gz·read(gz·Stream *s, int sz, int n, void* buf);
+int gz·readln(gz·Stream *s, int n, byte *buf);
+byte gz·getbyte(gz·Stream *s);
+int gz·ungetbyte(gz·Stream *s, byte c);
+int gz·write(gz·Stream *s, int sz, int n, void* buf);
+int gz·putbyte(gz·Stream *s, byte str);
+int gz·putstring(gz·Stream *s, byte *str);
+int gz·printf(gz·Stream *s, byte *fmt, ...);
+int gz·flush(gz·Stream *s);
+int gz·seek(gz·Stream *s, long off, enum SeekPos whence);
+long gz·tell(gz·Stream *s);