aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2020-04-23 21:52:24 -0700
committerNicholas Noll <nbnoll@eml.cc>2020-04-23 21:52:24 -0700
commit1f166f0a4ed9ed32ade1ed21a571c9b2d0171ebc (patch)
tree7e5e3258aaa8b82bcc783f79b7fd7285c34e7a32 /include
parent04622b678ab6c623b63d1f69c36c22610dc920f2 (diff)
fix: gzip macro error
Diffstat (limited to 'include')
-rw-r--r--include/libn.h35
1 files changed, 27 insertions, 8 deletions
diff --git a/include/libn.h b/include/libn.h
index 6547713..43600c0 100644
--- a/include/libn.h
+++ b/include/libn.h
@@ -176,17 +176,36 @@ typedef struct io·ReadWriter
// -----------------------------------------------------------------------------
// libflate
+// NOTE: Experimental!
-typedef struct gz·Reader gz·Reader;
-typedef struct gz·Writer gz·Writer;
+typedef struct flate·Reader flate·Reader;
+typedef struct flate·Writer flate·Writer;
-gz·Reader *gz·newreader(io·Reader rdr, void* r, mem·Allocator mem, void* m);
-int gz·read(gz·Reader *rdr, int sz, int n, void *buf);
-error gz·freereader(gz·Reader *rdr);
+flate·Reader *flate·newreader(io·Reader rdr, void* r, mem·Allocator mem, void* m);
+int flate·read(flate·Reader *rdr, int sz, int n, void *buf);
+error flate·freereader(flate·Reader *rdr);
-gz·Writer *gz·newwriter(io·Writer wtr, void* w, mem·Allocator mem, void* m);
-error gz·freewriter(gz·Writer *wtr);
-int gz·write(gz·Writer *wtr, int sz, int n, void *buf);
+flate·Writer *flate·newwriter(io·Writer wtr, void* w, mem·Allocator mem, void* m);
+error flate·freewriter(flate·Writer *wtr);
+int flate·write(flate·Writer *wtr, int sz, int n, void *buf);
+
+// -----------------------------------------------------------------------------
+// libgz
+
+typedef void gz·Stream;
+
+gz·Stream* gz·open(byte *path, byte *mode);
+error 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);
+error gz·ungetbyte(gz·Stream *s, byte c);
+int gz·write(gz·Stream *s, int sz, int n, void* buf);
+error gz·putbyte(gz·Stream *s, byte str);
+error gz·putstring(gz·Stream *s, byte *str);
+int gz·printf(gz·Stream *s, byte *fmt, ...);
+error gz·flush(gz·Stream *s);
+vlong gz·seek(gz·Stream *s, long off, enum SeekPos whence);
// -----------------------------------------------------------------------------
// Error handling functions.