X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fcommon%2Fstreams.c;h=76edaaba1e32fd35606c0afc8e9e75d15b219241;hb=65130d9f6581e4bd39ceae50d820c9774e4972a9;hp=46e756b18b66acf0d36f93022f696ef8327639f0;hpb=10bdd396f0cd0ff1fc0a504cd41949ff39937b30;p=flatwaifu.git diff --git a/src/common/streams.c b/src/common/streams.c index 46e756b..76edaab 100644 --- a/src/common/streams.c +++ b/src/common/streams.c @@ -4,42 +4,50 @@ #include #include -void stream_read (void *data, size_t size, size_t n, Reader *r) { +long stream_getpos (Stream *s) { + return s->getpos(s); +} + +void stream_setpos (Stream *s, long pos) { + s->setpos(s, pos); +} + +void stream_read (void *data, size_t size, size_t n, Stream *r) { r->read(r, data, size, n); } -int8_t stream_read8 (Reader *r) { +int8_t stream_read8 (Stream *r) { int8_t x; r->read(r, &x, 1, 1); return x; } -int16_t stream_read16 (Reader *r) { +int16_t stream_read16 (Stream *r) { int16_t x; r->read(r, &x, 2, 1); return short2host(x); } -int32_t stream_read32 (Reader *r) { +int32_t stream_read32 (Stream *r) { int32_t x; r->read(r, &x, 4, 1); return int2host(x); } -void stream_write (const void *data, size_t size, size_t n, Writer *w) { +void stream_write (const void *data, size_t size, size_t n, Stream *w) { w->write(w, data, size, n); } -void stream_write8 (int8_t x, Writer *w) { +void stream_write8 (int8_t x, Stream *w) { w->write(w, &x, 1, 1); } -void stream_write16 (int16_t x, Writer *w) { +void stream_write16 (int16_t x, Stream *w) { int16_t y = short2host(x); w->write(w, &y, 2, 1); } -void stream_write32 (int32_t x, Writer *w) { +void stream_write32 (int32_t x, Stream *w) { int32_t y = int2host(x); w->write(w, &y, 4, 1); }