21#ifndef FREERDP_CHANNEL_URBDRC_CLIENT_LIBUSB_UDEVICE_H 
   22#define FREERDP_CHANNEL_URBDRC_CLIENT_LIBUSB_UDEVICE_H 
   24#include <winpr/windows.h> 
   27#include "urbdrc_types.h" 
   28#include "urbdrc_main.h" 
   31typedef struct libusb_device LIBUSB_DEVICE;
 
   32typedef struct libusb_device_handle LIBUSB_DEVICE_HANDLE;
 
   33typedef struct libusb_device_descriptor LIBUSB_DEVICE_DESCRIPTOR;
 
   34typedef struct libusb_config_descriptor LIBUSB_CONFIG_DESCRIPTOR;
 
   35typedef struct libusb_interface LIBUSB_INTERFACE;
 
   36typedef struct libusb_interface_descriptor LIBUSB_INTERFACE_DESCRIPTOR;
 
   37typedef struct libusb_endpoint_descriptor LIBUSB_ENDPOINT_DESCEIPTOR;
 
   49  IWTSVirtualChannelManager* channelManager;
 
   56  int isCompositeDevice;
 
   58  LIBUSB_DEVICE_HANDLE* libusb_handle;
 
   59  LIBUSB_DEVICE_HANDLE* hub_handle;
 
   60  LIBUSB_DEVICE* libusb_dev;
 
   61  LIBUSB_DEVICE_DESCRIPTOR* devDescriptor;
 
   63  LIBUSB_CONFIG_DESCRIPTOR* LibusbConfig;
 
   65  wArrayList* request_queue;
 
 
   71size_t udev_new_by_id(
URBDRC_PLUGIN* urbdrc, libusb_context* ctx, UINT16 idVendor, UINT16 idProduct,
 
   72                      IUDEVICE*** devArray);
 
   73IUDEVICE* udev_new_by_addr(
URBDRC_PLUGIN* urbdrc, libusb_context* context, BYTE bus_number,
 
   75const char* usb_interface_class_to_string(uint8_t 
class);