Lines Matching refs:device
288 void usb_device_close(struct usb_device *device) in usb_device_close() argument
290 close(device->fd); in usb_device_close()
291 free(device); in usb_device_close()
296 struct usb_device *device = calloc(1, sizeof(struct usb_device)); in usb_device_new() local
303 length = read(fd, device->desc, sizeof(device->desc)); in usb_device_new()
308 strncpy(device->dev_name, dev_name, sizeof(device->dev_name) - 1); in usb_device_new()
309 device->fd = fd; in usb_device_new()
310 device->desc_length = length; in usb_device_new()
312 device->writeable = 1; in usb_device_new()
313 return device; in usb_device_new()
317 free(device); in usb_device_new()
321 static int usb_device_reopen_writeable(struct usb_device *device) in usb_device_reopen_writeable() argument
323 if (device->writeable) in usb_device_reopen_writeable()
326 int fd = open(device->dev_name, O_RDWR); in usb_device_reopen_writeable()
328 close(device->fd); in usb_device_reopen_writeable()
329 device->fd = fd; in usb_device_reopen_writeable()
330 device->writeable = 1; in usb_device_reopen_writeable()
337 int usb_device_get_fd(struct usb_device *device) in usb_device_get_fd() argument
339 if (!usb_device_reopen_writeable(device)) in usb_device_get_fd()
341 return device->fd; in usb_device_get_fd()
344 const char* usb_device_get_name(struct usb_device *device) in usb_device_get_name() argument
346 return device->dev_name; in usb_device_get_name()
349 int usb_device_get_unique_id(struct usb_device *device) in usb_device_get_unique_id() argument
352 sscanf(device->dev_name, USB_FS_ID_SCANNER, &bus, &dev); in usb_device_get_unique_id()
372 uint16_t usb_device_get_vendor_id(struct usb_device *device) in usb_device_get_vendor_id() argument
374 struct usb_device_descriptor* desc = (struct usb_device_descriptor*)device->desc; in usb_device_get_vendor_id()
378 uint16_t usb_device_get_product_id(struct usb_device *device) in usb_device_get_product_id() argument
380 struct usb_device_descriptor* desc = (struct usb_device_descriptor*)device->desc; in usb_device_get_product_id()
384 const struct usb_device_descriptor* usb_device_get_device_descriptor(struct usb_device *device) in usb_device_get_device_descriptor() argument
386 return (struct usb_device_descriptor*)device->desc; in usb_device_get_device_descriptor()
389 char* usb_device_get_string(struct usb_device *device, int id) in usb_device_get_string() argument
401 result = usb_device_control_transfer(device, in usb_device_get_string()
410 result = usb_device_control_transfer(device, in usb_device_get_string()
427 char* usb_device_get_manufacturer_name(struct usb_device *device) in usb_device_get_manufacturer_name() argument
429 struct usb_device_descriptor *desc = (struct usb_device_descriptor *)device->desc; in usb_device_get_manufacturer_name()
432 return usb_device_get_string(device, desc->iManufacturer); in usb_device_get_manufacturer_name()
437 char* usb_device_get_product_name(struct usb_device *device) in usb_device_get_product_name() argument
439 struct usb_device_descriptor *desc = (struct usb_device_descriptor *)device->desc; in usb_device_get_product_name()
442 return usb_device_get_string(device, desc->iProduct); in usb_device_get_product_name()
447 char* usb_device_get_serial(struct usb_device *device) in usb_device_get_serial() argument
449 struct usb_device_descriptor *desc = (struct usb_device_descriptor *)device->desc; in usb_device_get_serial()
452 return usb_device_get_string(device, desc->iSerialNumber); in usb_device_get_serial()
457 int usb_device_is_writeable(struct usb_device *device) in usb_device_is_writeable() argument
459 return device->writeable; in usb_device_is_writeable()
462 void usb_descriptor_iter_init(struct usb_device *device, struct usb_descriptor_iter *iter) in usb_descriptor_iter_init() argument
464 iter->config = device->desc; in usb_descriptor_iter_init()
465 iter->config_end = device->desc + device->desc_length; in usb_descriptor_iter_init()
466 iter->curr_desc = device->desc; in usb_descriptor_iter_init()
479 int usb_device_claim_interface(struct usb_device *device, unsigned int interface) in usb_device_claim_interface() argument
481 return ioctl(device->fd, USBDEVFS_CLAIMINTERFACE, &interface); in usb_device_claim_interface()
484 int usb_device_release_interface(struct usb_device *device, unsigned int interface) in usb_device_release_interface() argument
486 return ioctl(device->fd, USBDEVFS_RELEASEINTERFACE, &interface); in usb_device_release_interface()
489 int usb_device_connect_kernel_driver(struct usb_device *device, in usb_device_connect_kernel_driver() argument
497 return ioctl(device->fd, USBDEVFS_IOCTL, &ctl); in usb_device_connect_kernel_driver()
500 int usb_device_control_transfer(struct usb_device *device, in usb_device_control_transfer() argument
512 if (!usb_device_reopen_writeable(device)) in usb_device_control_transfer()
523 return ioctl(device->fd, USBDEVFS_CONTROL, &ctrl); in usb_device_control_transfer()
526 int usb_device_bulk_transfer(struct usb_device *device, in usb_device_bulk_transfer() argument
543 return ioctl(device->fd, USBDEVFS_BULK, &ctrl); in usb_device_bulk_transfer()