stream.c 761 字节
Newer Older
P
Peter Maydell 已提交
1
#include "qemu/osdep.h"
2
#include "hw/stream.h"
3

P
Peter Crosthwaite 已提交
4
size_t
5
stream_push(StreamSlave *sink, uint8_t *buf, size_t len)
6 7 8
{
    StreamSlaveClass *k =  STREAM_SLAVE_GET_CLASS(sink);

9
    return k->push(sink, buf, len);
P
Peter Crosthwaite 已提交
10 11 12 13 14 15 16 17 18
}

bool
stream_can_push(StreamSlave *sink, StreamCanPushNotifyFn notify,
                void *notify_opaque)
{
    StreamSlaveClass *k =  STREAM_SLAVE_GET_CLASS(sink);

    return k->can_push ? k->can_push(sink, notify, notify_opaque) : true;
19 20
}

21
static const TypeInfo stream_slave_info = {
22 23 24 25 26 27 28 29 30 31 32 33
    .name          = TYPE_STREAM_SLAVE,
    .parent        = TYPE_INTERFACE,
    .class_size = sizeof(StreamSlaveClass),
};


static void stream_slave_register_types(void)
{
    type_register_static(&stream_slave_info);
}

type_init(stream_slave_register_types)