From 4b0ef5bf1644520bcec05a7b2f59d6787eb616f8 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Thu, 22 Apr 2021 10:29:35 -0700 Subject: chore(refactor): explicit definition of useful interfaces --- sys/libn/gz.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'sys/libn/gz.c') 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 +// ----------------------------------------------------------------------- +// 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) { -- cgit v1.2.1