/* * Vhost User library * * Copyright (c) 2016 Nutanix Inc. All rights reserved. * Copyright (c) 2017 Red Hat, Inc. * * Authors: * Marc-André Lureau * Felipe Franciosi * * 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 #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 */