1 /*
2  * Vhost-user RNG virtio device
3  *
4  * Copyright (c) 2021 Mathieu Poirier <mathieu.poirier@linaro.org>
5  *
6  * SPDX-License-Identifier: GPL-2.0-or-later
7  */
8 
9 #ifndef QEMU_VHOST_USER_RNG_H
10 #define QEMU_VHOST_USER_RNG_H
11 
12 #include "hw/virtio/virtio.h"
13 #include "hw/virtio/vhost.h"
14 #include "hw/virtio/vhost-user.h"
15 #include "chardev/char-fe.h"
16 
17 #define TYPE_VHOST_USER_RNG "vhost-user-rng"
18 OBJECT_DECLARE_SIMPLE_TYPE(VHostUserRNG, VHOST_USER_RNG)
19 
20 struct VHostUserRNG {
21     /*< private >*/
22     VirtIODevice parent;
23     CharBackend chardev;
24     struct vhost_virtqueue *vhost_vq;
25     struct vhost_dev vhost_dev;
26     VhostUserState vhost_user;
27     VirtQueue *req_vq;
28     bool connected;
29 
30     /*< public >*/
31 };
32 
33 #endif /* QEMU_VHOST_USER_RNG_H */
34