Lines Matching refs:handle

91 int register_new_device(usb_handle* handle);
94 int recognized_device(usb_handle* handle);
114 int usb_write(usb_handle* handle, const void* data, int len);
117 int usb_read(usb_handle* handle, void* data, int len);
120 void usb_cleanup_handle(usb_handle* handle);
123 void usb_kick(usb_handle* handle);
126 int usb_close(usb_handle* handle);
153 int register_new_device(usb_handle* handle) { in register_new_device() argument
154 if (nullptr == handle) return 0; in register_new_device()
159 if (known_device_locked(handle->interface_name)) { in register_new_device()
164 handle_list.push_back(handle); in register_new_device()
328 int usb_write(usb_handle* handle, const void* data, int len) { in usb_write() argument
334 if (nullptr == handle) { in usb_write()
341 if (!AdbWriteEndpointSync(handle->adb_write_pipe, (void*)data, (unsigned long)len, &written, in usb_write()
359 if (handle->zero_mask && (len & handle->zero_mask) == 0) { in usb_write()
362 if (!AdbWriteEndpointSync(handle->adb_write_pipe, (void*)data, 0, &dummy, time_out)) { in usb_write()
375 if (nullptr != handle) { in usb_write()
377 usb_kick(handle); in usb_write()
385 int usb_read(usb_handle* handle, void* data, int len) { in usb_read() argument
392 if (nullptr == handle) { in usb_read()
399 if (!AdbReadEndpointSync(handle->adb_read_pipe, data, len, &read, time_out)) { in usb_read()
416 if (nullptr != handle) { in usb_read()
418 usb_kick(handle); in usb_read()
434 void usb_cleanup_handle(usb_handle* handle) { in usb_cleanup_handle() argument
436 if (nullptr != handle) { in usb_cleanup_handle()
437 if (nullptr != handle->interface_name) free(handle->interface_name); in usb_cleanup_handle()
441 if (nullptr != handle->adb_write_pipe) _adb_close_handle(handle->adb_write_pipe); in usb_cleanup_handle()
442 if (nullptr != handle->adb_read_pipe) _adb_close_handle(handle->adb_read_pipe); in usb_cleanup_handle()
443 if (nullptr != handle->adb_interface) _adb_close_handle(handle->adb_interface); in usb_cleanup_handle()
445 handle->interface_name = nullptr; in usb_cleanup_handle()
446 handle->adb_write_pipe = nullptr; in usb_cleanup_handle()
447 handle->adb_read_pipe = nullptr; in usb_cleanup_handle()
448 handle->adb_interface = nullptr; in usb_cleanup_handle()
452 void usb_reset(usb_handle* handle) { in usb_reset() argument
454 usb_kick(handle); in usb_reset()
457 static void usb_kick_locked(usb_handle* handle) { in usb_kick_locked() argument
460 usb_cleanup_handle(handle); in usb_kick_locked()
463 void usb_kick(usb_handle* handle) { in usb_kick() argument
465 if (nullptr != handle) { in usb_kick()
467 usb_kick_locked(handle); in usb_kick()
473 int usb_close(usb_handle* handle) { in usb_close() argument
476 if (nullptr != handle) { in usb_close()
480 handle_list.erase(std::remove(handle_list.begin(), handle_list.end(), handle), in usb_close()
485 usb_cleanup_handle(handle); in usb_close()
486 free(handle); in usb_close()
492 size_t usb_get_max_packet_size(usb_handle* handle) { in usb_get_max_packet_size() argument
493 return handle->max_packet_size; in usb_get_max_packet_size()
496 int recognized_device(usb_handle* handle) { in recognized_device() argument
497 if (nullptr == handle) return 0; in recognized_device()
502 if (!AdbGetUsbDeviceDescriptor(handle->adb_interface, &device_desc)) { in recognized_device()
511 if (!AdbGetUsbInterfaceDescriptor(handle->adb_interface, &interf_desc)) { in recognized_device()
529 if (AdbGetEndpointInformation(handle->adb_interface, 0, &endpoint_info)) { in recognized_device()
530 handle->max_packet_size = endpoint_info.max_packet_size; in recognized_device()
531 handle->zero_mask = endpoint_info.max_packet_size - 1; in recognized_device()
532 D("device zero_mask: 0x%x", handle->zero_mask); in recognized_device()
542 usb_handle* handle = nullptr; in find_devices() local
560 handle = do_usb_open(next_interface->device_name); in find_devices()
561 if (nullptr != handle) { in find_devices()
563 if (recognized_device(handle)) { in find_devices()
575 if (AdbGetSerialNumber(handle->adb_interface, serial_number, &serial_number_len, in find_devices()
578 if (register_new_device(handle)) { in find_devices()
579 register_usb_transport(handle, serial_number, nullptr, 1); in find_devices()
582 usb_cleanup_handle(handle); in find_devices()
583 free(handle); in find_devices()
588 usb_cleanup_handle(handle); in find_devices()
589 free(handle); in find_devices()
592 usb_cleanup_handle(handle); in find_devices()
593 free(handle); in find_devices()