| /* |
| * 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 */ |