1 --- lib/libv4lconvert/control/libv4lcontrol.c.orig 2020-04-09 16:29:54 UTC 2 +++ lib/libv4lconvert/control/libv4lcontrol.c 3 @@ -360,6 +360,16 @@ static int v4lcontrol_get_usb_info(struct v4lcontrol_d 4 unsigned short *vendor_id, unsigned short *product_id, 5 int *speed) 6 { 7 +#ifdef __FreeBSD__ 8 +#define WEBCAMD_IOCTL_GET_USB_VENDOR_ID _IOR('q', 250, unsigned short) 9 +#define WEBCAMD_IOCTL_GET_USB_PRODUCT_ID _IOR('q', 251, unsigned short) 10 +#define WEBCAMD_IOCTL_GET_USB_SPEED _IOR('q', 252, unsigned int) 11 + if (ioctl(data->fd, WEBCAMD_IOCTL_GET_USB_VENDOR_ID, vendor_id) == 0 && 12 + ioctl(data->fd, WEBCAMD_IOCTL_GET_USB_PRODUCT_ID, product_id) == 0 && 13 + ioctl(data->fd, WEBCAMD_IOCTL_GET_USB_SPEED, speed) == 0) 14 + return (1); 15 + return (0); 16 +#else 17 FILE *f; 18 int i, minor_dev; 19 struct stat st; 20 @@ -456,6 +466,7 @@ static int v4lcontrol_get_usb_info(struct v4lcontrol_d 21 return 0; /* Should never happen */ 22 23 return 1; 24 +#endif 25 } 26 27 /* 28