static int usb_host_init(void)

{

    const struct libusb_pollfd **poll;

    int i, rc;



    if (ctx) {

        return 0;

    }

    rc = libusb_init(&ctx);

    if (rc != 0) {

        return -1;

    }

    libusb_set_debug(ctx, loglevel);



    libusb_set_pollfd_notifiers(ctx, usb_host_add_fd,

                                usb_host_del_fd,

                                ctx);

    poll = libusb_get_pollfds(ctx);

    if (poll) {

        for (i = 0; poll[i] != NULL; i++) {

            usb_host_add_fd(poll[i]->fd, poll[i]->events, ctx);

        }

    }

    free(poll);

    return 0;

}

static int usb_host_init(void)

{

    const struct libusb_pollfd **poll;

    int i, rc;



    if (ctx) {

        return 0;

    }

    rc = libusb_init(&ctx);

    if (rc != 0) {

        return -1;

    }

    libusb_set_debug(ctx, loglevel);



    libusb_set_pollfd_notifiers(ctx, usb_host_add_fd,

                                usb_host_del_fd,

                                ctx);

    poll = libusb_get_pollfds(ctx);

    if (poll) {

        for (i = 0; poll[i] != NULL; i++) {

            usb_host_add_fd(poll[i]->fd, poll[i]->events, ctx);

        }

    }

    free(poll);

    return 0;

}

static int FUNC_0(void)

{

    const struct libusb_pollfd **VAR_0;

    int VAR_1, VAR_2;



    if (ctx) {

        return 0;

    }

    VAR_2 = libusb_init(&ctx);

    if (VAR_2 != 0) {

        return -1;

    }

    libusb_set_debug(ctx, loglevel);



    libusb_set_pollfd_notifiers(ctx, usb_host_add_fd,

                                usb_host_del_fd,

                                ctx);

    VAR_0 = libusb_get_pollfds(ctx);

    if (VAR_0) {

        for (VAR_1 = 0; VAR_0[VAR_1] != NULL; VAR_1++) {

            usb_host_add_fd(VAR_0[VAR_1]->fd, VAR_0[VAR_1]->events, ctx);

        }

    }

    free(VAR_0);

    return 0;

}

static int FUNC_0(void)
{ const struct libusb_pollfd **VAR_0; int VAR_1, VAR_2; if (ctx) { return 0; } VAR_2 = libusb_init(&ctx); if (VAR_2 != 0) { return -1; } libusb_set_debug(ctx, loglevel); libusb_set_pollfd_notifiers(ctx, usb_host_add_fd,
usb_host_del_fd,
ctx); VAR_0 = libusb_get_pollfds(ctx); if (VAR_0) { for (VAR_1 = 0; VAR_0[VAR_1] != NULL; VAR_1++) { usb_host_add_fd(VAR_0[VAR_1]->fd, VAR_0[VAR_1]->events, ctx); } } free(VAR_0); return 0; }