]>
Commit | Line | Data |
---|---|---|
98fc1ada DDAG |
1 | /* |
2 | * Vhost-user filesystem virtio device | |
3 | * | |
4 | * Copyright 2018-2019 Red Hat, Inc. | |
5 | * | |
6 | * Authors: | |
7 | * Stefan Hajnoczi <stefanha@redhat.com> | |
8 | * | |
9 | * This work is licensed under the terms of the GNU GPL, version 2 or | |
10 | * (at your option) any later version. See the COPYING file in the | |
11 | * top-level directory. | |
12 | */ | |
13 | ||
14 | #ifndef _QEMU_VHOST_USER_FS_H | |
15 | #define _QEMU_VHOST_USER_FS_H | |
16 | ||
17 | #include "hw/virtio/virtio.h" | |
18 | #include "hw/virtio/vhost.h" | |
19 | #include "hw/virtio/vhost-user.h" | |
20 | #include "chardev/char-fe.h" | |
db1015e9 | 21 | #include "qom/object.h" |
98fc1ada DDAG |
22 | |
23 | #define TYPE_VHOST_USER_FS "vhost-user-fs-device" | |
db1015e9 | 24 | typedef struct VHostUserFS VHostUserFS; |
8110fa1d EH |
25 | DECLARE_INSTANCE_CHECKER(VHostUserFS, VHOST_USER_FS, |
26 | TYPE_VHOST_USER_FS) | |
98fc1ada DDAG |
27 | |
28 | typedef struct { | |
29 | CharBackend chardev; | |
30 | char *tag; | |
31 | uint16_t num_request_queues; | |
32 | uint16_t queue_size; | |
98fc1ada DDAG |
33 | } VHostUserFSConf; |
34 | ||
db1015e9 | 35 | struct VHostUserFS { |
98fc1ada DDAG |
36 | /*< private >*/ |
37 | VirtIODevice parent; | |
38 | VHostUserFSConf conf; | |
39 | struct vhost_virtqueue *vhost_vqs; | |
40 | struct vhost_dev vhost_dev; | |
41 | VhostUserState vhost_user; | |
2e5bc659 PN |
42 | VirtQueue **req_vqs; |
43 | VirtQueue *hiprio_vq; | |
98fc1ada DDAG |
44 | |
45 | /*< public >*/ | |
db1015e9 | 46 | }; |
98fc1ada DDAG |
47 | |
48 | #endif /* _QEMU_VHOST_USER_FS_H */ |