• Home
  • Raw
  • Download

Lines Matching refs:hUSB

139     HUSB hUSB = new(std::nothrow) HdcUSB();  in DetectMyNeed()  local
140 if (hUSB == nullptr) { in DetectMyNeed()
144 hUSB->device = device; in DetectMyNeed()
146 int childRet = OpenDeviceMyNeed(hUSB); in DetectMyNeed()
148 delete hUSB; in DetectMyNeed()
151 libusb_release_interface(hUSB->devHandle, hUSB->interfaceNumber); in DetectMyNeed()
152 libusb_close(hUSB->devHandle); in DetectMyNeed()
153 hUSB->devHandle = nullptr; in DetectMyNeed()
155 …WRITE_LOG(LOG_INFO, "Needed device found, busid:%d devid:%d connectkey:%s", hUSB->busId, hUSB->dev… in DetectMyNeed()
156 hUSB->serialNumber.c_str()); in DetectMyNeed()
158 UpdateUSBDaemonInfo(hUSB, nullptr, STATUS_READY); in DetectMyNeed()
161 hSession->connectKey = hUSB->serialNumber; in DetectMyNeed()
165 delete hUSB; in DetectMyNeed()
172 delete hUSB; in DetectMyNeed()
179 HUSB hUSB = hSession->hUSB; in KickoutZombie() local
180 if (!hUSB->devHandle) { in KickoutZombie()
181 … WRITE_LOG(LOG_WARN, "KickoutZombie devHandle:%p isDead:%d", hUSB->devHandle, hSession->isDead); in KickoutZombie()
184 …if (LIBUSB_ERROR_NO_DEVICE != libusb_kernel_driver_active(hUSB->devHandle, hUSB->interfaceNumber))… in KickoutZombie()
187 …WRITE_LOG(LOG_WARN, "KickoutZombie LIBUSB_ERROR_NO_DEVICE serialNumber:%s", hUSB->serialNumber.c_s… in KickoutZombie()
288 int HdcHostUSB::CheckDescriptor(HUSB hUSB, libusb_device_descriptor& desc) in CheckDescriptor() argument
292 uint8_t curBus = libusb_get_bus_number(hUSB->device); in CheckDescriptor()
293 uint8_t curDev = libusb_get_device_address(hUSB->device); in CheckDescriptor()
294 hUSB->busId = curBus; in CheckDescriptor()
295 hUSB->devId = curDev; in CheckDescriptor()
296 if (libusb_get_device_descriptor(hUSB->device, &desc)) { in CheckDescriptor()
303 …childRet = libusb_get_string_descriptor_ascii(hUSB->devHandle, desc.iSerialNumber, (uint8_t *)seri… in CheckDescriptor()
309 hUSB->serialNumber = serialNum; in CheckDescriptor()
316 void HdcHostUSB::UpdateUSBDaemonInfo(HUSB hUSB, HSession hSession, uint8_t connStatus) in UpdateUSBDaemonInfo() argument
321 di.connectKey = hUSB->serialNumber; in UpdateUSBDaemonInfo()
326 di.usbMountPoint = Base::StringFormat("%d-%d", hUSB->busId, hUSB->devId); in UpdateUSBDaemonInfo()
330 pServer->AdminDaemonMap(OP_QUERY, hUSB->serialNumber, pDi); in UpdateUSBDaemonInfo()
332 pServer->AdminDaemonMap(OP_ADD, hUSB->serialNumber, hdiNew); in UpdateUSBDaemonInfo()
334 pServer->AdminDaemonMap(OP_UPDATE, hUSB->serialNumber, hdiNew); in UpdateUSBDaemonInfo()
355 int HdcHostUSB::CheckActiveConfig(libusb_device *device, HUSB hUSB, libusb_device_descriptor& desc) in CheckActiveConfig() argument
364 ret = libusb_set_configuration(hUSB->devHandle, 1); in CheckActiveConfig()
381 CheckUsbEndpoint(ret, hUSB, descConfig); in CheckActiveConfig()
386 void HdcHostUSB::CheckUsbEndpoint(int& ret, HUSB hUSB, libusb_config_descriptor *descConfig) in CheckUsbEndpoint() argument
399 hUSB->interfaceNumber = ifDescriptor->bInterfaceNumber; in CheckUsbEndpoint()
407 hUSB->hostBulkIn.endpoint = ep_desc->bEndpointAddress; in CheckUsbEndpoint()
408 hUSB->hostBulkIn.bulkInOut = true; in CheckUsbEndpoint()
410 hUSB->hostBulkOut.endpoint = ep_desc->bEndpointAddress; in CheckUsbEndpoint()
411 hUSB->wMaxPacketSizeSend = ep_desc->wMaxPacketSize; in CheckUsbEndpoint()
412 hUSB->hostBulkOut.bulkInOut = false; in CheckUsbEndpoint()
415 if (hUSB->hostBulkIn.endpoint == 0 || hUSB->hostBulkOut.endpoint == 0) { in CheckUsbEndpoint()
426 HUSB hUSB = hSession->hUSB; in CancelUsbIo() local
427 std::unique_lock<std::mutex> lock(hUSB->lockDeviceHandle); in CancelUsbIo()
428 if (!hUSB->hostBulkIn.isShutdown) { in CancelUsbIo()
429 if (!hUSB->hostBulkIn.isComplete) { in CancelUsbIo()
430 libusb_cancel_transfer(hUSB->hostBulkIn.transfer); in CancelUsbIo()
431 hUSB->hostBulkIn.cv.notify_one(); in CancelUsbIo()
433 hUSB->hostBulkIn.isShutdown = true; in CancelUsbIo()
436 if (!hUSB->hostBulkOut.isShutdown) { in CancelUsbIo()
437 if (!hUSB->hostBulkOut.isComplete) { in CancelUsbIo()
438 libusb_cancel_transfer(hUSB->hostBulkOut.transfer); in CancelUsbIo()
439 hUSB->hostBulkOut.cv.notify_one(); in CancelUsbIo()
441 hUSB->hostBulkOut.isShutdown = true; in CancelUsbIo()
525 HUSB hUSB = hSession->hUSB; in SubmitUsbBio() local
533 ep = &hUSB->hostBulkOut; in SubmitUsbBio()
536 ep = &hUSB->hostBulkIn; in SubmitUsbBio()
538 hUSB->lockDeviceHandle.lock(); in SubmitUsbBio()
542 …libusb_fill_bulk_transfer(ep->transfer, hUSB->devHandle, ep->endpoint, buf, bufSize, USBBulkCallba… in SubmitUsbBio()
545 hUSB->lockDeviceHandle.unlock(); in SubmitUsbBio()
562 HUSB hUSB = hSession->hUSB; in BeginUsbRead() local
563 hUSB->hostBulkIn.isShutdown = false; in BeginUsbRead()
564 hUSB->hostBulkOut.isShutdown = false; in BeginUsbRead()
567 std::thread([this, hSession, hUSB]() { in BeginUsbRead()
572 nextReadSize = (childRet < hUSB->wMaxPacketSizeSend ? hUSB->wMaxPacketSizeSend in BeginUsbRead()
574 childRet = SubmitUsbBio(hSession, false, hUSB->hostBulkIn.buf, nextReadSize); in BeginUsbRead()
580 hUSB->hostBulkIn.buf, childRet); in BeginUsbRead()
588 hUSB->hostBulkIn.isShutdown = true; in BeginUsbRead()
595 int HdcHostUSB::OpenDeviceMyNeed(HUSB hUSB) in OpenDeviceMyNeed() argument
597 libusb_device *device = hUSB->device; in OpenDeviceMyNeed()
599 if (LIBUSB_SUCCESS != libusb_open(device, &hUSB->devHandle)) { in OpenDeviceMyNeed()
603 libusb_device_handle *handle = hUSB->devHandle; in OpenDeviceMyNeed()
605 if (CheckDescriptor(hUSB, desc)) { in OpenDeviceMyNeed()
608 if (CheckActiveConfig(device, hUSB, desc)) { in OpenDeviceMyNeed()
612 ret = libusb_claim_interface(handle, hUSB->interfaceNumber); in OpenDeviceMyNeed()
617 libusb_close(hUSB->devHandle); in OpenDeviceMyNeed()
618 hUSB->devHandle = nullptr; in OpenDeviceMyNeed()
632 hSession->hUSB->hostBulkOut.isShutdown = true; in SendUSBRaw()
639 bool HdcHostUSB::FindDeviceByID(HUSB hUSB, const char *usbMountPoint, libusb_context *ctxUSB) in FindDeviceByID() argument
675 hUSB->device = listDevices[i]; in FindDeviceByID()
676 int childRet = OpenDeviceMyNeed(hUSB); in FindDeviceByID()
698 HUSB hUSB = hSession->hUSB; in ConnectDetectDaemon() local
699 hUSB->usbMountPoint = pdi->usbMountPoint; in ConnectDetectDaemon()
700 hUSB->ctxUSB = ctxUSB; in ConnectDetectDaemon()
701 if (!FindDeviceByID(hUSB, hUSB->usbMountPoint.c_str(), hUSB->ctxUSB)) { in ConnectDetectDaemon()
705 UpdateUSBDaemonInfo(hUSB, hSession, STATUS_CONNECTED); in ConnectDetectDaemon()
707 hUSB->usbMountPoint = pdi->usbMountPoint; in ConnectDetectDaemon()