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