| /* | |
| * Vhost User library | |
| * | |
| * Copyright (c) 2016 Nutanix Inc. All rights reserved. | |
| * Copyright (c) 2017 Red Hat, Inc. | |
| * | |
| * Authors: | |
| * Marc-André Lureau <mlureau@redhat.com> | |
| * Felipe Franciosi <felipe@nutanix.com> | |
| * | |
| * This work is licensed under the terms of the GNU GPL, version 2 or | |
| * later. See the COPYING file in the top-level directory. | |
| */ | |
| #ifndef LIBVHOST_USER_GLIB_H | |
| #define LIBVHOST_USER_GLIB_H | |
| #include <glib.h> | |
| #include "libvhost-user.h" | |
| typedef struct VugDev { | |
| VuDev parent; | |
| GHashTable *fdmap; /* fd -> gsource */ | |
| GSource *src; | |
| } VugDev; | |
| bool vug_init(VugDev *dev, uint16_t max_queues, int socket, | |
| vu_panic_cb panic, const VuDevIface *iface); | |
| void vug_deinit(VugDev *dev); | |
| GSource *vug_source_new(VugDev *dev, int fd, GIOCondition cond, | |
| vu_watch_cb vu_cb, gpointer data); | |
| void vug_source_destroy(GSource *src); | |
| #endif /* LIBVHOST_USER_GLIB_H */ |