Home | History | Annotate | Download | only in os

Lines Matching full:endpoint

66 static int winusb_clear_halt(struct libusb_device_handle *dev_handle, unsigned char endpoint);
82 static int composite_clear_halt(struct libusb_device_handle *dev_handle, unsigned char endpoint);
564 safe_free(priv->usb_interface[iface].endpoint);
571 priv->usb_interface[iface].endpoint = (uint8_t*) calloc(1, if_desc->bNumEndpoints);
572 if (priv->usb_interface[iface].endpoint == NULL) {
578 priv->usb_interface[iface].endpoint[i] = if_desc->endpoint[i].bEndpointAddress;
579 usbi_dbg("(re)assigned endpoint %02X to interface %d", priv->usb_interface[iface].endpoint[i], iface);
1677 safe_free(priv->usb_interface[iface].endpoint);
1694 safe_free(priv->usb_interface[iface].endpoint);
1713 static int windows_clear_halt(struct libusb_device_handle *dev_handle, unsigned char endpoint)
1716 return priv->apib->clear_halt(dev_handle, endpoint);
1828 usbi_err(TRANSFER_CTX(transfer), "unknown endpoint type %d", transfer->type);
1861 usbi_err(ITRANSFER_CTX(itransfer), "unknown endpoint type %d", transfer->type);
1879 usbi_dbg("detected endpoint stall");
1916 usbi_err(ITRANSFER_CTX(itransfer), "unknown endpoint type %d", transfer->type);
2162 static int unsupported_clear_halt(struct libusb_device_handle *dev_handle, unsigned char endpoint) {
2385 endpoint_address =(i==-1)?0:priv->usb_interface[iface].endpoint[i];
2388 usbi_dbg("failed to set PIPE_TRANSFER_TIMEOUT for control endpoint %02X", endpoint_address);
2390 if (i == -1) continue; // Other policies don't apply to control endpoint
2394 usbi_dbg("failed to disable SHORT_PACKET_TERMINATE for endpoint
2398 usbi_dbg("failed to disable IGNORE_SHORT_PACKETS for endpoint %02X", endpoint_address);
2402 usbi_dbg("failed to disable ALLOW_PARTIAL_READS for endpoint %02X", endpoint_address);
2407 usbi_dbg("failed to enable AUTO_CLEAR_STALL for endpoint %02X", endpoint_address);
2521 * Lookup interface by endpoint address. -1 if not found
2532 if (priv->usb_interface[i].endpoint == NULL)
2535 if (priv->usb_interface[i].endpoint[j] == endpoint_address) {
2653 current_interface = interface_by_endpoint(priv, handle_priv, transfer->endpoint);
2655 usbi_err(ctx, "unable to match endpoint to an open interface - cancelling transfer");
2659 usbi_dbg("matched endpoint %02X with interface %d", transfer->endpoint, current_interface);
2671 ret = WinUsb_ReadPipe(wfd.handle, transfer->endpoint, transfer->buffer, transfer->length, NULL, wfd.overlapped);
2674 ret = WinUsb_WritePipe(wfd.handle, transfer->endpoint, transfer->buffer, transfer->length, NULL, wfd.overlapped);
2693 static int winusb_clear_halt(struct libusb_device_handle *dev_handle, unsigned char endpoint)
2703 current_interface = interface_by_endpoint(priv, handle_priv, endpoint);
2705 usbi_err(ctx, "unable to match endpoint to an open interface - cannot clear");
2709 usbi_dbg("matched endpoint %02X with interface %d", endpoint, current_interface);
2712 if (!WinUsb_ResetPipe(winusb_handle, endpoint)) {
2752 if (!WinUsb_AbortPipe(winusb_handle, transfer->endpoint)) {
2793 usbi_dbg("resetting ep %02X", priv->usb_interface[i].endpoint[j]);
2794 if (!WinUsb_AbortPipe(winusb_handle, priv->usb_interface[i].endpoint[j])) {
2796 priv->usb_interface[i].endpoint[j], windows_error_str(0));
2799 if (IS_EPIN(priv->usb_interface[i].endpoint[j])
2800 && (!WinUsb_FlushPipe(winusb_handle, priv->usb_interface[i].endpoint[j])) ) {
2802 priv->usb_interface[i].endpoint[j], windows_error_str(0));
2804 if (!WinUsb_ResetPipe(winusb_handle, priv->usb_interface[i].endpoint[j])) {
2806 priv->usb_interface[i].endpoint[j], windows_error_str(0));
2911 current_interface = interface_by_endpoint(priv, handle_priv, transfer->endpoint);
2913 usbi_err(ctx, "unable to match endpoint to an open interface - cancelling transfer");
2927 current_interface = interface_by_endpoint(priv, handle_priv, transfer->endpoint);
2929 usbi_err(ctx, "unable to match endpoint to an open interface - cancelling transfer");
2936 static int composite_clear_halt(struct libusb_device_handle *dev_handle, unsigned char endpoint)
2943 current_interface = interface_by_endpoint(priv, handle_priv, endpoint);
2945 usbi_err(ctx, "unable to match endpoint to an open interface - cannot clear");
2949 return priv->usb_interface[current_interface].apib->clear_halt(dev_handle, endpoint);