xref: /qemu/include/hw/virtio/vhost-user-rng.h (revision 9c0928045ce4b97fc59cb285b7a4b559d21e5da0)
1821d28b8SMathieu Poirier /*
2821d28b8SMathieu Poirier  * Vhost-user RNG virtio device
3821d28b8SMathieu Poirier  *
4821d28b8SMathieu Poirier  * Copyright (c) 2021 Mathieu Poirier <mathieu.poirier@linaro.org>
5821d28b8SMathieu Poirier  *
6821d28b8SMathieu Poirier  * SPDX-License-Identifier: GPL-2.0-or-later
7821d28b8SMathieu Poirier  */
8821d28b8SMathieu Poirier 
9*9c092804SMarkus Armbruster #ifndef QEMU_VHOST_USER_RNG_H
10*9c092804SMarkus Armbruster #define QEMU_VHOST_USER_RNG_H
11821d28b8SMathieu Poirier 
12821d28b8SMathieu Poirier #include "hw/virtio/virtio.h"
13821d28b8SMathieu Poirier #include "hw/virtio/vhost.h"
14821d28b8SMathieu Poirier #include "hw/virtio/vhost-user.h"
15821d28b8SMathieu Poirier #include "chardev/char-fe.h"
16821d28b8SMathieu Poirier 
17821d28b8SMathieu Poirier #define TYPE_VHOST_USER_RNG "vhost-user-rng"
18821d28b8SMathieu Poirier OBJECT_DECLARE_SIMPLE_TYPE(VHostUserRNG, VHOST_USER_RNG)
19821d28b8SMathieu Poirier 
20821d28b8SMathieu Poirier struct VHostUserRNG {
21821d28b8SMathieu Poirier     /*< private >*/
22821d28b8SMathieu Poirier     VirtIODevice parent;
23821d28b8SMathieu Poirier     CharBackend chardev;
24821d28b8SMathieu Poirier     struct vhost_virtqueue *vhost_vq;
25821d28b8SMathieu Poirier     struct vhost_dev vhost_dev;
26821d28b8SMathieu Poirier     VhostUserState vhost_user;
27821d28b8SMathieu Poirier     VirtQueue *req_vq;
28821d28b8SMathieu Poirier     bool connected;
29821d28b8SMathieu Poirier 
30821d28b8SMathieu Poirier     /*< public >*/
31821d28b8SMathieu Poirier };
32821d28b8SMathieu Poirier 
33*9c092804SMarkus Armbruster #endif /* QEMU_VHOST_USER_RNG_H */
34