1 /* 2 * Copyright (c) 2017-2018 Intel Corporation 3 * 4 * This work is licensed under the terms of the GNU GPL, version 2. 5 * See the COPYING file in the top-level directory. 6 */ 7 8 #ifndef HW_VIRTIO_VHOST_USER_H 9 #define HW_VIRTIO_VHOST_USER_H 10 11 #include "chardev/char-fe.h" 12 #include "hw/virtio/virtio.h" 13 14 typedef struct VhostUserHostNotifier { 15 MemoryRegion mr; 16 void *addr; 17 bool set; 18 } VhostUserHostNotifier; 19 20 typedef struct VhostUserState { 21 CharBackend *chr; 22 VhostUserHostNotifier notifier[VIRTIO_QUEUE_MAX]; 23 int memory_slots; 24 } VhostUserState; 25 26 bool vhost_user_init(VhostUserState *user, CharBackend *chr, Error **errp); 27 void vhost_user_cleanup(VhostUserState *user); 28 29 #endif 30