block: Only the main loop can change AioContexts
[qemu/ar7.git] / contrib / libvhost-user / libvhost-user-glib.h
blob64d539d93ababd81dc5539ed251f8d6b68626039
1 /*
2 * Vhost User library
4 * Copyright (c) 2016 Nutanix Inc. All rights reserved.
5 * Copyright (c) 2017 Red Hat, Inc.
7 * Authors:
8 * Marc-André Lureau <mlureau@redhat.com>
9 * Felipe Franciosi <felipe@nutanix.com>
11 * This work is licensed under the terms of the GNU GPL, version 2 or
12 * later. See the COPYING file in the top-level directory.
15 #ifndef LIBVHOST_USER_GLIB_H
16 #define LIBVHOST_USER_GLIB_H
18 #include <glib.h>
19 #include "libvhost-user.h"
21 typedef struct VugDev {
22 VuDev parent;
24 GHashTable *fdmap; /* fd -> gsource */
25 GSource *src;
26 } VugDev;
28 bool vug_init(VugDev *dev, uint16_t max_queues, int socket,
29 vu_panic_cb panic, const VuDevIface *iface);
30 void vug_deinit(VugDev *dev);
32 GSource *vug_source_new(VugDev *dev, int fd, GIOCondition cond,
33 vu_watch_cb vu_cb, gpointer data);
35 #endif /* LIBVHOST_USER_GLIB_H */