#define LIBUSB_H
#define inline
#define _SSIZE_T_DEFINED
#include <basetsd.h>
#include <limits.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>
#define LIBUSB_FLEXIBLE_ARRAY
#define LIBUSB_FLEXIBLE_ARRAY
#include <windows.h>
#include <winsock.h>
#define LIBUSB_DEPRECATED_FOR
#define LIBUSB_DEPRECATED_FOR
#define LIBUSB_DEPRECATED_FOR
#define LIBUSB_DEPRECATED_FOR
#define LIBUSB_PACKED
#define LIBUSB_PACKED
#define LIBUSB_CALL
#define LIBUSB_CALLV
#define LIBUSB_CALL
#define LIBUSB_CALLV
#define LIBUSB_API_VERSION
#define LIBUSBX_API_VERSION
libusb_cpu_to_le16(const uint16_t)
#define libusb_le16_to_cpu
libusb_class_code
LIBUSB_CLASS_PER_INTERFACE
LIBUSB_CLASS_AUDIO
LIBUSB_CLASS_COMM
LIBUSB_CLASS_HID
LIBUSB_CLASS_PHYSICAL
LIBUSB_CLASS_IMAGE
LIBUSB_CLASS_PTP
LIBUSB_CLASS_PRINTER
LIBUSB_CLASS_MASS_STORAGE
LIBUSB_CLASS_HUB
LIBUSB_CLASS_DATA
LIBUSB_CLASS_SMART_CARD
LIBUSB_CLASS_CONTENT_SECURITY
LIBUSB_CLASS_VIDEO
LIBUSB_CLASS_PERSONAL_HEALTHCARE
LIBUSB_CLASS_DIAGNOSTIC_DEVICE
LIBUSB_CLASS_WIRELESS
LIBUSB_CLASS_MISCELLANEOUS
LIBUSB_CLASS_APPLICATION
LIBUSB_CLASS_VENDOR_SPEC
libusb_descriptor_type
LIBUSB_DT_DEVICE
LIBUSB_DT_CONFIG
LIBUSB_DT_STRING
LIBUSB_DT_INTERFACE
LIBUSB_DT_ENDPOINT
LIBUSB_DT_INTERFACE_ASSOCIATION
LIBUSB_DT_BOS
LIBUSB_DT_DEVICE_CAPABILITY
LIBUSB_DT_HID
LIBUSB_DT_REPORT
LIBUSB_DT_PHYSICAL
LIBUSB_DT_HUB
LIBUSB_DT_SUPERSPEED_HUB
LIBUSB_DT_SS_ENDPOINT_COMPANION
#define LIBUSB_DT_DEVICE_SIZE
#define LIBUSB_DT_CONFIG_SIZE
#define LIBUSB_DT_INTERFACE_SIZE
#define LIBUSB_DT_ENDPOINT_SIZE
#define LIBUSB_DT_ENDPOINT_AUDIO_SIZE
#define LIBUSB_DT_HUB_NONVAR_SIZE
#define LIBUSB_DT_SS_ENDPOINT_COMPANION_SIZE
#define LIBUSB_DT_BOS_SIZE
#define LIBUSB_DT_DEVICE_CAPABILITY_SIZE
#define LIBUSB_BT_USB_2_0_EXTENSION_SIZE
#define LIBUSB_BT_SS_USB_DEVICE_CAPABILITY_SIZE
#define LIBUSB_BT_CONTAINER_ID_SIZE
#define LIBUSB_BT_PLATFORM_DESCRIPTOR_MIN_SIZE
#define LIBUSB_ENDPOINT_ADDRESS_MASK
#define LIBUSB_ENDPOINT_DIR_MASK
libusb_endpoint_direction
LIBUSB_ENDPOINT_OUT
LIBUSB_ENDPOINT_IN
#define LIBUSB_TRANSFER_TYPE_MASK
libusb_endpoint_transfer_type
LIBUSB_ENDPOINT_TRANSFER_TYPE_CONTROL
LIBUSB_ENDPOINT_TRANSFER_TYPE_ISOCHRONOUS
LIBUSB_ENDPOINT_TRANSFER_TYPE_BULK
LIBUSB_ENDPOINT_TRANSFER_TYPE_INTERRUPT
libusb_standard_request
LIBUSB_REQUEST_GET_STATUS
LIBUSB_REQUEST_CLEAR_FEATURE
LIBUSB_REQUEST_SET_FEATURE
LIBUSB_REQUEST_SET_ADDRESS
LIBUSB_REQUEST_GET_DESCRIPTOR
LIBUSB_REQUEST_SET_DESCRIPTOR
LIBUSB_REQUEST_GET_CONFIGURATION
LIBUSB_REQUEST_SET_CONFIGURATION
LIBUSB_REQUEST_GET_INTERFACE
LIBUSB_REQUEST_SET_INTERFACE
LIBUSB_REQUEST_SYNCH_FRAME
LIBUSB_REQUEST_SET_SEL
LIBUSB_SET_ISOCH_DELAY
libusb_request_type
LIBUSB_REQUEST_TYPE_STANDARD
LIBUSB_REQUEST_TYPE_CLASS
LIBUSB_REQUEST_TYPE_VENDOR
LIBUSB_REQUEST_TYPE_RESERVED
libusb_request_recipient
LIBUSB_RECIPIENT_DEVICE
LIBUSB_RECIPIENT_INTERFACE
LIBUSB_RECIPIENT_ENDPOINT
LIBUSB_RECIPIENT_OTHER
#define LIBUSB_ISO_SYNC_TYPE_MASK
libusb_iso_sync_type
LIBUSB_ISO_SYNC_TYPE_NONE
LIBUSB_ISO_SYNC_TYPE_ASYNC
LIBUSB_ISO_SYNC_TYPE_ADAPTIVE
LIBUSB_ISO_SYNC_TYPE_SYNC
#define LIBUSB_ISO_USAGE_TYPE_MASK
libusb_iso_usage_type
LIBUSB_ISO_USAGE_TYPE_DATA
LIBUSB_ISO_USAGE_TYPE_FEEDBACK
LIBUSB_ISO_USAGE_TYPE_IMPLICIT
libusb_supported_speed
LIBUSB_LOW_SPEED_OPERATION
LIBUSB_FULL_SPEED_OPERATION
LIBUSB_HIGH_SPEED_OPERATION
LIBUSB_SUPER_SPEED_OPERATION
libusb_usb_2_0_extension_attributes
LIBUSB_BM_LPM_SUPPORT
libusb_ss_usb_device_capability_attributes
LIBUSB_BM_LTM_SUPPORT
libusb_bos_type
LIBUSB_BT_WIRELESS_USB_DEVICE_CAPABILITY
LIBUSB_BT_USB_2_0_EXTENSION
LIBUSB_BT_SS_USB_DEVICE_CAPABILITY
LIBUSB_BT_CONTAINER_ID
LIBUSB_BT_PLATFORM_DESCRIPTOR
libusb_device_descriptor
bLength
bDescriptorType
bcdUSB
bDeviceClass
bDeviceSubClass
bDeviceProtocol
bMaxPacketSize0
idVendor
idProduct
bcdDevice
iManufacturer
iProduct
iSerialNumber
bNumConfigurations
libusb_endpoint_descriptor
bLength
bDescriptorType
bEndpointAddress
bmAttributes
wMaxPacketSize
bInterval
bRefresh
bSynchAddress
extra
extra_length
libusb_interface_association_descriptor
bLength
bDescriptorType
bFirstInterface
bInterfaceCount
bFunctionClass
bFunctionSubClass
bFunctionProtocol
iFunction
libusb_interface_association_descriptor_array
iad
length
libusb_interface_descriptor
bLength
bDescriptorType
bInterfaceNumber
bAlternateSetting
bNumEndpoints
bInterfaceClass
bInterfaceSubClass
bInterfaceProtocol
iInterface
endpoint
extra
extra_length
libusb_interface
altsetting
num_altsetting
libusb_config_descriptor
bLength
bDescriptorType
wTotalLength
bNumInterfaces
bConfigurationValue
iConfiguration
bmAttributes
MaxPower
interface
extra
extra_length
libusb_ss_endpoint_companion_descriptor
bLength
bDescriptorType
bMaxBurst
bmAttributes
wBytesPerInterval
libusb_bos_dev_capability_descriptor
bLength
bDescriptorType
bDevCapabilityType
dev_capability_data
libusb_bos_descriptor
bLength
bDescriptorType
wTotalLength
bNumDeviceCaps
dev_capability
libusb_usb_2_0_extension_descriptor
bLength
bDescriptorType
bDevCapabilityType
bmAttributes
libusb_ss_usb_device_capability_descriptor
bLength
bDescriptorType
bDevCapabilityType
bmAttributes
wSpeedSupported
bFunctionalitySupport
bU1DevExitLat
bU2DevExitLat
libusb_container_id_descriptor
bLength
bDescriptorType
bDevCapabilityType
bReserved
ContainerID
libusb_platform_descriptor
bLength
bDescriptorType
bDevCapabilityType
bReserved
PlatformCapabilityUUID
CapabilityData
libusb_control_setup
bmRequestType
bRequest
wValue
wIndex
wLength
#define LIBUSB_CONTROL_SETUP_SIZE
libusb_context
libusb_device
libusb_device_handle
libusb_version
major
minor
micro
nano
rc
describe
libusb_context
libusb_device
libusb_device_handle
libusb_speed
LIBUSB_SPEED_UNKNOWN
LIBUSB_SPEED_LOW
LIBUSB_SPEED_FULL
LIBUSB_SPEED_HIGH
LIBUSB_SPEED_SUPER
LIBUSB_SPEED_SUPER_PLUS
libusb_error
LIBUSB_SUCCESS
LIBUSB_ERROR_IO
LIBUSB_ERROR_INVALID_PARAM
LIBUSB_ERROR_ACCESS
LIBUSB_ERROR_NO_DEVICE
LIBUSB_ERROR_NOT_FOUND
LIBUSB_ERROR_BUSY
LIBUSB_ERROR_TIMEOUT
LIBUSB_ERROR_OVERFLOW
LIBUSB_ERROR_PIPE
LIBUSB_ERROR_INTERRUPTED
LIBUSB_ERROR_NO_MEM
LIBUSB_ERROR_NOT_SUPPORTED
LIBUSB_ERROR_OTHER
#define LIBUSB_ERROR_COUNT
libusb_transfer_type
LIBUSB_TRANSFER_TYPE_CONTROL
LIBUSB_TRANSFER_TYPE_ISOCHRONOUS
LIBUSB_TRANSFER_TYPE_BULK
LIBUSB_TRANSFER_TYPE_INTERRUPT
LIBUSB_TRANSFER_TYPE_BULK_STREAM
libusb_transfer_status
LIBUSB_TRANSFER_COMPLETED
LIBUSB_TRANSFER_ERROR
LIBUSB_TRANSFER_TIMED_OUT
LIBUSB_TRANSFER_CANCELLED
LIBUSB_TRANSFER_STALL
LIBUSB_TRANSFER_NO_DEVICE
LIBUSB_TRANSFER_OVERFLOW
libusb_transfer_flags
LIBUSB_TRANSFER_SHORT_NOT_OK
LIBUSB_TRANSFER_FREE_BUFFER
LIBUSB_TRANSFER_FREE_TRANSFER
LIBUSB_TRANSFER_ADD_ZERO_PACKET
libusb_iso_packet_descriptor
length
actual_length
status
libusb_transfer
libusb_transfer_cb_fn
libusb_transfer
dev_handle
flags
endpoint
type
timeout
status
length
actual_length
callback
user_data
buffer
num_iso_packets
iso_packet_desc
libusb_capability
LIBUSB_CAP_HAS_CAPABILITY
LIBUSB_CAP_HAS_HOTPLUG
LIBUSB_CAP_HAS_HID_ACCESS
LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER
libusb_log_level
LIBUSB_LOG_LEVEL_NONE
LIBUSB_LOG_LEVEL_ERROR
LIBUSB_LOG_LEVEL_WARNING
LIBUSB_LOG_LEVEL_INFO
LIBUSB_LOG_LEVEL_DEBUG
libusb_log_cb_mode
LIBUSB_LOG_CB_GLOBAL
LIBUSB_LOG_CB_CONTEXT
libusb_option
LIBUSB_OPTION_LOG_LEVEL
LIBUSB_OPTION_USE_USBDK
LIBUSB_OPTION_NO_DEVICE_DISCOVERY
#define LIBUSB_OPTION_WEAK_AUTHORITY
LIBUSB_OPTION_LOG_CB
LIBUSB_OPTION_MAX
libusb_log_cb
libusb_init_option
option
<anonymous union>
ival
log_cbval
value
libusb_init(libusb_context **);
libusb_init_context(libusb_context **, const struct libusb_init_option *, int);
libusb_exit(libusb_context *);
libusb_set_debug(libusb_context *, int);
libusb_set_log_cb(libusb_context *, libusb_log_cb, int);
libusb_get_version();
libusb_has_capability(uint32_t);
libusb_error_name(int);
libusb_setlocale(const char *);
libusb_strerror(int);
libusb_get_device_list(libusb_context *, libusb_device ***);
libusb_free_device_list(libusb_device **, int);
libusb_ref_device(libusb_device *);
libusb_unref_device(libusb_device *);
libusb_get_configuration(libusb_device_handle *, int *);
libusb_get_device_descriptor(libusb_device *, struct libusb_device_descriptor *);
libusb_get_active_config_descriptor(libusb_device *, struct libusb_config_descriptor **);
libusb_get_config_descriptor(libusb_device *, uint8_t, struct libusb_config_descriptor **);
libusb_get_config_descriptor_by_value(libusb_device *, uint8_t, struct libusb_config_descriptor **);
libusb_free_config_descriptor(struct libusb_config_descriptor *);
libusb_get_ss_endpoint_companion_descriptor(libusb_context *, const struct libusb_endpoint_descriptor *, struct libusb_ss_endpoint_companion_descriptor **);
libusb_free_ss_endpoint_companion_descriptor(struct libusb_ss_endpoint_companion_descriptor *);
libusb_get_bos_descriptor(libusb_device_handle *, struct libusb_bos_descriptor **);
libusb_free_bos_descriptor(struct libusb_bos_descriptor *);
libusb_get_usb_2_0_extension_descriptor(libusb_context *, struct libusb_bos_dev_capability_descriptor *, struct libusb_usb_2_0_extension_descriptor **);
libusb_free_usb_2_0_extension_descriptor(struct libusb_usb_2_0_extension_descriptor *);
libusb_get_ss_usb_device_capability_descriptor(libusb_context *, struct libusb_bos_dev_capability_descriptor *, struct libusb_ss_usb_device_capability_descriptor **);
libusb_free_ss_usb_device_capability_descriptor(struct libusb_ss_usb_device_capability_descriptor *);
libusb_get_container_id_descriptor(libusb_context *, struct libusb_bos_dev_capability_descriptor *, struct libusb_container_id_descriptor **);
libusb_free_container_id_descriptor(struct libusb_container_id_descriptor *);
libusb_get_platform_descriptor(libusb_context *, struct libusb_bos_dev_capability_descriptor *, struct libusb_platform_descriptor **);
libusb_free_platform_descriptor(struct libusb_platform_descriptor *);
libusb_get_bus_number(libusb_device *);
libusb_get_port_number(libusb_device *);
libusb_get_port_numbers(libusb_device *, uint8_t *, int);
libusb_get_port_path(libusb_context *, libusb_device *, uint8_t *, uint8_t);
libusb_get_parent(libusb_device *);
libusb_get_device_address(libusb_device *);
libusb_get_device_speed(libusb_device *);
libusb_get_max_packet_size(libusb_device *, unsigned char);
libusb_get_max_iso_packet_size(libusb_device *, unsigned char);
libusb_get_max_alt_packet_size(libusb_device *, int, int, unsigned char);
libusb_get_interface_association_descriptors(libusb_device *, uint8_t, struct libusb_interface_association_descriptor_array **);
libusb_get_active_interface_association_descriptors(libusb_device *, struct libusb_interface_association_descriptor_array **);
libusb_free_interface_association_descriptors(struct libusb_interface_association_descriptor_array *);
libusb_wrap_sys_device(libusb_context *, intptr_t, libusb_device_handle **);
libusb_open(libusb_device *, libusb_device_handle **);
libusb_close(libusb_device_handle *);
libusb_get_device(libusb_device_handle *);
libusb_set_configuration(libusb_device_handle *, int);
libusb_claim_interface(libusb_device_handle *, int);
libusb_release_interface(libusb_device_handle *, int);
libusb_open_device_with_vid_pid(libusb_context *, uint16_t, uint16_t);
libusb_set_interface_alt_setting(libusb_device_handle *, int, int);
libusb_clear_halt(libusb_device_handle *, unsigned char);
libusb_reset_device(libusb_device_handle *);
libusb_alloc_streams(libusb_device_handle *, uint32_t, unsigned char *, int);
libusb_free_streams(libusb_device_handle *, unsigned char *, int);
libusb_dev_mem_alloc(libusb_device_handle *, size_t);
libusb_dev_mem_free(libusb_device_handle *, unsigned char *, size_t);
libusb_kernel_driver_active(libusb_device_handle *, int);
libusb_detach_kernel_driver(libusb_device_handle *, int);
libusb_attach_kernel_driver(libusb_device_handle *, int);
libusb_set_auto_detach_kernel_driver(libusb_device_handle *, int);
libusb_control_transfer_get_data(struct libusb_transfer *)
libusb_control_transfer_get_setup(struct libusb_transfer *)
libusb_fill_control_setup(unsigned char *, uint8_t, uint8_t, uint16_t, uint16_t, uint16_t)
libusb_alloc_transfer(int);
libusb_submit_transfer(struct libusb_transfer *);
libusb_cancel_transfer(struct libusb_transfer *);
libusb_free_transfer(struct libusb_transfer *);
libusb_transfer_set_stream_id(struct libusb_transfer *, uint32_t);
libusb_transfer_get_stream_id(struct libusb_transfer *);
libusb_fill_control_transfer(struct libusb_transfer *, libusb_device_handle *, unsigned char *, libusb_transfer_cb_fn, void *, unsigned int)
libusb_fill_bulk_transfer(struct libusb_transfer *, libusb_device_handle *, unsigned char, unsigned char *, int, libusb_transfer_cb_fn, void *, unsigned int)
libusb_fill_bulk_stream_transfer(struct libusb_transfer *, libusb_device_handle *, unsigned char, uint32_t, unsigned char *, int, libusb_transfer_cb_fn, void *, unsigned int)
libusb_fill_interrupt_transfer(struct libusb_transfer *, libusb_device_handle *, unsigned char, unsigned char *, int, libusb_transfer_cb_fn, void *, unsigned int)
libusb_fill_iso_transfer(struct libusb_transfer *, libusb_device_handle *, unsigned char, unsigned char *, int, int, libusb_transfer_cb_fn, void *, unsigned int)
libusb_set_iso_packet_lengths(struct libusb_transfer *, unsigned int)
libusb_get_iso_packet_buffer(struct libusb_transfer *, unsigned int)
libusb_get_iso_packet_buffer_simple(struct libusb_transfer *, unsigned int)
libusb_control_transfer(libusb_device_handle *, uint8_t, uint8_t, uint16_t, uint16_t, unsigned char *, uint16_t, unsigned int);
libusb_bulk_transfer(libusb_device_handle *, unsigned char, unsigned char *, int, int *, unsigned int);
libusb_interrupt_transfer(libusb_device_handle *, unsigned char, unsigned char *, int, int *, unsigned int);
libusb_get_descriptor(libusb_device_handle *, uint8_t, uint8_t, unsigned char *, int)
libusb_get_string_descriptor(libusb_device_handle *, uint8_t, uint16_t, unsigned char *, int)
libusb_get_string_descriptor_ascii(libusb_device_handle *, uint8_t, unsigned char *, int);
libusb_try_lock_events(libusb_context *);
libusb_lock_events(libusb_context *);
libusb_unlock_events(libusb_context *);
libusb_event_handling_ok(libusb_context *);
libusb_event_handler_active(libusb_context *);
libusb_interrupt_event_handler(libusb_context *);
libusb_lock_event_waiters(libusb_context *);
libusb_unlock_event_waiters(libusb_context *);
libusb_wait_for_event(libusb_context *, struct timeval *);
libusb_handle_events_timeout(libusb_context *, struct timeval *);
libusb_handle_events_timeout_completed(libusb_context *, struct timeval *, int *);
libusb_handle_events(libusb_context *);
libusb_handle_events_completed(libusb_context *, int *);
libusb_handle_events_locked(libusb_context *, struct timeval *);
libusb_pollfds_handle_timeouts(libusb_context *);
libusb_get_next_timeout(libusb_context *, struct timeval *);
libusb_pollfd
fd
events
libusb_pollfd_added_cb
libusb_pollfd_removed_cb
libusb_get_pollfds(libusb_context *);
libusb_free_pollfds(const struct libusb_pollfd **);
libusb_set_pollfd_notifiers(libusb_context *, libusb_pollfd_added_cb, libusb_pollfd_removed_cb, void *);
libusb_hotplug_callback_handle
libusb_hotplug_event
LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED
LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT
libusb_hotplug_flag
LIBUSB_HOTPLUG_ENUMERATE
#define LIBUSB_HOTPLUG_NO_FLAGS
#define LIBUSB_HOTPLUG_MATCH_ANY
libusb_hotplug_callback_fn
libusb_hotplug_register_callback(libusb_context *, int, int, int, int, int, libusb_hotplug_callback_fn, void *, libusb_hotplug_callback_handle *);
libusb_hotplug_deregister_callback(libusb_context *, libusb_hotplug_callback_handle);
libusb_hotplug_get_user_data(libusb_context *, libusb_hotplug_callback_handle);
libusb_set_option(libusb_context *, enum libusb_option, ...);