qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

vhost-user-backend.h (1178B)


      1 /*
      2  * QEMU vhost-user backend
      3  *
      4  * Copyright (C) 2018 Red Hat Inc
      5  *
      6  * Authors:
      7  *  Marc-André Lureau <marcandre.lureau@redhat.com>
      8  *
      9  * This work is licensed under the terms of the GNU GPL, version 2 or later.
     10  * See the COPYING file in the top-level directory.
     11  */
     12 #ifndef QEMU_VHOST_USER_BACKEND_H
     13 #define QEMU_VHOST_USER_BACKEND_H
     14 
     15 #include "qom/object.h"
     16 #include "exec/memory.h"
     17 #include "qemu/option.h"
     18 #include "qemu/bitmap.h"
     19 #include "hw/virtio/vhost.h"
     20 #include "hw/virtio/vhost-user.h"
     21 #include "chardev/char-fe.h"
     22 #include "io/channel.h"
     23 
     24 #define TYPE_VHOST_USER_BACKEND "vhost-user-backend"
     25 OBJECT_DECLARE_SIMPLE_TYPE(VhostUserBackend,
     26                            VHOST_USER_BACKEND)
     27 
     28 
     29 
     30 struct VhostUserBackend {
     31     /* private */
     32     Object parent;
     33 
     34     char *chr_name;
     35     CharBackend chr;
     36     VhostUserState vhost_user;
     37     struct vhost_dev dev;
     38     VirtIODevice *vdev;
     39     bool started;
     40     bool completed;
     41 };
     42 
     43 int vhost_user_backend_dev_init(VhostUserBackend *b, VirtIODevice *vdev,
     44                                 unsigned nvqs, Error **errp);
     45 void vhost_user_backend_start(VhostUserBackend *b);
     46 void vhost_user_backend_stop(VhostUserBackend *b);
     47 
     48 #endif