1/* SPDX-License-Identifier: BSD-3-Clause */
2#ifndef STREAM_H_
3#define STREAM_H_
4
5#include "libslirp.h"
6
7typedef struct SlirpIStream {
8 SlirpReadCb read_cb;
9 void *opaque;
10} SlirpIStream;
11
12typedef struct SlirpOStream {
13 SlirpWriteCb write_cb;
14 void *opaque;
15} SlirpOStream;
16
17bool slirp_istream_read(SlirpIStream *f, void *buf, size_t size);
18bool slirp_ostream_write(SlirpOStream *f, const void *buf, size_t size);
19
20uint8_t slirp_istream_read_u8(SlirpIStream *f);
21bool slirp_ostream_write_u8(SlirpOStream *f, uint8_t b);
22
23uint16_t slirp_istream_read_u16(SlirpIStream *f);
24bool slirp_ostream_write_u16(SlirpOStream *f, uint16_t b);
25
26uint32_t slirp_istream_read_u32(SlirpIStream *f);
27bool slirp_ostream_write_u32(SlirpOStream *f, uint32_t b);
28
29int16_t slirp_istream_read_i16(SlirpIStream *f);
30bool slirp_ostream_write_i16(SlirpOStream *f, int16_t b);
31
32int32_t slirp_istream_read_i32(SlirpIStream *f);
33bool slirp_ostream_write_i32(SlirpOStream *f, int32_t b);
34
35#endif /* STREAM_H_ */
36