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: Stefan Weil <sw@weilnetz.de>
Message-id: 1458630800-10088-1-git-send-email-sw@weilnetz.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Stefan Weil 2016-03-22 08:13:20 +01:00 committed by Gerd Hoffmann
parent 1f66fe5778
commit a277c3e094
1 changed files with 12 additions and 1 deletions

View File

@ -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;
}