1#include "qemu/osdep.h"
2#include "hw/stream.h"
3#include "qemu/module.h"
4
5size_t
6stream_push(StreamSlave *sink, uint8_t *buf, size_t len)
7{
8 StreamSlaveClass *k = STREAM_SLAVE_GET_CLASS(sink);
9
10 return k->push(sink, buf, len);
11}
12
13bool
14stream_can_push(StreamSlave *sink, StreamCanPushNotifyFn notify,
15 void *notify_opaque)
16{
17 StreamSlaveClass *k = STREAM_SLAVE_GET_CLASS(sink);
18
19 return k->can_push ? k->can_push(sink, notify, notify_opaque) : true;
20}
21
22static const TypeInfo stream_slave_info = {
23 .name = TYPE_STREAM_SLAVE,
24 .parent = TYPE_INTERFACE,
25 .class_size = sizeof(StreamSlaveClass),
26};
27
28
29static void stream_slave_register_types(void)
30{
31 type_register_static(&stream_slave_info);
32}
33
34type_init(stream_slave_register_types)
35