| Index: third_party/libusb/src/libusb/hotplug.h
|
| diff --git a/third_party/libusb/src/libusb/hotplug.h b/third_party/libusb/src/libusb/hotplug.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..614ddbcff05a9bf0e7cdd3f87e3d5f512f56afa3
|
| --- /dev/null
|
| +++ b/third_party/libusb/src/libusb/hotplug.h
|
| @@ -0,0 +1,82 @@
|
| +/* -*- Mode: C; indent-tabs-mode:t ; c-basic-offset:8 -*- */
|
| +/*
|
| + * Hotplug support for libusbx
|
| + * Copyright © 2012-2013 Nathan Hjelm <hjelmn@mac.com>
|
| + * Copyright © 2012-2013 Peter Stuge <peter@stuge.se>
|
| + *
|
| + * This library is free software; you can redistribute it and/or
|
| + * modify it under the terms of the GNU Lesser General Public
|
| + * License as published by the Free Software Foundation; either
|
| + * version 2.1 of the License, or (at your option) any later version.
|
| + *
|
| + * This library is distributed in the hope that it will be useful,
|
| + * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
| + * Lesser General Public License for more details.
|
| + *
|
| + * You should have received a copy of the GNU Lesser General Public
|
| + * License along with this library; if not, write to the Free Software
|
| + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
| + */
|
| +
|
| +#if !defined(USBI_HOTPLUG_H)
|
| +#define USBI_HOTPLUG_H
|
| +
|
| +#ifndef LIBUSBI_H
|
| +#include "libusbi.h"
|
| +#endif
|
| +
|
| +/** \ingroup hotplug
|
| + * The hotplug callback structure. The user populates this structure with
|
| + * libusb_hotplug_prepare_callback() and then calls libusb_hotplug_register_callback()
|
| + * to receive notification of hotplug events.
|
| + */
|
| +struct libusb_hotplug_callback {
|
| + /** Context this callback is associated with */
|
| + struct libusb_context *ctx;
|
| +
|
| + /** Vendor ID to match or LIBUSB_HOTPLUG_MATCH_ANY */
|
| + int vendor_id;
|
| +
|
| + /** Product ID to match or LIBUSB_HOTPLUG_MATCH_ANY */
|
| + int product_id;
|
| +
|
| + /** Device class to match or LIBUSB_HOTPLUG_MATCH_ANY */
|
| + int dev_class;
|
| +
|
| + /** Hotplug callback flags */
|
| + libusb_hotplug_flag flags;
|
| +
|
| + /** Event(s) that will trigger this callback */
|
| + libusb_hotplug_event events;
|
| +
|
| + /** Callback function to invoke for matching event/device */
|
| + libusb_hotplug_callback_fn cb;
|
| +
|
| + /** Handle for this callback (used to match on deregister) */
|
| + libusb_hotplug_callback_handle handle;
|
| +
|
| + /** User data that will be passed to the callback function */
|
| + void *user_data;
|
| +
|
| + /** Callback is marked for deletion */
|
| + int needs_free;
|
| +
|
| + /** List this callback is registered in (ctx->hotplug_cbs) */
|
| + struct list_head list;
|
| +};
|
| +
|
| +typedef struct libusb_hotplug_callback libusb_hotplug_callback;
|
| +
|
| +struct libusb_hotplug_message {
|
| + libusb_hotplug_event event;
|
| + struct libusb_device *device;
|
| +};
|
| +
|
| +typedef struct libusb_hotplug_message libusb_hotplug_message;
|
| +
|
| +void usbi_hotplug_deregister_all(struct libusb_context *ctx);
|
| +void usbi_hotplug_match(struct libusb_context *ctx, struct libusb_device *dev,
|
| + libusb_hotplug_event event);
|
| +
|
| +#endif
|
|
|