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