198fc1adaSDr. David Alan Gilbert /* 298fc1adaSDr. David Alan Gilbert * Vhost-user filesystem virtio device 398fc1adaSDr. David Alan Gilbert * 498fc1adaSDr. David Alan Gilbert * Copyright 2018-2019 Red Hat, Inc. 598fc1adaSDr. David Alan Gilbert * 698fc1adaSDr. David Alan Gilbert * Authors: 798fc1adaSDr. David Alan Gilbert * Stefan Hajnoczi <stefanha@redhat.com> 898fc1adaSDr. David Alan Gilbert * 998fc1adaSDr. David Alan Gilbert * This work is licensed under the terms of the GNU GPL, version 2 or 1098fc1adaSDr. David Alan Gilbert * (at your option) any later version. See the COPYING file in the 1198fc1adaSDr. David Alan Gilbert * top-level directory. 1298fc1adaSDr. David Alan Gilbert */ 1398fc1adaSDr. David Alan Gilbert 14*9c092804SMarkus Armbruster #ifndef QEMU_VHOST_USER_FS_H 15*9c092804SMarkus Armbruster #define QEMU_VHOST_USER_FS_H 1698fc1adaSDr. David Alan Gilbert 1798fc1adaSDr. David Alan Gilbert #include "hw/virtio/virtio.h" 1898fc1adaSDr. David Alan Gilbert #include "hw/virtio/vhost.h" 1998fc1adaSDr. David Alan Gilbert #include "hw/virtio/vhost-user.h" 2098fc1adaSDr. David Alan Gilbert #include "chardev/char-fe.h" 21db1015e9SEduardo Habkost #include "qom/object.h" 2298fc1adaSDr. David Alan Gilbert 2398fc1adaSDr. David Alan Gilbert #define TYPE_VHOST_USER_FS "vhost-user-fs-device" 248063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(VHostUserFS, VHOST_USER_FS) 2598fc1adaSDr. David Alan Gilbert 2698fc1adaSDr. David Alan Gilbert typedef struct { 2798fc1adaSDr. David Alan Gilbert CharBackend chardev; 2898fc1adaSDr. David Alan Gilbert char *tag; 2998fc1adaSDr. David Alan Gilbert uint16_t num_request_queues; 3098fc1adaSDr. David Alan Gilbert uint16_t queue_size; 3198fc1adaSDr. David Alan Gilbert } VHostUserFSConf; 3298fc1adaSDr. David Alan Gilbert 33db1015e9SEduardo Habkost struct VHostUserFS { 3498fc1adaSDr. David Alan Gilbert /*< private >*/ 3598fc1adaSDr. David Alan Gilbert VirtIODevice parent; 3698fc1adaSDr. David Alan Gilbert VHostUserFSConf conf; 3798fc1adaSDr. David Alan Gilbert struct vhost_virtqueue *vhost_vqs; 3898fc1adaSDr. David Alan Gilbert struct vhost_dev vhost_dev; 3998fc1adaSDr. David Alan Gilbert VhostUserState vhost_user; 402e5bc659SPan Nengyuan VirtQueue **req_vqs; 412e5bc659SPan Nengyuan VirtQueue *hiprio_vq; 426da32fe5SLaszlo Ersek int32_t bootindex; 4398fc1adaSDr. David Alan Gilbert 4498fc1adaSDr. David Alan Gilbert /*< public >*/ 45db1015e9SEduardo Habkost }; 4698fc1adaSDr. David Alan Gilbert 47*9c092804SMarkus Armbruster #endif /* QEMU_VHOST_USER_FS_H */ 48