aboutsummaryrefslogtreecommitdiff
path: root/include/base/gz.h
blob: 3b3a830857fc9974a404a15f70f67ea607847f75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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);