X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fcommon%2Fstreams.h;h=e0a9dd8178d79b25454f70356b5c047c8384040c;hb=478b4194aec25c7b92538ccf0b2a67a5debed38a;hp=8952e24dac7ce5717329534e0860998f6419f07a;hpb=6b61ca69e4085875215d30ef75df7703edb0ddd2;p=flatwaifu.git diff --git a/src/common/streams.h b/src/common/streams.h index 8952e24..e0a9dd8 100644 --- a/src/common/streams.h +++ b/src/common/streams.h @@ -4,29 +4,29 @@ #include #include -typedef struct Reader Reader; -typedef struct Writer Writer; +typedef struct Stream Stream; -struct Reader { - long (*getpos)(Reader *r); - void (*setpos)(Reader *r, long pos); - void (*read)(Reader *r, void *data, size_t size, size_t n); +struct Stream { + long (*getpos)(Stream *rw); + void (*setpos)(Stream *rw, long pos); + long (*getlen)(Stream *rw); + void (*read)(Stream *r, void *data, size_t size, size_t n); + void (*write)(Stream *w, const void *data, size_t size, size_t n); }; -struct Writer { - long (*getpos)(Writer *w); - void (*setpos)(Writer *w, long pos); - void (*write)(Writer *w, const void *data, size_t size, size_t n); -}; +long stream_getpos (Stream *s); +void stream_setpos (Stream *s, long pos); + +long stream_getlen (Stream *s); -void stream_read (void *data, size_t size, size_t n, Reader *f); -int8_t stream_read8 (Reader *f); -int16_t stream_read16 (Reader *f); -int32_t stream_read32 (Reader *f); +void stream_read (void *data, size_t size, size_t n, Stream *r); +int8_t stream_read8 (Stream *r); +int16_t stream_read16 (Stream *r); +int32_t stream_read32 (Stream *r); -void stream_write (const void *data, size_t size, size_t n, Writer *w); -void stream_write8 (int8_t x, Writer *w); -void stream_write16 (int16_t x, Writer *w); -void stream_write32 (int32_t x, Writer *w); +void stream_write (const void *data, size_t size, size_t n, Stream *w); +void stream_write8 (int8_t x, Stream *w); +void stream_write16 (int16_t x, Stream *w); +void stream_write32 (int32_t x, Stream *w); #endif /* COMMON_STREAMS_H_INCLUDED */ \ No newline at end of file