Commit a277c3e0 authored by Stefan Weil's avatar Stefan Weil Committed by Gerd Hoffmann
Browse files

usb: Support compilation without poll.h



This is a hack to support compilation with Mingw-w64 which provides
a libusb-1.0 package, but no poll.h.

Signed-off-by: default avatarStefan Weil <sw@weilnetz.de>
Message-id: 1458630800-10088-1-git-send-email-sw@weilnetz.de
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 1f66fe57
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -34,7 +34,9 @@
 */

#include "qemu/osdep.h"
#ifndef CONFIG_WIN32
#include <poll.h>
#endif
#include <libusb.h>

#include "qapi/error.h"
@@ -204,6 +206,8 @@ static const char *err_names[] = {
static libusb_context *ctx;
static uint32_t loglevel;

#ifndef CONFIG_WIN32

static void usb_host_handle_fd(void *opaque)
{
    struct timeval tv = { 0, 0 };
@@ -223,9 +227,13 @@ static void usb_host_del_fd(int fd, void *user_data)
    qemu_set_fd_handler(fd, NULL, NULL, NULL);
}

#endif /* !CONFIG_WIN32 */

static int usb_host_init(void)
{
#ifndef CONFIG_WIN32
    const struct libusb_pollfd **poll;
#endif
    int i, rc;

    if (ctx) {
@@ -236,7 +244,9 @@ static int usb_host_init(void)
        return -1;
    }
    libusb_set_debug(ctx, loglevel);

#ifdef CONFIG_WIN32
    /* FIXME: add support for Windows. */
#else
    libusb_set_pollfd_notifiers(ctx, usb_host_add_fd,
                                usb_host_del_fd,
                                ctx);
@@ -247,6 +257,7 @@ static int usb_host_init(void)
        }
    }
    free(poll);
#endif
    return 0;
}