xref: /qemu/subprojects/libvhost-user/libvhost-user-glib.h (revision 8bb7ddb78a1c68f2408a66a61c748330903fd5f2)
1*8bb7ddb7SMarc-André Lureau /*
2*8bb7ddb7SMarc-André Lureau  * Vhost User library
3*8bb7ddb7SMarc-André Lureau  *
4*8bb7ddb7SMarc-André Lureau  * Copyright (c) 2016 Nutanix Inc. All rights reserved.
5*8bb7ddb7SMarc-André Lureau  * Copyright (c) 2017 Red Hat, Inc.
6*8bb7ddb7SMarc-André Lureau  *
7*8bb7ddb7SMarc-André Lureau  * Authors:
8*8bb7ddb7SMarc-André Lureau  *  Marc-André Lureau <mlureau@redhat.com>
9*8bb7ddb7SMarc-André Lureau  *  Felipe Franciosi <felipe@nutanix.com>
10*8bb7ddb7SMarc-André Lureau  *
11*8bb7ddb7SMarc-André Lureau  * This work is licensed under the terms of the GNU GPL, version 2 or
12*8bb7ddb7SMarc-André Lureau  * later.  See the COPYING file in the top-level directory.
13*8bb7ddb7SMarc-André Lureau  */
14*8bb7ddb7SMarc-André Lureau 
15*8bb7ddb7SMarc-André Lureau #ifndef LIBVHOST_USER_GLIB_H
16*8bb7ddb7SMarc-André Lureau #define LIBVHOST_USER_GLIB_H
17*8bb7ddb7SMarc-André Lureau 
18*8bb7ddb7SMarc-André Lureau #include <glib.h>
19*8bb7ddb7SMarc-André Lureau #include "libvhost-user.h"
20*8bb7ddb7SMarc-André Lureau 
21*8bb7ddb7SMarc-André Lureau typedef struct VugDev {
22*8bb7ddb7SMarc-André Lureau     VuDev parent;
23*8bb7ddb7SMarc-André Lureau 
24*8bb7ddb7SMarc-André Lureau     GHashTable *fdmap; /* fd -> gsource */
25*8bb7ddb7SMarc-André Lureau     GSource *src;
26*8bb7ddb7SMarc-André Lureau } VugDev;
27*8bb7ddb7SMarc-André Lureau 
28*8bb7ddb7SMarc-André Lureau void vug_init(VugDev *dev, int socket,
29*8bb7ddb7SMarc-André Lureau               vu_panic_cb panic, const VuDevIface *iface);
30*8bb7ddb7SMarc-André Lureau void vug_deinit(VugDev *dev);
31*8bb7ddb7SMarc-André Lureau 
32*8bb7ddb7SMarc-André Lureau #endif /* LIBVHOST_USER_GLIB_H */
33