Lines Matching refs:pUrb

156 static inline int op_usbproxy_back_queue_urb(PUSBPROXYDEV pDev, PVUSBURB pUrb)
158 return g_USBProxyDeviceHost.pfnUrbQueue(pDev, pUrb);
177 static inline int op_usbproxy_back_cancel_urb(PUSBPROXYDEV pDev, PVUSBURB pUrb)
179 return g_USBProxyDeviceHost.pfnUrbCancel (pDev, pUrb);
391 PVUSBURB pUrb = NULL;
397 pUrb = op_usbproxy_back_reap_urb(proxy, 0);
399 if (pUrb)
403 Log(("RDPUSB: rdpusb_reap_urbs: cbData = %d, enmStatus = %d\n", pUrb->cbData, pUrb->enmStatus));
405 if (pUrb->enmDir == VUSB_DIRECTION_IN)
407 datalen = pUrb->cbData;
413 out_uint8(s, pUrb->enmStatus);
414 out_uint32_le(s, pUrb->handle);
415 out_uint32_le(s, pUrb->cbData);
419 out_uint8a (s, pUrb->abData, datalen);
425 if (pUrb->pPrev || pUrb->pNext || pUrb == proxy->pUrbs)
428 if (pUrb->pPrev)
430 pUrb->pPrev->pNext = pUrb->pNext;
434 proxy->pUrbs = pUrb->pNext;
437 if (pUrb->pNext)
439 pUrb->pNext->pPrev = pUrb->pPrev;
444 Log(("Going to free %p\n", pUrb));
446 xfree (pUrb);
448 Log(("freed %p\n", pUrb));
686 PVUSBURB pUrb; // struct vusb_urb *urb;
705 pUrb = (PVUSBURB)xmalloc (sizeof (VUSBURB) +
706 (urblen <= sizeof (pUrb->abData)? 0: urblen - sizeof (pUrb->abData))
708 memset (pUrb, 0, sizeof (VUSBURB));
709 pUrb->pDev = &proxy->Dev;
710 pUrb->handle = handle;
711 pUrb->enmType = type;
712 pUrb->enmStatus = 0;
713 pUrb->EndPt = ep;
714 pUrb->enmDir = dir;
715 pUrb->cbData = urblen;
721 in_uint8a (s, pUrb->abData, datalen);
724 rc = op_usbproxy_back_queue_urb(proxy, pUrb);
732 proxy->pUrbs->pPrev = pUrb;
735 pUrb->pNext = proxy->pUrbs;
736 proxy->pUrbs = pUrb;
740 xfree (pUrb);
774 PVUSBURB pUrb = NULL;
787 pUrb = proxy->pUrbs;
789 while (pUrb && pUrb->handle != handle)
791 pUrb = pUrb->pNext;
794 if (pUrb)
796 op_usbproxy_back_cancel_urb(proxy, pUrb);
801 if (pUrb->pPrev)
803 pUrb->pPrev->pNext = pUrb->pNext;
807 proxy->pUrbs = pUrb->pNext;
810 if (pUrb->pNext)
812 pUrb->pNext->pPrev = pUrb->pPrev;
815 pUrb->pNext = pUrb->pPrev = NULL;
817 Log(("Cancelled URB %p\n", pUrb));
819 // xfree (pUrb);