Endian-independent binary IO utilities for C
1#define bini_libc_names
2#include <bini.c>
3
4void write(bstream *bs)
5{
6 bputi(bs, 42);
7 bputi(bs, INT32_MAX);
8 bputi(bs, INT32_MIN);
9 bputi(bs, 0);
10}
11
12void read(bstream *bs)
13{
14 printf("life=%d\n", breadi(bs));
15 printf("max i32=%d\n", breadi(bs));
16 printf("min i32=%d\n", breadi(bs));
17 printf("zero=%d\n", breadi(bs));
18}
19
20int main(void)
21{
22 bstream *bs = bnew();
23 write(bs);
24# ifdef x_writebin
25 {
26 FILE *fp = fopen("out.bin", "wb");
27 fwrite(bs->buffer, 1, bs->len, fp);
28 fclose(fp);
29 }
30# endif
31 bdump(stderr, bs);
32 read(bs);
33 bclose(bs);
34}