DEADSOFTWARE

common: move endianness converters to common
[flatwaifu.git] / src / common / streams.c
1 #include "common/streams.h"
2 #include "common/endianness.h"
4 #include <stddef.h>
5 #include <stdint.h>
7 void stream_read (void *data, size_t size, size_t n, Reader *r) {
8 r->read(r, data, size, n);
9 }
11 int8_t stream_read8 (Reader *r) {
12 int8_t x;
13 r->read(r, &x, 1, 1);
14 return x;
15 }
17 int16_t stream_read16 (Reader *r) {
18 int16_t x;
19 r->read(r, &x, 2, 1);
20 return short2host(x);
21 }
23 int32_t stream_read32 (Reader *r) {
24 int32_t x;
25 r->read(r, &x, 4, 1);
26 return int2host(x);
27 }
29 void stream_write (const void *data, size_t size, size_t n, Writer *w) {
30 w->write(w, data, size, n);
31 }
33 void stream_write8 (int8_t x, Writer *w) {
34 w->write(w, &x, 1, 1);
35 }
37 void stream_write16 (int16_t x, Writer *w) {
38 int16_t y = short2host(x);
39 w->write(w, &y, 2, 1);
40 }
42 void stream_write32 (int32_t x, Writer *w) {
43 int32_t y = int2host(x);
44 w->write(w, &y, 4, 1);
45 }