1 #include "qemu/osdep.h" 2 #include "hw/stream.h" 3 #include "qemu/module.h" 4 5 size_t 6 stream_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 13 bool 14 stream_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 22 static const TypeInfo stream_slave_info = { 23 .name = TYPE_STREAM_SLAVE, 24 .parent = TYPE_INTERFACE, 25 .class_size = sizeof(StreamSlaveClass), 26 }; 27 28 29 static void stream_slave_register_types(void) 30 { 31 type_register_static(&stream_slave_info); 32 } 33 34 type_init(stream_slave_register_types) 35