2 #include "endianness.h"
7 long stream_getpos (Stream
*s
) {
11 void stream_setpos (Stream
*s
, long pos
) {
15 long stream_getlen (Stream
*s
) {
19 void stream_read (void *data
, size_t size
, size_t n
, Stream
*r
) {
20 r
->read(r
, data
, size
, n
);
23 int8_t stream_read8 (Stream
*r
) {
29 int16_t stream_read16 (Stream
*r
) {
35 int32_t stream_read32 (Stream
*r
) {
41 void stream_write (const void *data
, size_t size
, size_t n
, Stream
*w
) {
42 w
->write(w
, data
, size
, n
);
45 void stream_write8 (int8_t x
, Stream
*w
) {
46 w
->write(w
, &x
, 1, 1);
49 void stream_write16 (int16_t x
, Stream
*w
) {
50 int16_t y
= short2host(x
);
51 w
->write(w
, &y
, 2, 1);
54 void stream_write32 (int32_t x
, Stream
*w
) {
55 int32_t y
= int2host(x
);
56 w
->write(w
, &y
, 4, 1);