Lines Matching defs:device

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