stream.h 871 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef STREAM_H
  2. #define STREAM_H 1
  3. #include "qemu-common.h"
  4. #include "qom/object.h"
  5. /* stream slave. Used until qdev provides a generic way. */
  6. #define TYPE_STREAM_SLAVE "stream-slave"
  7. #define STREAM_SLAVE_CLASS(klass) \
  8. OBJECT_CLASS_CHECK(StreamSlaveClass, (klass), TYPE_STREAM_SLAVE)
  9. #define STREAM_SLAVE_GET_CLASS(obj) \
  10. OBJECT_GET_CLASS(StreamSlaveClass, (obj), TYPE_STREAM_SLAVE)
  11. #define STREAM_SLAVE(obj) \
  12. INTERFACE_CHECK(StreamSlave, (obj), TYPE_STREAM_SLAVE)
  13. typedef struct StreamSlave {
  14. Object Parent;
  15. } StreamSlave;
  16. typedef struct StreamSlaveClass {
  17. InterfaceClass parent;
  18. void (*push)(StreamSlave *obj, unsigned char *buf, size_t len,
  19. uint32_t *app);
  20. } StreamSlaveClass;
  21. void
  22. stream_push(StreamSlave *sink, uint8_t *buf, size_t len, uint32_t *app);
  23. #endif /* STREAM_H */