1 #ifndef COMMON_STREAMS_H_INCLUDED
2 #define COMMON_STREAMS_H_INCLUDED
7 typedef struct Stream Stream
;
10 long (*getpos
)(Stream
*rw
);
11 void (*setpos
)(Stream
*rw
, long pos
);
12 long (*getlen
)(Stream
*rw
);
13 void (*read
)(Stream
*r
, void *data
, size_t size
, size_t n
);
14 void (*write
)(Stream
*w
, const void *data
, size_t size
, size_t n
);
17 long stream_getpos (Stream
*s
);
18 void stream_setpos (Stream
*s
, long pos
);
20 long stream_getlen (Stream
*s
);
22 void stream_read (void *data
, size_t size
, size_t n
, Stream
*r
);
23 int8_t stream_read8 (Stream
*r
);
24 int16_t stream_read16 (Stream
*r
);
25 int32_t stream_read32 (Stream
*r
);
27 void stream_write (const void *data
, size_t size
, size_t n
, Stream
*w
);
28 void stream_write8 (int8_t x
, Stream
*w
);
29 void stream_write16 (int16_t x
, Stream
*w
);
30 void stream_write32 (int32_t x
, Stream
*w
);
32 #endif /* COMMON_STREAMS_H_INCLUDED */